Build, test, and submit your app using Xcode, Apple's integrated development environment.

Xcode Documentation

Posts under Xcode subtopic

Post

Replies

Boosts

Views

Activity

iOS 26 CarPlay Widgets
My company's app has a few widgets and a couple of them we do not want to show up on CarPlay due to safety concerns when iOS 26 releases. I understand Apple's recommended way to prevent users from using your widget in CarPlay is to use the .disfavoredLocations([.carPlay], for: [.systemSmall]), and this puts your widget in the 'Other' section of the widgets. https://developer.apple.com/download/files/CarPlay-Developer-Guide.pdf However, this .carPlay widget location is only available in Xcode 26, and our app cannot be built on Xcode 26 yet due to some build errors. We are able to fix those build errors in a separate branch, but we won't be doing our official release builds on Xcode 26 until it is out of beta, which is usually right before iOS 26 officially releases to general audiences. We release our app versions on a monthly cadence, so the version that will be out when iOS 26 comes out is already in testing. Is there any existing way we can disable this widget on CarPlay so it does not appear to work when tapped? Currently, it opens our CarPlay app, but the CarPlay app does nothing with it. On the iPhone, when you tap the widget it opens our app and performs a function. We don't wan't to disable it on the iPhone, just when it's on CarPlay. We don't have time before the app release to implement the same functionality on our CarPlay app. I haven't found any reliable way to detect if the widget is running in the CarPlay location versus the iPhone home screen. Thanks in advance for any assistance.
0
13
344
Aug ’25
WatchOS Xcode 16.4 to sample live RR intervals from the PPG sensor ERROR
Hi, I am getting an error stating "Argument passed to call that takes no arguments". I want this Apple Watch App to measure and store RR Intervals from the PPG sensor on the Apple Watch for Heart Rate Variability calculations. Please help me fix this, I can't figure it out. Here is my code: heartbeatQuery = HKHeartbeatSeriesQuery(predicate: predicate, dataReceivedHandler: { (query, timeSinceLastBeat, ended, error) in // Switch to main thread for UI updates DispatchQueue.main.async { if let error = error { print("Heartbeat query error: (error.localizedDescription)") self.fetchErrorMessage = "Heartbeat query error: (error.localizedDescription)" // Consider stopping the workout session if the query fails critically // self.stopWorkoutSession() return } if ended { print("Heartbeat query indicates series ended.") } // Append valid RR intervals if timeSinceLastBeat > 0 { self.rrIntervals.append(timeSinceLastBeat) self.beatCount += 1 } } // End DispatchQueue.main.async }) // End query data handler // --- END OF PROBLEMATIC INITIALIZER --- // Execute the query if it was created successfully It recommends the fix as removing this part: '(predicate: predicate, dataReceivedHandler: { (query, timeSinceLastBeat, ended, error) in // Switch to main thread for UI updates DispatchQueue.main.async { if let error = error { print("Heartbeat query error: (error.localizedDescription)") self.fetchErrorMessage = "Heartbeat query error: (error.localizedDescription)" // Consider stopping the workout session if the query fails critically // self.stopWorkoutSession() return } if ended { print("Heartbeat query indicates series ended.") } // Append valid RR intervals if timeSinceLastBeat > 0 { self.rrIntervals.append(timeSinceLastBeat) self.beatCount += 1 } } // End DispatchQueue.main.async })' But after I remove that it says "Cannot assign value of type 'HKHeartbeatSeriesQuery.Type' to type 'HKHeartbeatSeriesQuery'" PLEASE HELP ME Thanks
0
0
118
Apr ’25
SwiftSupport is missing
I'm trying to distribute an app for internal testing but I'm always getting the below error and the SwiftSupport folder is not created although I tried different fixes/configurations. How can I debug/see the reason why the SwiftSupport folder is not generated? Xcode 16.4 Build version 16F6 I tried distributing from the Transporter, Xcode organizer, I tried to archive it both from Xcode and from the command line. There are a couple of answers on StackOverflow, nothing helped. What could be the problem? One of the things I tried: xcodebuild \ -project PhotoBook.xcodeproj \ -scheme PhotoBook \ -configuration Release \ -archivePath Release/PhotoBook.xcarchive \ -destination 'generic/platform=iOS' \ -verbose \ archive xcodebuild \ -exportArchive \ -archivePath Release/PhotoBook.xcarchive \ -exportPath Release \ -exportOptionsPlist ExportOptions.plist \ -destination 'generic/platform=iOS' \ -verbose ExportOptions.plist <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>method</key> <string>app-store-connect</string> <key>teamID</key> <string>T672CQXP54</string> <key>uploadSymbols</key> <true/> <key>uploadBitcode</key> <false/> <key>signingStyle</key> <string>manual</string> <key>provisioningProfiles</key> <dict> <key>com.mandelbrotsc.PhotoBook</key> <string>iOS Distribution Profile</string> </dict> </dict> </plist> The error: ITMS-90426: Invalid Swift Support - The SwiftSupport folder is missing. Rebuild your app using the current public (GM) version of Xcode and resubmit it.
0
1
75
Aug ’25
"package" documents on iCloud Drive don't work in Simulator
Running macOS 15.4.1, Simulator 16.0 (1042.1), various iOS devices (iPhone 16, iPad 13" M4) I log into iCloud and enable iCloud Drive. Running the Files app, I noticed that I can click on "flat" documents (PDF, JPEG, etc) and they work. However, when I click on "package" documents (e.g. represented by a directory behind the scenes), I get a normal download progress, but then an alert "The operation could not be completed. No such file or directory". This seems to happen with all package documents, e.g. Keynote documents or Reality Composer objcap documents. It does not happen on actual devices logged into the same account. I've tried completely deleting and rebuilding the simulator instances in question, with no success.
0
0
77
Apr ’25
Xcode Test Pane for TDD and Unit Tests?
At the last place I worked it took roughly 5 minutes to do an application build. Which in turn made doing any sort of TDD or ever just regular Unit Tests extremely painful to do as the cycle time was simply too long. But that got me thinking. In recent versions of Xcode, Apple added Previews for SwiftUI Views that basically showed code changes to the View in real time. And Previews were made possible by extremely targeted compilation of the view in question. So... what if instead of a Preview pane in the Xcode IDE there was a Test pane the could be displayed such that Tests for a piece of code could be created and run almost immediately? Perhaps by adding a #Testing section to your code #Testing(MyService.self) // Define the entity to be tested. If you could drop the turnaround time AND provide a test playground for service level code that could speed development of such code greatly... and encourage interactive test development at the same time. What do you think?
0
0
163
Apr ’25
Swift Testing Failed to complete Unit Tests -> not enough values to unpack (expected 2, got 1)
I’m migrating some XCTest cases to Swift Testing and hit a runtime error when using tuple arguments within the CI. I don't have an issue when running locally. [2025-08-21 14:22:13.493] [unit_tests] [WARNING] Could not find test status list for -[FooManagerTests testEndpoint(region:enforce:expectedEndpoint:)] [2025-08-21 14:22:18.054] [unit_tests] [ERROR] not enough values to unpack (expected 2, got 1) ##[error]Failed to complete Unit Tests -> not enough values to unpack (expected @Test("Telemetry endpoint routing", arguments: [ (TelemetryRegion.value1, false, Foo.someValue1), (TelemetryRegion.value2, false, Foo.someValue2), (TelemetryRegion.value3, true, Foo.someValue3), (TelemetryRegion.value4, false, Foo.someValue4), ]) func testEndpoint(region: enforce: expectedEndpoint: ) { ... }
0
0
133
Aug ’25
Development Universal Linking
I am trying to setup a unversal linking for my new developing app. but it look like not function well. did any one have some examples or demo domains suggest to use? In fact finally my app is just internal using, user will not suppose connect to internet , how can I using the universal linking without a website ? Thanks
0
0
92
May ’25
Why does dependency analysis work for a script that outputs a folder that is copied in copy bundle resources but not once that script is moved to an aggregate target?
This question is a component of this question and an extension to this question which has been solved. This situation might feel a pinch constructed but it is a simplified version of one step of the original question. Basically in my app I have a script that outputs a folder with a few files inside of it. This folder is output to $(BUILT_PRODUCTS_DIR)/build/ and is referenced via a PBXBuildFile. Because I put a wait in the script (to simulate a long build I have in my real project) it is very obvious when the script is or isn't run. The goal would be for it to run only when its dependencies have changed. The trick is if I put this script as a "run script" phase within my final target dependency analysis works great. The script only runs when the dependencies are updated. However if I put the "run script" phase into an aggregate target then add it as a Target Dependency in the main target Xcode wants to run the script every time. Regardless of if the dependencies have changed. However if you build just the aggregate target alone everything goes just fine. It only builds when it has to. To me this does not quite make sense. I thought that dependency analysis of the script within my aggregate target would be the same regardless of whether that script was within the aggregate target or the main target. In my app I ideally need the aggregate target to be shared by multiple other targets. While I could put the script in each it would be more foolproof to have them share an aggregate target. Why would dependency analysis come to a different conclusion when the script is within an aggregate target that is a target dependency of the main target? If it helps here is the script and the entire project can be found here on GitHub if you would like to play with it. mkdir -p "${SCRIPT_OUTPUT_FILE_0}/build/" echo "Pausing for 10 seconds before creating files..." sleep 10 cat "${SCRIPT_INPUT_FILE_0}" cat > "${SCRIPT_OUTPUT_FILE_0}/build/index.html" << EOF <!DOCTYPE html> <html> <head> <title>Simple Page</title> </head> <body> <h1>Welcome to Simple Page</h1> <p>Generated at: $(date)</p> </body> </html> EOF cat > "${SCRIPT_OUTPUT_FILE_0}/build/page.html" << 'EOF' <!DOCTYPE html> <html> <head> <title>Simple Page</title> </head> <body> </body> </html> EOF
0
0
88
Aug ’25
App Not Archiving After Update
Hi! A couple of months ago my app was archiving just fine. Since an xcode update the build fails. Here is what shows at the end of the log. Thank you in advance for any help! Run custom shell script 'Run Script' Failed to package [project folder] Command PhaseScriptExecution failed with a nonzero exit code
0
0
48
May ’25
load_eligibility_plist errors
I'm just getting started with swift development using Xcode 164 on a MacBook Pro running Sequoia 15.6. When I try to run the simplest "Hello World" app against iPhone simulators, I get the error messages below. I've looked at that location and none of the directory structure /private/var/db/eligibilityd below the 2224B135-8383-4C69-B339-B6DF9D88F6FD folder exists. Just wondering if I have a config error somewhere or if there's somewhere else I should be looking to correct this. It doesn't occur when I run on a physical iPhone device. Error message: load_eligibility_plist: Failed to open /Users/****/Library/Developer/CoreSimulator/Devices/DB1919F3-ECB8-4C55-817C-85B68F083F57/data/Containers/Data/Application/2224B135-8383-4C69-B339-B6DF9D88F6FD/private/var/db/eligibilityd/eligibility.plist: No such file or directory(2) Failed to send CA Event for app launch measurements for ca_event_type: 0 event_name: com.apple.app_launch_measurement.FirstFramePresentationMetric Failed to send CA Event for app launch measurements for ca_event_type: 1 event_name: com.apple.app_launch_measurement.ExtendedLaunchMetrics
0
2
340
Aug ’25
iOS Simulator Keychain Issues After Xcode Reinstall
Hello All I'm encountering an issue with Keychain access in iOS simulators after reinstalling Xcode. My app successfully accesses the Keychain on physical devices, but simulators consistently fail with errors. Details: App uses Keychain to store API keys Works perfectly on physical devices After Xcode reinstall, simulator Keychain access fails Error logs show "Keychain retrieve failed for key with status: -25300" I've properly configured Keychain Sharing entitlements My entitlements file includes: $(AppIdentifierPrefix)******* What I've tried: Resetting simulators Deleting simulator Keychain databases manually Adding Keychain Sharing capability Ensuring entitlements are correct My app worked fine with simulators before reinstalling Xcode, which suggests something changed in the development environment rather than my code. Has anyone encountered similar issues? Is there a recommended approach for handling Keychain access in simulators that's more resilient to Xcode environment changes? Thanks for your help!
0
0
158
Apr ’25
ActivityKit linker error
I have a ContentView in my app which includes the line of code FileUploadProgressAttributes. this struct is defined in a file included in the target FileUploadProgressExtension. and it is an ActivityAttributes. in ContentView I imported FileUploadProgressExtension, and the xcode is able to find the FileUploadProgressAttributes during prebuild. but during build, it gives me Undefined symbols for architecture arm64: "FileUploadProgressExtension.FileUploadProgressAttributes.init(filename: Swift.String) -> FileUploadProgressExtension.FileUploadProgressAttributes the workaround i found is to add the file with the FileUploadProgressAttributes to my app's target, but I'm not sure if this is the right thing to do. When Xcode created the extension for me, it added the extension target as a target dependency of my app. so obviously if i added this file to my app target it makes the extension target pointless. First time working with widgets so I'm not sure if I'm missing something.
0
0
89
May ’25
No FCM token found
The issue I am facing is that even when I run my app from a physical device, I get the error "No FCM token found," while push notifications are enabled in my Xcode capabilities. I don't see the FCM token generated in the users' collection on Firestore. While the code setup seems good, the same error persists. I have implemented the logic to retrieve the FCM token, hat the necessary permissions are granted in my app.Here are my Firestore rules: rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { // Allow authenticated users to read and write their own user data match /users/{userId} { allow read: if request.auth != null; allow update: if request.auth != null && (request.auth.uid == userId || // Allow FCM token updates request.resource.data.diff(resource.data).affectedKeys().hasOnly(['fcmToken'])); allow create: if request.auth != null; match /followers/{followerId} { allow read: if request.auth != null; allow write: if request.auth != null && request.auth.uid == followerId; } match /following/{followingId} { allow read: if request.auth != null; allow write: if request.auth != null && request.auth.uid == userId; } match /blockedUsers/{blockedUserId} { allow read, write: if request.auth != null && request.auth.uid == userId; } } // Messages collection match /messages/{messageId} { allow create: if request.auth != null && (request.resource.data.senderId == request.auth.uid || request.resource.data.receiverId == request.auth.uid); allow read, update, delete: if request.auth != null && (resource.data.senderId == request.auth.uid || resource.data.receiverId == request.auth.uid); } // Chats collection match /chats/{chatId} { allow create: if request.auth != null && request.auth.uid in request.resource.data.participants; allow read, update, delete: if request.auth != null && request.auth.uid in resource.data.participants; } // Call-related documents match /calls/{callId} { allow create: if request.auth != null && request.auth.uid in [request.resource.data.callerId, request.resource.data.receiverId]; allow read, write: if request.auth != null && (request.auth.uid == resource.data.callerId || request.auth.uid == resource.data.receiverId); } // Posts match /posts/{postId} { allow read: if true; allow create, update: if request.auth != null; allow delete: if request.auth != null && request.auth.uid == resource.data.userId; } // Reports match /reports/{reportId} { allow create: if request.auth != null; allow read: if request.auth != null; allow update: if request.auth != null; } // ✅ New livestreams collection rule added here match /livestreams/{document} { allow read, write: if request.auth != null; } } } [my index.js](https://developer.apple.com/forums/content/attachment/bffd0276-ece5-4ce9-b08b-83e8770cb8f2) [My code of class AppDelegate](https://developer.apple.com/forums/content/attachment/abba6a58-d513-49d4-a1d4-dc7dfae56e0a) [code of class AVDelegateWrapper:](https://developer.apple.com/forums/content/attachment/acd15ac0-ba9e-415f-9503-aea88377e92f) ` [struct ContentView](https://developer.apple.com/forums/content/attachment/4f75c535-860e-488f-835b-63c76586ac50) ` [And for after Login code : ](https://developer.apple.com/forums/content/attachment/f6af060e-f2bb-417f-af08-a946dd650474) `
0
0
101
Aug ’25
APNS NULL
this is our code foe fetching the apnstoken - and registering for the FCM and snding it to our servers. - we are consistently getting apns == null import 'dart:io'; import 'package:firebase_messaging/firebase_messaging.dart'; import 'package:firebase_auth/firebase_auth.dart'; import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:firebase_messaging/firebase_messaging.dart'; import 'package:solaris/services/fetch_deviceId.dart'; Future initializeFCM() async { final FirebaseMessaging _firebaseMessaging = FirebaseMessaging.instance; // Request notification permissions for iOS final settings = await _firebaseMessaging.requestPermission(); print('Notifcation Permission Status: ${settings.authorizationStatus}'); String? apnsToken; int retries = 0; const int maxRetries = 60; const Duration retryDelay = Duration(seconds: 2); // Retry fetching the APNs token until it's available or max retries are reached while (apnsToken == null && retries < maxRetries) { print(retries); apnsToken = await _firebaseMessaging.getAPNSToken(); if (apnsToken == null) { await Future.delayed(retryDelay); retries++; } } if (apnsToken != null) { // APNs token is available, proceed to get FCM token String? fcmToken = await _firebaseMessaging.getToken(); if (fcmToken != null) { // Register the device and token with your backend await registerDeviceAndToken(fcmToken); } else { // Handle the case where FCM token is still null print('FCM token is null.'); } } else { // Handle the case where APNs token is not available after retries print('APNs token not available after retries.'); } } Future registerDeviceAndToken(String fcmToken) async { //fcmToken = fcmToken; print(fcmToken); final user = FirebaseAuth.instance.currentUser; if (user == null) { print('❌ User not logged in'); return; } final deviceId = await DeviceInfoService.getUniqueDeviceId(); //final fcmToken = await FirebaseMessaging.instance.getToken(); print('📱 Device ID from register_fcm: $deviceId'); print('📩 FCM Token from mew getapnd function: $fcmToken'); if (deviceId == null || fcmToken == null) { print('❌ Failed to get deviceId or fcmToken'); return; } final docRef = FirebaseFirestore.instance .collection('master_users') .doc(user.uid) .collection('deviceId') .doc(user.uid); // This document holds a map: { deviceId: fcmToken } print(docRef); try { // Get current data, fallback to empty map final snapshot = await docRef.get(); final data = snapshot.data() ?? <String, dynamic>{}; print(data); // Update or add current deviceId key data[deviceId] = fcmToken; // Save updated map back to Firestore await docRef.set(data); print(data); print('✅ Device ID and FCM token updated/stored under correct structure'); } catch (e) { print('❌ Firestore write error: $e'); } }
0
0
109
Apr ’25
Xcode organizer not properly showing termination charts
Two month back we published 28.11.0 version a app. for both foreground and background terminations are not properly showing by Xcode matrix Foreground Termination: I was able to see the termination bar chart for one release, but after that, the chart stopped showing real-time crash progress. However, crashes are still being reported directly by users. Why is Xcode Organizer unable to capture these events? Please help us track them effectively. Background Termination: The termination bar chart has not appeared in Xcode Organizer for the last two releases, which span nearly two months. As a result, we are unable to monitor app terminations for background scenarios.
0
0
325
Jul ’25
Xcode lldb po doesnt print object description only memory
for instance: po [NSBundle mainBundle] 0x0000600002130000 p [NSBundle mainBundle] (NSBundle *) 0x0000600002130000 p [[NSBundle mainBundle] bundlePath] error: Execution was interrupted, reason: EXC_BAD_ACCESS (code=1, address=0x0). The process has been returned to the state before expression evaluation. I am in debug mode
Replies
0
Boosts
0
Views
105
Activity
Apr ’25
iOS 26 CarPlay Widgets
My company's app has a few widgets and a couple of them we do not want to show up on CarPlay due to safety concerns when iOS 26 releases. I understand Apple's recommended way to prevent users from using your widget in CarPlay is to use the .disfavoredLocations([.carPlay], for: [.systemSmall]), and this puts your widget in the 'Other' section of the widgets. https://developer.apple.com/download/files/CarPlay-Developer-Guide.pdf However, this .carPlay widget location is only available in Xcode 26, and our app cannot be built on Xcode 26 yet due to some build errors. We are able to fix those build errors in a separate branch, but we won't be doing our official release builds on Xcode 26 until it is out of beta, which is usually right before iOS 26 officially releases to general audiences. We release our app versions on a monthly cadence, so the version that will be out when iOS 26 comes out is already in testing. Is there any existing way we can disable this widget on CarPlay so it does not appear to work when tapped? Currently, it opens our CarPlay app, but the CarPlay app does nothing with it. On the iPhone, when you tap the widget it opens our app and performs a function. We don't wan't to disable it on the iPhone, just when it's on CarPlay. We don't have time before the app release to implement the same functionality on our CarPlay app. I haven't found any reliable way to detect if the widget is running in the CarPlay location versus the iPhone home screen. Thanks in advance for any assistance.
Replies
0
Boosts
13
Views
344
Activity
Aug ’25
WatchOS Xcode 16.4 to sample live RR intervals from the PPG sensor ERROR
Hi, I am getting an error stating "Argument passed to call that takes no arguments". I want this Apple Watch App to measure and store RR Intervals from the PPG sensor on the Apple Watch for Heart Rate Variability calculations. Please help me fix this, I can't figure it out. Here is my code: heartbeatQuery = HKHeartbeatSeriesQuery(predicate: predicate, dataReceivedHandler: { (query, timeSinceLastBeat, ended, error) in // Switch to main thread for UI updates DispatchQueue.main.async { if let error = error { print("Heartbeat query error: (error.localizedDescription)") self.fetchErrorMessage = "Heartbeat query error: (error.localizedDescription)" // Consider stopping the workout session if the query fails critically // self.stopWorkoutSession() return } if ended { print("Heartbeat query indicates series ended.") } // Append valid RR intervals if timeSinceLastBeat > 0 { self.rrIntervals.append(timeSinceLastBeat) self.beatCount += 1 } } // End DispatchQueue.main.async }) // End query data handler // --- END OF PROBLEMATIC INITIALIZER --- // Execute the query if it was created successfully It recommends the fix as removing this part: '(predicate: predicate, dataReceivedHandler: { (query, timeSinceLastBeat, ended, error) in // Switch to main thread for UI updates DispatchQueue.main.async { if let error = error { print("Heartbeat query error: (error.localizedDescription)") self.fetchErrorMessage = "Heartbeat query error: (error.localizedDescription)" // Consider stopping the workout session if the query fails critically // self.stopWorkoutSession() return } if ended { print("Heartbeat query indicates series ended.") } // Append valid RR intervals if timeSinceLastBeat > 0 { self.rrIntervals.append(timeSinceLastBeat) self.beatCount += 1 } } // End DispatchQueue.main.async })' But after I remove that it says "Cannot assign value of type 'HKHeartbeatSeriesQuery.Type' to type 'HKHeartbeatSeriesQuery'" PLEASE HELP ME Thanks
Replies
0
Boosts
0
Views
118
Activity
Apr ’25
SwiftSupport is missing
I'm trying to distribute an app for internal testing but I'm always getting the below error and the SwiftSupport folder is not created although I tried different fixes/configurations. How can I debug/see the reason why the SwiftSupport folder is not generated? Xcode 16.4 Build version 16F6 I tried distributing from the Transporter, Xcode organizer, I tried to archive it both from Xcode and from the command line. There are a couple of answers on StackOverflow, nothing helped. What could be the problem? One of the things I tried: xcodebuild \ -project PhotoBook.xcodeproj \ -scheme PhotoBook \ -configuration Release \ -archivePath Release/PhotoBook.xcarchive \ -destination 'generic/platform=iOS' \ -verbose \ archive xcodebuild \ -exportArchive \ -archivePath Release/PhotoBook.xcarchive \ -exportPath Release \ -exportOptionsPlist ExportOptions.plist \ -destination 'generic/platform=iOS' \ -verbose ExportOptions.plist <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>method</key> <string>app-store-connect</string> <key>teamID</key> <string>T672CQXP54</string> <key>uploadSymbols</key> <true/> <key>uploadBitcode</key> <false/> <key>signingStyle</key> <string>manual</string> <key>provisioningProfiles</key> <dict> <key>com.mandelbrotsc.PhotoBook</key> <string>iOS Distribution Profile</string> </dict> </dict> </plist> The error: ITMS-90426: Invalid Swift Support - The SwiftSupport folder is missing. Rebuild your app using the current public (GM) version of Xcode and resubmit it.
Replies
0
Boosts
1
Views
75
Activity
Aug ’25
"package" documents on iCloud Drive don't work in Simulator
Running macOS 15.4.1, Simulator 16.0 (1042.1), various iOS devices (iPhone 16, iPad 13" M4) I log into iCloud and enable iCloud Drive. Running the Files app, I noticed that I can click on "flat" documents (PDF, JPEG, etc) and they work. However, when I click on "package" documents (e.g. represented by a directory behind the scenes), I get a normal download progress, but then an alert "The operation could not be completed. No such file or directory". This seems to happen with all package documents, e.g. Keynote documents or Reality Composer objcap documents. It does not happen on actual devices logged into the same account. I've tried completely deleting and rebuilding the simulator instances in question, with no success.
Replies
0
Boosts
0
Views
77
Activity
Apr ’25
Xcode26beta5,使用iOS17.6设备运行,直接崩溃_NSUserActivityTypeBrowsingWeb
在项目中没有发现CoreServices.framework,然后编译运行就出现崩溃
Replies
0
Boosts
0
Views
40
Activity
Aug ’25
Xcode Test Pane for TDD and Unit Tests?
At the last place I worked it took roughly 5 minutes to do an application build. Which in turn made doing any sort of TDD or ever just regular Unit Tests extremely painful to do as the cycle time was simply too long. But that got me thinking. In recent versions of Xcode, Apple added Previews for SwiftUI Views that basically showed code changes to the View in real time. And Previews were made possible by extremely targeted compilation of the view in question. So... what if instead of a Preview pane in the Xcode IDE there was a Test pane the could be displayed such that Tests for a piece of code could be created and run almost immediately? Perhaps by adding a #Testing section to your code #Testing(MyService.self) // Define the entity to be tested. If you could drop the turnaround time AND provide a test playground for service level code that could speed development of such code greatly... and encourage interactive test development at the same time. What do you think?
Replies
0
Boosts
0
Views
163
Activity
Apr ’25
Swift Testing Failed to complete Unit Tests -> not enough values to unpack (expected 2, got 1)
I’m migrating some XCTest cases to Swift Testing and hit a runtime error when using tuple arguments within the CI. I don't have an issue when running locally. [2025-08-21 14:22:13.493] [unit_tests] [WARNING] Could not find test status list for -[FooManagerTests testEndpoint(region:enforce:expectedEndpoint:)] [2025-08-21 14:22:18.054] [unit_tests] [ERROR] not enough values to unpack (expected 2, got 1) ##[error]Failed to complete Unit Tests -> not enough values to unpack (expected @Test("Telemetry endpoint routing", arguments: [ (TelemetryRegion.value1, false, Foo.someValue1), (TelemetryRegion.value2, false, Foo.someValue2), (TelemetryRegion.value3, true, Foo.someValue3), (TelemetryRegion.value4, false, Foo.someValue4), ]) func testEndpoint(region: enforce: expectedEndpoint: ) { ... }
Replies
0
Boosts
0
Views
133
Activity
Aug ’25
Development Universal Linking
I am trying to setup a unversal linking for my new developing app. but it look like not function well. did any one have some examples or demo domains suggest to use? In fact finally my app is just internal using, user will not suppose connect to internet , how can I using the universal linking without a website ? Thanks
Replies
0
Boosts
0
Views
92
Activity
May ’25
Why does dependency analysis work for a script that outputs a folder that is copied in copy bundle resources but not once that script is moved to an aggregate target?
This question is a component of this question and an extension to this question which has been solved. This situation might feel a pinch constructed but it is a simplified version of one step of the original question. Basically in my app I have a script that outputs a folder with a few files inside of it. This folder is output to $(BUILT_PRODUCTS_DIR)/build/ and is referenced via a PBXBuildFile. Because I put a wait in the script (to simulate a long build I have in my real project) it is very obvious when the script is or isn't run. The goal would be for it to run only when its dependencies have changed. The trick is if I put this script as a "run script" phase within my final target dependency analysis works great. The script only runs when the dependencies are updated. However if I put the "run script" phase into an aggregate target then add it as a Target Dependency in the main target Xcode wants to run the script every time. Regardless of if the dependencies have changed. However if you build just the aggregate target alone everything goes just fine. It only builds when it has to. To me this does not quite make sense. I thought that dependency analysis of the script within my aggregate target would be the same regardless of whether that script was within the aggregate target or the main target. In my app I ideally need the aggregate target to be shared by multiple other targets. While I could put the script in each it would be more foolproof to have them share an aggregate target. Why would dependency analysis come to a different conclusion when the script is within an aggregate target that is a target dependency of the main target? If it helps here is the script and the entire project can be found here on GitHub if you would like to play with it. mkdir -p "${SCRIPT_OUTPUT_FILE_0}/build/" echo "Pausing for 10 seconds before creating files..." sleep 10 cat "${SCRIPT_INPUT_FILE_0}" cat > "${SCRIPT_OUTPUT_FILE_0}/build/index.html" << EOF <!DOCTYPE html> <html> <head> <title>Simple Page</title> </head> <body> <h1>Welcome to Simple Page</h1> <p>Generated at: $(date)</p> </body> </html> EOF cat > "${SCRIPT_OUTPUT_FILE_0}/build/page.html" << 'EOF' <!DOCTYPE html> <html> <head> <title>Simple Page</title> </head> <body> </body> </html> EOF
Replies
0
Boosts
0
Views
88
Activity
Aug ’25
App Not Archiving After Update
Hi! A couple of months ago my app was archiving just fine. Since an xcode update the build fails. Here is what shows at the end of the log. Thank you in advance for any help! Run custom shell script 'Run Script' Failed to package [project folder] Command PhaseScriptExecution failed with a nonzero exit code
Replies
0
Boosts
0
Views
48
Activity
May ’25
load_eligibility_plist errors
I'm just getting started with swift development using Xcode 164 on a MacBook Pro running Sequoia 15.6. When I try to run the simplest "Hello World" app against iPhone simulators, I get the error messages below. I've looked at that location and none of the directory structure /private/var/db/eligibilityd below the 2224B135-8383-4C69-B339-B6DF9D88F6FD folder exists. Just wondering if I have a config error somewhere or if there's somewhere else I should be looking to correct this. It doesn't occur when I run on a physical iPhone device. Error message: load_eligibility_plist: Failed to open /Users/****/Library/Developer/CoreSimulator/Devices/DB1919F3-ECB8-4C55-817C-85B68F083F57/data/Containers/Data/Application/2224B135-8383-4C69-B339-B6DF9D88F6FD/private/var/db/eligibilityd/eligibility.plist: No such file or directory(2) Failed to send CA Event for app launch measurements for ca_event_type: 0 event_name: com.apple.app_launch_measurement.FirstFramePresentationMetric Failed to send CA Event for app launch measurements for ca_event_type: 1 event_name: com.apple.app_launch_measurement.ExtendedLaunchMetrics
Replies
0
Boosts
2
Views
340
Activity
Aug ’25
iOS Simulator Keychain Issues After Xcode Reinstall
Hello All I'm encountering an issue with Keychain access in iOS simulators after reinstalling Xcode. My app successfully accesses the Keychain on physical devices, but simulators consistently fail with errors. Details: App uses Keychain to store API keys Works perfectly on physical devices After Xcode reinstall, simulator Keychain access fails Error logs show "Keychain retrieve failed for key with status: -25300" I've properly configured Keychain Sharing entitlements My entitlements file includes: $(AppIdentifierPrefix)******* What I've tried: Resetting simulators Deleting simulator Keychain databases manually Adding Keychain Sharing capability Ensuring entitlements are correct My app worked fine with simulators before reinstalling Xcode, which suggests something changed in the development environment rather than my code. Has anyone encountered similar issues? Is there a recommended approach for handling Keychain access in simulators that's more resilient to Xcode environment changes? Thanks for your help!
Replies
0
Boosts
0
Views
158
Activity
Apr ’25
ActivityKit linker error
I have a ContentView in my app which includes the line of code FileUploadProgressAttributes. this struct is defined in a file included in the target FileUploadProgressExtension. and it is an ActivityAttributes. in ContentView I imported FileUploadProgressExtension, and the xcode is able to find the FileUploadProgressAttributes during prebuild. but during build, it gives me Undefined symbols for architecture arm64: "FileUploadProgressExtension.FileUploadProgressAttributes.init(filename: Swift.String) -> FileUploadProgressExtension.FileUploadProgressAttributes the workaround i found is to add the file with the FileUploadProgressAttributes to my app's target, but I'm not sure if this is the right thing to do. When Xcode created the extension for me, it added the extension target as a target dependency of my app. so obviously if i added this file to my app target it makes the extension target pointless. First time working with widgets so I'm not sure if I'm missing something.
Replies
0
Boosts
0
Views
89
Activity
May ’25
Music error: Error playing music: .developerTokenRequestFailed
When I attemp to Play song using apple Music api I get this error> I have put in the privacy string. Do I need to generate a token?
Replies
0
Boosts
0
Views
92
Activity
Aug ’25
No FCM token found
The issue I am facing is that even when I run my app from a physical device, I get the error "No FCM token found," while push notifications are enabled in my Xcode capabilities. I don't see the FCM token generated in the users' collection on Firestore. While the code setup seems good, the same error persists. I have implemented the logic to retrieve the FCM token, hat the necessary permissions are granted in my app.Here are my Firestore rules: rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { // Allow authenticated users to read and write their own user data match /users/{userId} { allow read: if request.auth != null; allow update: if request.auth != null && (request.auth.uid == userId || // Allow FCM token updates request.resource.data.diff(resource.data).affectedKeys().hasOnly(['fcmToken'])); allow create: if request.auth != null; match /followers/{followerId} { allow read: if request.auth != null; allow write: if request.auth != null && request.auth.uid == followerId; } match /following/{followingId} { allow read: if request.auth != null; allow write: if request.auth != null && request.auth.uid == userId; } match /blockedUsers/{blockedUserId} { allow read, write: if request.auth != null && request.auth.uid == userId; } } // Messages collection match /messages/{messageId} { allow create: if request.auth != null && (request.resource.data.senderId == request.auth.uid || request.resource.data.receiverId == request.auth.uid); allow read, update, delete: if request.auth != null && (resource.data.senderId == request.auth.uid || resource.data.receiverId == request.auth.uid); } // Chats collection match /chats/{chatId} { allow create: if request.auth != null && request.auth.uid in request.resource.data.participants; allow read, update, delete: if request.auth != null && request.auth.uid in resource.data.participants; } // Call-related documents match /calls/{callId} { allow create: if request.auth != null && request.auth.uid in [request.resource.data.callerId, request.resource.data.receiverId]; allow read, write: if request.auth != null && (request.auth.uid == resource.data.callerId || request.auth.uid == resource.data.receiverId); } // Posts match /posts/{postId} { allow read: if true; allow create, update: if request.auth != null; allow delete: if request.auth != null && request.auth.uid == resource.data.userId; } // Reports match /reports/{reportId} { allow create: if request.auth != null; allow read: if request.auth != null; allow update: if request.auth != null; } // ✅ New livestreams collection rule added here match /livestreams/{document} { allow read, write: if request.auth != null; } } } [my index.js](https://developer.apple.com/forums/content/attachment/bffd0276-ece5-4ce9-b08b-83e8770cb8f2) [My code of class AppDelegate](https://developer.apple.com/forums/content/attachment/abba6a58-d513-49d4-a1d4-dc7dfae56e0a) [code of class AVDelegateWrapper:](https://developer.apple.com/forums/content/attachment/acd15ac0-ba9e-415f-9503-aea88377e92f) ` [struct ContentView](https://developer.apple.com/forums/content/attachment/4f75c535-860e-488f-835b-63c76586ac50) ` [And for after Login code : ](https://developer.apple.com/forums/content/attachment/f6af060e-f2bb-417f-af08-a946dd650474) `
Replies
0
Boosts
0
Views
101
Activity
Aug ’25
APNS NULL
this is our code foe fetching the apnstoken - and registering for the FCM and snding it to our servers. - we are consistently getting apns == null import 'dart:io'; import 'package:firebase_messaging/firebase_messaging.dart'; import 'package:firebase_auth/firebase_auth.dart'; import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:firebase_messaging/firebase_messaging.dart'; import 'package:solaris/services/fetch_deviceId.dart'; Future initializeFCM() async { final FirebaseMessaging _firebaseMessaging = FirebaseMessaging.instance; // Request notification permissions for iOS final settings = await _firebaseMessaging.requestPermission(); print('Notifcation Permission Status: ${settings.authorizationStatus}'); String? apnsToken; int retries = 0; const int maxRetries = 60; const Duration retryDelay = Duration(seconds: 2); // Retry fetching the APNs token until it's available or max retries are reached while (apnsToken == null && retries < maxRetries) { print(retries); apnsToken = await _firebaseMessaging.getAPNSToken(); if (apnsToken == null) { await Future.delayed(retryDelay); retries++; } } if (apnsToken != null) { // APNs token is available, proceed to get FCM token String? fcmToken = await _firebaseMessaging.getToken(); if (fcmToken != null) { // Register the device and token with your backend await registerDeviceAndToken(fcmToken); } else { // Handle the case where FCM token is still null print('FCM token is null.'); } } else { // Handle the case where APNs token is not available after retries print('APNs token not available after retries.'); } } Future registerDeviceAndToken(String fcmToken) async { //fcmToken = fcmToken; print(fcmToken); final user = FirebaseAuth.instance.currentUser; if (user == null) { print('❌ User not logged in'); return; } final deviceId = await DeviceInfoService.getUniqueDeviceId(); //final fcmToken = await FirebaseMessaging.instance.getToken(); print('📱 Device ID from register_fcm: $deviceId'); print('📩 FCM Token from mew getapnd function: $fcmToken'); if (deviceId == null || fcmToken == null) { print('❌ Failed to get deviceId or fcmToken'); return; } final docRef = FirebaseFirestore.instance .collection('master_users') .doc(user.uid) .collection('deviceId') .doc(user.uid); // This document holds a map: { deviceId: fcmToken } print(docRef); try { // Get current data, fallback to empty map final snapshot = await docRef.get(); final data = snapshot.data() ?? <String, dynamic>{}; print(data); // Update or add current deviceId key data[deviceId] = fcmToken; // Save updated map back to Firestore await docRef.set(data); print(data); print('✅ Device ID and FCM token updated/stored under correct structure'); } catch (e) { print('❌ Firestore write error: $e'); } }
Replies
0
Boosts
0
Views
109
Activity
Apr ’25
Xcode organizer not properly showing termination charts
Two month back we published 28.11.0 version a app. for both foreground and background terminations are not properly showing by Xcode matrix Foreground Termination: I was able to see the termination bar chart for one release, but after that, the chart stopped showing real-time crash progress. However, crashes are still being reported directly by users. Why is Xcode Organizer unable to capture these events? Please help us track them effectively. Background Termination: The termination bar chart has not appeared in Xcode Organizer for the last two releases, which span nearly two months. As a result, we are unable to monitor app terminations for background scenarios.
Replies
0
Boosts
0
Views
325
Activity
Jul ’25
Xcode 16.3 Test Coverage not shown
Test Coverage shows "No Coverage Data" on Xcode 16.3. Code Coverage is checked in my scheme. The same configurations worked on Xcode 16.2 but don't work on Xcode 16.3. any update on when it will be fixed?
Replies
0
Boosts
1
Views
71
Activity
May ’25
Icon Composer and App Playground
How to add an app icon created in Icon Composer to an App Playground project?
Replies
0
Boosts
0
Views
130
Activity
Jul ’25