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

Xcode Documentation

Posts under Xcode subtopic

Post

Replies

Boosts

Views

Activity

launchd_sim and AppleSpell deadlock
I've got a 2019 Intel iMac running Sequoia 15.4.1 and Xcode 16.3. Every time I try to view a storyboard Xcode locks up and beachballs on me. It takes minutes to load the file. When I force-quit Xcode, the report that shows up has this as the reason: Processes reached dispatch thread soft limit (64): launchd_sim [96305] [unique pid 194673], launchd_sim [96260] [unique pid 194628] Deadlock: AppleSpell [1494] thread 0x1df0c4 DispatchQueue 313 -> AppleSpell [1494] thread 0x1df0c4 DispatchQueue 313 Deadlock: AppleSpell [1494] thread 0x1df114 DispatchQueue 86 -> AppleSpell [1494] thread 0x1df114 DispatchQueue 86 Blocked by Deadlock: 1 task - AppleSpell [1494] I'm wondering, why is AppleSpell trying to spell-check a plist file? Is there any way to tell AppleSpell to ignore a file?
0
0
78
Apr ’25
Does Xcode force to download latest iOS simulator after update?
I have Xcode on my mac. I am iOS Dev. I do not know what version of Xcode was before I did next steps, but I could say that I had iOS Simulator 18.3.1. So I update my Xcode to Version 16.3 (16E140). At this version is available iOS Simulator 18.4. But from some time before Xcode separate downloading components and actual Xcode itself. So i make update and do not download latest iOS simulator. What i have: in Xcode -> Settings -> Components under " Other Installed Platforms" i have iOS 18.3.1 and 17.5 in Choose Destination dropdown menu i have nothing. And Xcode say me that i need install iOS Simulator. After some time with ChatGPT I could not do nothing from this. I try go to : Window -> Device and Simulators and here create new simulator with 18.3.1 and make it appear Always. But it didn't help. Solution I did: I download latest version 18.4 because i could not wait because i need fix bug only 1 hour shift and it was this hour so i fast download the simulator. After downloading 18.4 in Choose Destination dropdown it appears all versions of simulaors and 18.3.1 and that i created and 17.5 Question: Does Xcode force to install latest version of iOS simulator? What is the sense of this upgrade that now Xcode is updating faster because it download 8 GB not 16 if eventually I need download 8 GB again ? The new what i could do download Xcode in the evening and Simulator in the morning?
0
0
163
Apr ’25
Trouble Distributing iOS + WatchOS App as a Bundle (Info.plist / Target Confusion)
Hi all, I’m running into an issue with my iOS + Apple Watch app project, and I could really use some advice. My WatchOS app requires an iOS companion for settings and configuration, so both apps need to be distributed together. Here’s how I structured my Xcode project: Main iOS App target WatchOS App target WatchOS Extension target However, I’m very confused about how these targets interact, and things are not working as expected. The problem: I can build and run the WatchOS app and its extension independently in the simulator by selecting their schemes. When I select the main iOS app scheme, I get an error about ITSWatchOnlyContainer in the Info.plist—even though there’s no Info tab for that target in Xcode. I’m able to distribute the WatchOS app by itself, and the extension as well. But I can’t distribute them bundled together as a single package, and I haven’t found any clear resources that explain how to fix this. This is my very first app, and it’s frustrating to get stuck just before the finish line! Project Structure / steps to reproduce Let’s say my project is called MyAppProject, with these targets: MyAppProject Main iOS App Embedded target: MyAppProject Watch App Bundle identifier: com.example.MyAppProject MyAppProject Watch App WKCompanionAppBundleIdentifier: com.example.MyAppProject “Requires iOS App”: YES MyAppProject Extension Bundle identifier: com.example.MyAppProject When running from the MyAppProject scheme, I get this error (even though I can’t see or edit the Info.plist in Xcode for this target): “Please try again later. This app has the ITSWatchOnlyContainer key set in its Info.plist, which identifies it as a shell app surrounding a Watch-only app; these are not installable.” As a result, I can’t distribute the app as a bundle. I’d appreciate help understanding: How should the Info.plist files be configured for each target? What do I do if the Info.plist path seems missing in the Xcode UI? Is there a “correct” way to structure an iOS + WatchOS app for bundled distribution?
0
0
125
Jun ’25
Latest Xcode build giving multiple system level errors
with the latest Xcode version, i am getting all kinds of errors: few main ones: /Users/akashbhatia/MyApp/ios/Pods/Target Support Files/ReactCodegen/ReactCodegen-prefix.pch:2:9 Could not build module 'UIKit' /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator18.4.sdk/System/Library/Frameworks/CFNetwork.framework/Headers/CFNetwork.h:18:10 Could not build module 'CoreFoundation' /Users/akashbhatia/MyApp/ios/Pods/Headers/Public/RCT-Folly/folly/portability/Config.h:20:10 'folly/folly-config.h' file not found I have reinstalled Xcode, removed derived data, installed pod over and over again, but I have realized from the first error here, that it has more to do with Xcode and React Native now. Any help will be appreciated.
0
0
88
Apr ’25
Why can't Xcode projects be opened in multiple workspaces
So Xcode has projects. And I breakup my code/libraries/targets into those. So why after 20 years of Xcode, can a workspace, that holds projects not display the same project opened in another workspace? The workspace redirects all output the project would normally generate in DerivedData to a completely different folder by default. What this means is I have to shut one workspace, and then open the other workspace with a different set of projects to see the ones that are shared. The workspace can't build because it can't open the project shared with another one that is open. VS sln files don't have this issue, so why do workspace files.
1
0
101
Jun ’25
Xcode 16.3 Compile fails
After updating to 16.3, my project now fails to compile with the diagnostic: "Command SwiftCompile failed with a nonzero exit code". This is a SwiftUI document project with two local packages, the second of which is a rather large one with 112 SwiftUI files. It is this second package that is failing. There are no issues when compiling with 16.2. Without diagnostics I'm having a bit of difficulty in determining the cause. My thought is to regress the commits unit 16.3 gives a success, or shows issues. Although I'm not catching a similar issue in the forums, I'm seeing other problems with 16.3. Has anyone else had such build failure isolated to 16.3? Any advice on other ways to approach this problem? Thanks in advance
5
0
326
Apr ’25
cannot update system time on AppleWatch using simctl
I am attempting to generate screenshots at various logical times using a watchOS 11 simulator. % xcrun simctl status_bar "Apple Watch Series 10 (46mm)" override --time 9:06 An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=45): Simulator device failed to complete the requested operation. Operation not supported Underlying error (domain=NSPOSIXErrorDomain, code=45): Status bar overrides not supported on this platform. Operation not supported Using WatchOS Clock Settings gives me at most 59 minutes in which to succeed. Even if I had a physical watch for every series and size, I would have to wait up to 23 hours before being able to generate my marketing screenshots to support various user scenarios. With three settings variations, a minimal wait time to get to good marketable content would be on the order of 1 month per app version.
0
0
69
May ’25
App Clip cannot determine the source of the opening
Our business is to scan the code to open App Clip, but then App Clip will appear in App Library and Siri Suggestions. This can be opened quickly, but the URL of the last scan will be included. This will cause a problem, for example: if the previous scan was code A, but the user does not scan code B when going to place B and directly opens it through App Library or Siri Suggestions, the code I get is still code A, so the result I want is that I want to know where it was opened from, and then if it is opened quickly, I will clear the URL and remind the user to scan the code again. Or if it is opened by quick opening, do not include the URL
0
0
34
May ’25
Background process not working in TestFlight
Hi everyone, I recently built an iOS application that fetches the healthkit data with the BGProcessingTask. It is working as expected in the debug with the physical device connected but its not working in Testflight. I printed out the logs but they don't show that the background process's running. Here is my code snippet. func registerBackgroundTask() { BGTaskScheduler.shared.register(forTaskWithIdentifier: taskIdentifier, using: nil) { task in LogManager.shared.addBackgroundProcessLog("registering the background task...") print("registering the background task...") self.handleBackgroundTask(task: task as! BGProcessingTask) } } func scheduleBackgroundHealthKitSync() { print("scheduling background task...") LogManager.shared.addBackgroundProcessLog("scheduling background task...") let request = BGProcessingTaskRequest(identifier: taskIdentifier) request.earliestBeginDate = Date(timeIntervalSinceNow: 60 * 1) request.requiresNetworkConnectivity = true request.requiresExternalPower = false do { try BGTaskScheduler.shared.submit(request) print("BGProcessingTask scheduled") LogManager.shared.addBackgroundProcessLog("BGProcessingTask scheduled") } catch { print("Failed to schedule task: \(error)") LogManager.shared.addBackgroundProcessLog("Failed to schedule task: \(error)", isError: true) print(LogManager.shared.backgroundProcessLogs) } } func handleBackgroundTask(task: BGProcessingTask) { LogManager.shared.addBackgroundProcessLog("handleBackgroundTask triggered") print("handleBackgroundTask triggered") let dispatchGroup = DispatchGroup() dispatchGroup.enter() // Reschedule the background sync for the next time scheduleBackgroundHealthKitSync() var taskCancelled = false // Handling expiration task.expirationHandler = { taskCancelled = true LogManager.shared.addBackgroundProcessLog("Background task expired", isError: true) print("Background task expired") dispatchGroup.leave() } let healthKitManager = HealthKitManager.shared // Start the background sync operation healthKitManager.fetchAndSendAllTypes() { success in if success { LogManager.shared.addBackgroundProcessLog("HealthKit sync completed successfully") print("HealthKit sync completed successfully") } else { LogManager.shared.addBackgroundProcessLog("HealthKit sync failed", isError: true) print("HealthKit sync failed") } dispatchGroup.leave() } // Notify when all tasks are completed dispatchGroup.notify(queue: .main) { // Check if the task was cancelled using your own flag or state if taskCancelled { task.setTaskCompleted(success: false) // Fail the task if it was cancelled } else { task.setTaskCompleted(success: true) // Complete successfully if not cancelled } LogManager.shared.addBackgroundProcessLog("Background task ended with status: \(taskCancelled == false)") print("Background task completed with success: \(taskCancelled == false)") // Logs success or failure } } Here are the logs from my device. scheduling background task... BGProcessingTask scheduled
1
0
126
May ’25
Xcode and Supabase Package
Hi All, I'll start by saying i am complete beginner when it comes to coding/ developing. So please be easy on me, im also using AI tools to help and learn so apologies if what im saying doesnt make sense. The error im getting is /Services/SupabaseManager.swift:47:29 Cannot find 'GlobalOptions' in scope From AI tells me 'GlobalOptions' is defined a types.swift file in the supabase package public struct GlobalOptions: Sendable { /// Optional headers for initializing the client, it will be passed down to all sub-clients. public let headers: [String: String] /// A session to use for making requests, defaults to `URLSession.shared`. public let session: URLSession /// The logger to use across all Supabase sub-packages. public let logger: (any SupabaseLogger)? public init( headers: [String: String] = [:], session: URLSession = .shared, logger: (any SupabaseLogger)? = nil ) { self.headers = headers self.session = session self.logger = logger } } From what i can see i have added the supabase package successfully, following this guide - https://developer.apple.com/documentation/xcode/adding-package-dependencies-to-your-app Here are some screenshots of my xcode to show the added package.
3
0
167
Apr ’25
App Stuck on Launch Screen When Debugging on iOS 18.5 Device with Xcode 16.3
I am using a Mac computer running macOS 15.5 with Xcode version 16.3 (16E140) and an iPhone XS Max on iOS 18.5. When debugging my app on the real device using Xcode, the app gets stuck on the launch screen and fails to proceed to the main interface. There is no output in the Xcode console, and the top of the window continuously shows "attaching to [app name] on [iPhone name]". Here are the details: The same issue occurred when the phone was running iOS 18.4.1. When I tested on another real device running iOS 17, the app launched and ran normally. I’ve tried clearing the cache, but it didn’t help. I deleted the ~/Library/Developer/Xcode/iOS DeviceSupport folder, let it re-download the necessary files, and ran the app again, but the issue persists. I’m currently out of ideas and would appreciate any assistance.
1
0
194
May ’25
Refactor->Rename "Refactoring Engine Failure"
For Xcode 15 and Xcode 16, whenever I try to use the Refactor->Rename command I get a spinning busy cursor for a short while then I get an alert that says: Rename Failed Refactoring engine failure. This happens on several projects and I've tried removing the derived data folder, but am at a loss to find additional troubleshooting steps. Are there other files I might remove or reset to get my "Refactoring Engine" back into shape?
0
0
169
Jun ’25
Does Xcode still support capturing GPU workload for OpenGLES game app on iOS?
As far as I know, there was a time that you can capture GPU workload for opengles game app on iOS using Xcode. However, currently I'm using Xcode version 15.2 and iOS18,it seems the "capture GPU workload" button is always disabled when I'm trying to debug my game app which is using opengles api for graphics rendering no matter switchinng "GPU Frame Capture" to "OpenGL ES" or "Metal" or "Automatically" in the scheme. And I'm not able to capture GPU workload for my game on iOS. The only way to make the "capture GPU workload" button enabled is creating a new project using metal api for graphics rendering. But I don't want to change the graphics API, because it will cause a lot. Does Xcode still support capturing GPU workload for OpenGLES game app on iOS? If not, is there an alternative way?
0
0
102
Jun ’25
NO_CRASH_STACK with different number of crashes from the App Store.
Hello. For the last few months I have been facing a situation for which I do not understand either the reason or the solution. Here is an example for the last few weeks: In App Store Connect it shows 214 crashes for the last week In Xcode it shows 56 crashes for the last 2 weeks without stack traces (NO_CRASH_STACK) In Firebase Crashlytics there is not a single crash. When I click "Show in Finder" it opens a folder with .xccrashpoint files. As far as I understood from the instructions on posting crash reports - this is not what is needed. Interesting point: it looks like the errors occur on iOS 15-16 devices. I have several questions: Why is the number of crashes in Xcode different from the number in App Store Connect? Where are the other crashes? How can I understand what the problem is if there are no stack traces in Xcode?
0
0
122
May ’25
xcstrings CFBundleName value changes after building different target
Hi, I followed Xcode’s recommendation and migrated to the new strings format (*.strings → *.xcstrings) using the Migrate to String Catalog option. My project has two build targets: MyAppName MyAppNameVFSCopy Every time I build one or the other target, the value in the .xcstrings file changes under CFBundleName > en > stringUnit > value, switching between MyAppName and MyAppNameVFSCopy. As a result, Git detects a change in source control each time, which is quite annoying. How can I prevent this from happening? After building MyAppNameVFSCopy target, the "value" is MyAppNameVFSCopy "CFBundleName" : { "comment" : "Bundle name", "extractionState" : "extracted_with_value", "localizations" : { "en" : { "stringUnit" : { "state" : "new", "value" : "MyAppNameVFScopy" } } } } After building MyAppName target, the "value" changes to MyAppName "CFBundleName" : { "comment" : "Bundle name", "extractionState" : "extracted_with_value", "localizations" : { "en" : { "stringUnit" : { "state" : "new", "value" : "MyAppName" } } } } Deleting CFBundleName from *.xcstrings file didn't help. CFBundleName is automatically created again after building target. Both targets has it's on plist file. In those files: <key>CFBundleName</key> <string>${PRODUCT_NAME}</string> Attaching full xcstrings file InfoPlist.xcstrings
1
0
80
May ’25
Followed docs for "Local Package", how to add to 2nd project?
I have a couple apps in one git repository. I'd like to have a Swift package in that repo as well, shared by apps. In other words, I don't want a separate repo for the Swift package. I followed the instructions here: https://developer.apple.com/documentation/xcode/organizing-your-code-with-local-packages It seems to work. I can write code like this in my app: import MyLocalPackage func foo() { myLocalPackageFunc() } I notice that the package is not listed under Project > MyApp > Package Dependencies. I don't really care, as long as I can reuse code between apps. But when I try to add this package code to a 2nd app, I'm at a loss. I tried "Add Package Dependencies" and "Add Local", but that creates a different looking setup than the 1st app. The code is browsable in the project navigator. And when I try to build it says "Missing package product 'MyLocalPackage'. The documentation linked above, which I used for the 1st app, does a "New > Package". I don't want a new package. How can I connect the existing one?
0
0
118
May ’25
App crashing on real iPhone only (working fine on simulator and Xcode preview)
Hi, I'm currently facing an issue where my React Native app crashes only on a real iPhone. On the simulator and in Xcode preview, the app runs fine. Previously, I had an issue with FlatList regarding props.getItem, which I solved by installing some missing Babel dependencies. After that, everything worked correctly in the simulator. But when I try to open the app on a real device, it shows the splash screen and crashes immediately. I've already done a full clean and reset, including: npx react-native start --reset-cache Deleted node_modules and Pods, reinstalled everything Cleaned build folder via Xcode Deleted DerivedData Restarted Metro bundler and simulator/device The issue only happens on the physical device. Here’s a portion of the crash log IDate/Time: 2025-04-14 19:11:28.6796 -0300 Launch Time: 2025-04-14 19:11:28.5292 -0300 OS Version: iPhone OS 18.3.2 (22D82) Release Type: User Baseband Version: 4.20.03 Report Version: 104 Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Termination Reason: SIGNAL 6 Abort trap: 6 Terminating Process: JazminChebar [1973] Triggered by Thread: 0 Last Exception Backtrace: 0 CoreFoundation 0x19a0865fc __exceptionPreprocess + 164 (NSException.m:249) 1 libobjc.A.dylib 0x197601244 objc_exception_throw + 88 (objc-exception.mm:356) 2 JazminChebar 0x1009b2c04 RCTFatal + 568 (RCTAssert.m:147) 3 JazminChebar 0x1009c81f8 __28-[RCTCxxBridge handleError:]_block_invoke + 532 (RCTCxxBridge.mm:1178) 4 libdispatch.dylib 0x1a1e19248 _dispatch_call_block_and_release + 32 (init.c:1549) 5 libdispatch.dylib 0x1a1e1afa8 _dispatch_client_callout + 20 (object.m:576) 6 libdispatch.dylib 0x1a1e29a34 _dispatch_main_queue_drain + 984 (queue.c:8093) 7 libdispatch.dylib 0x1a1e2964c _dispatch_main_queue_callback_4CF + 44 (queue.c:8253) 8 CoreFoundation 0x19a0d2bcc CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE + 16 (CFRunLoop.c:1793) 9 CoreFoundation 0x19a0cf1c0 __CFRunLoopRun + 1996 (CFRunLoop.c:3163) 10 CoreFoundation 0x19a121284 CFRunLoopRunSpecific + 588 (CFRunLoop.c:3434) 11 GraphicsServices 0x1e73914c0 GSEventRunModal + 164 (GSEvent.c:2196) 12 UIKitCore 0x19cc6a674 -[UIApplication _run] + 816 (UIApplication.m:3846) 13 UIKitCore 0x19c890e88 UIApplicationMain + 340 (UIApplication.m:5503) 14 JazminChebar 0x100178708 main + 80 (main.m:7) 15 dyld 0x1c037dde8 start + 2724 (dyldMain.cpp:1338)
0
0
77
Apr ’25
SchemeBuildError: Failed to build the scheme
I have an iOS app, and I am trying to add a companion WatchOS app. My iOS app depends on 2 libraries: GoogleMobileAds FirebaseAnalyticsWithoutAdIdSupport When I add a new target for WatchOS, the preview build starts to fail. I am not adding any libraries to WatchOS. The Google Ads and Firebase Analytics libs are only under the iOS target. I am unable to run the preview, I get an error when trying to build the watch scheme. The preview does not work. The build just crashes. I've included the error log below. But, here are the steps I've tried so far: Delete folders inside Derived Data Run a clean build (Cmd + Option + Shift + K) Delete scheme and create a new one Reset Package Cache Restart Xcode Restart Macbook But, it just does not work. I do not understand why the watchOS target is erroring for "GoogleUserMessagingPlatform" and "GoogleMobileAdsTarget" when those packages are not linked/used for the watchOS. SchemeBuildError: Failed to build the scheme “timerWatch Watch App” While building for watchOS Simulator, no library for this platform was found in '/Users/k/Library/Developer/Xcode/DerivedData/timer-dhkdhvfcqtfgskfdxpmupujswtuh/SourcePackages/artifacts/swift-package-manager-google-user-messaging-platform/UserMessagingPlatform/UserMessagingPlatform.xcframework'. (in target 'UserMessagingPlatformTarget' from project 'GoogleUserMessagingPlatform') Build target UserMessagingPlatformTarget: /Users/k/Library/Developer/Xcode/DerivedData/timer-dhkdhvfcqtfgskfdxpmupujswtuh/SourcePackages/artifacts/swift-package-manager-google-user-messaging-platform/UserMessagingPlatform/UserMessagingPlatform.xcframework:1:1: error: While building for watchOS Simulator, no library for this platform was found in '/Users/k/Library/Developer/Xcode/DerivedData/timer-dhkdhvfcqtfgskfdxpmupujswtuh/SourcePackages/artifacts/swift-package-manager-google-user-messaging-platform/UserMessagingPlatform/UserMessagingPlatform.xcframework'. (in target 'UserMessagingPlatformTarget' from project 'GoogleUserMessagingPlatform') Build target GoogleMobileAdsTarget: /Users/k/Library/Developer/Xcode/DerivedData/timer-dhkdhvfcqtfgskfdxpmupujswtuh/SourcePackages/artifacts/swift-package-manager-google-mobile-ads/GoogleMobileAds/GoogleMobileAds.xcframework:1:1: error: While building for watchOS Simulator, no library for this platform was found in '/Users/k/Library/Developer/Xcode/DerivedData/timer-dhkdhvfcqtfgskfdxpmupujswtuh/SourcePackages/artifacts/swift-package-manager-google-mobile-ads/GoogleMobileAds/GoogleMobileAds.xcframework'. (in target 'GoogleMobileAdsTarget' from project 'GoogleMobileAds')
0
0
117
Apr ’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
create many provisioning profile
i'v use own apple id run project with my mobile phone, but the xcode create a lot provisioning profile in same time(the pic only show a bit part)
Replies
1
Boosts
0
Views
100
Activity
Apr ’25
launchd_sim and AppleSpell deadlock
I've got a 2019 Intel iMac running Sequoia 15.4.1 and Xcode 16.3. Every time I try to view a storyboard Xcode locks up and beachballs on me. It takes minutes to load the file. When I force-quit Xcode, the report that shows up has this as the reason: Processes reached dispatch thread soft limit (64): launchd_sim [96305] [unique pid 194673], launchd_sim [96260] [unique pid 194628] Deadlock: AppleSpell [1494] thread 0x1df0c4 DispatchQueue 313 -> AppleSpell [1494] thread 0x1df0c4 DispatchQueue 313 Deadlock: AppleSpell [1494] thread 0x1df114 DispatchQueue 86 -> AppleSpell [1494] thread 0x1df114 DispatchQueue 86 Blocked by Deadlock: 1 task - AppleSpell [1494] I'm wondering, why is AppleSpell trying to spell-check a plist file? Is there any way to tell AppleSpell to ignore a file?
Replies
0
Boosts
0
Views
78
Activity
Apr ’25
Does Xcode force to download latest iOS simulator after update?
I have Xcode on my mac. I am iOS Dev. I do not know what version of Xcode was before I did next steps, but I could say that I had iOS Simulator 18.3.1. So I update my Xcode to Version 16.3 (16E140). At this version is available iOS Simulator 18.4. But from some time before Xcode separate downloading components and actual Xcode itself. So i make update and do not download latest iOS simulator. What i have: in Xcode -> Settings -> Components under " Other Installed Platforms" i have iOS 18.3.1 and 17.5 in Choose Destination dropdown menu i have nothing. And Xcode say me that i need install iOS Simulator. After some time with ChatGPT I could not do nothing from this. I try go to : Window -> Device and Simulators and here create new simulator with 18.3.1 and make it appear Always. But it didn't help. Solution I did: I download latest version 18.4 because i could not wait because i need fix bug only 1 hour shift and it was this hour so i fast download the simulator. After downloading 18.4 in Choose Destination dropdown it appears all versions of simulaors and 18.3.1 and that i created and 17.5 Question: Does Xcode force to install latest version of iOS simulator? What is the sense of this upgrade that now Xcode is updating faster because it download 8 GB not 16 if eventually I need download 8 GB again ? The new what i could do download Xcode in the evening and Simulator in the morning?
Replies
0
Boosts
0
Views
163
Activity
Apr ’25
Trouble Distributing iOS + WatchOS App as a Bundle (Info.plist / Target Confusion)
Hi all, I’m running into an issue with my iOS + Apple Watch app project, and I could really use some advice. My WatchOS app requires an iOS companion for settings and configuration, so both apps need to be distributed together. Here’s how I structured my Xcode project: Main iOS App target WatchOS App target WatchOS Extension target However, I’m very confused about how these targets interact, and things are not working as expected. The problem: I can build and run the WatchOS app and its extension independently in the simulator by selecting their schemes. When I select the main iOS app scheme, I get an error about ITSWatchOnlyContainer in the Info.plist—even though there’s no Info tab for that target in Xcode. I’m able to distribute the WatchOS app by itself, and the extension as well. But I can’t distribute them bundled together as a single package, and I haven’t found any clear resources that explain how to fix this. This is my very first app, and it’s frustrating to get stuck just before the finish line! Project Structure / steps to reproduce Let’s say my project is called MyAppProject, with these targets: MyAppProject Main iOS App Embedded target: MyAppProject Watch App Bundle identifier: com.example.MyAppProject MyAppProject Watch App WKCompanionAppBundleIdentifier: com.example.MyAppProject “Requires iOS App”: YES MyAppProject Extension Bundle identifier: com.example.MyAppProject When running from the MyAppProject scheme, I get this error (even though I can’t see or edit the Info.plist in Xcode for this target): “Please try again later. This app has the ITSWatchOnlyContainer key set in its Info.plist, which identifies it as a shell app surrounding a Watch-only app; these are not installable.” As a result, I can’t distribute the app as a bundle. I’d appreciate help understanding: How should the Info.plist files be configured for each target? What do I do if the Info.plist path seems missing in the Xcode UI? Is there a “correct” way to structure an iOS + WatchOS app for bundled distribution?
Replies
0
Boosts
0
Views
125
Activity
Jun ’25
Latest Xcode build giving multiple system level errors
with the latest Xcode version, i am getting all kinds of errors: few main ones: /Users/akashbhatia/MyApp/ios/Pods/Target Support Files/ReactCodegen/ReactCodegen-prefix.pch:2:9 Could not build module 'UIKit' /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator18.4.sdk/System/Library/Frameworks/CFNetwork.framework/Headers/CFNetwork.h:18:10 Could not build module 'CoreFoundation' /Users/akashbhatia/MyApp/ios/Pods/Headers/Public/RCT-Folly/folly/portability/Config.h:20:10 'folly/folly-config.h' file not found I have reinstalled Xcode, removed derived data, installed pod over and over again, but I have realized from the first error here, that it has more to do with Xcode and React Native now. Any help will be appreciated.
Replies
0
Boosts
0
Views
88
Activity
Apr ’25
Why can't Xcode projects be opened in multiple workspaces
So Xcode has projects. And I breakup my code/libraries/targets into those. So why after 20 years of Xcode, can a workspace, that holds projects not display the same project opened in another workspace? The workspace redirects all output the project would normally generate in DerivedData to a completely different folder by default. What this means is I have to shut one workspace, and then open the other workspace with a different set of projects to see the ones that are shared. The workspace can't build because it can't open the project shared with another one that is open. VS sln files don't have this issue, so why do workspace files.
Replies
1
Boosts
0
Views
101
Activity
Jun ’25
Xcode 16.3 Compile fails
After updating to 16.3, my project now fails to compile with the diagnostic: "Command SwiftCompile failed with a nonzero exit code". This is a SwiftUI document project with two local packages, the second of which is a rather large one with 112 SwiftUI files. It is this second package that is failing. There are no issues when compiling with 16.2. Without diagnostics I'm having a bit of difficulty in determining the cause. My thought is to regress the commits unit 16.3 gives a success, or shows issues. Although I'm not catching a similar issue in the forums, I'm seeing other problems with 16.3. Has anyone else had such build failure isolated to 16.3? Any advice on other ways to approach this problem? Thanks in advance
Replies
5
Boosts
0
Views
326
Activity
Apr ’25
cannot update system time on AppleWatch using simctl
I am attempting to generate screenshots at various logical times using a watchOS 11 simulator. % xcrun simctl status_bar "Apple Watch Series 10 (46mm)" override --time 9:06 An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=45): Simulator device failed to complete the requested operation. Operation not supported Underlying error (domain=NSPOSIXErrorDomain, code=45): Status bar overrides not supported on this platform. Operation not supported Using WatchOS Clock Settings gives me at most 59 minutes in which to succeed. Even if I had a physical watch for every series and size, I would have to wait up to 23 hours before being able to generate my marketing screenshots to support various user scenarios. With three settings variations, a minimal wait time to get to good marketable content would be on the order of 1 month per app version.
Replies
0
Boosts
0
Views
69
Activity
May ’25
App Clip cannot determine the source of the opening
Our business is to scan the code to open App Clip, but then App Clip will appear in App Library and Siri Suggestions. This can be opened quickly, but the URL of the last scan will be included. This will cause a problem, for example: if the previous scan was code A, but the user does not scan code B when going to place B and directly opens it through App Library or Siri Suggestions, the code I get is still code A, so the result I want is that I want to know where it was opened from, and then if it is opened quickly, I will clear the URL and remind the user to scan the code again. Or if it is opened by quick opening, do not include the URL
Replies
0
Boosts
0
Views
34
Activity
May ’25
Background process not working in TestFlight
Hi everyone, I recently built an iOS application that fetches the healthkit data with the BGProcessingTask. It is working as expected in the debug with the physical device connected but its not working in Testflight. I printed out the logs but they don't show that the background process's running. Here is my code snippet. func registerBackgroundTask() { BGTaskScheduler.shared.register(forTaskWithIdentifier: taskIdentifier, using: nil) { task in LogManager.shared.addBackgroundProcessLog("registering the background task...") print("registering the background task...") self.handleBackgroundTask(task: task as! BGProcessingTask) } } func scheduleBackgroundHealthKitSync() { print("scheduling background task...") LogManager.shared.addBackgroundProcessLog("scheduling background task...") let request = BGProcessingTaskRequest(identifier: taskIdentifier) request.earliestBeginDate = Date(timeIntervalSinceNow: 60 * 1) request.requiresNetworkConnectivity = true request.requiresExternalPower = false do { try BGTaskScheduler.shared.submit(request) print("BGProcessingTask scheduled") LogManager.shared.addBackgroundProcessLog("BGProcessingTask scheduled") } catch { print("Failed to schedule task: \(error)") LogManager.shared.addBackgroundProcessLog("Failed to schedule task: \(error)", isError: true) print(LogManager.shared.backgroundProcessLogs) } } func handleBackgroundTask(task: BGProcessingTask) { LogManager.shared.addBackgroundProcessLog("handleBackgroundTask triggered") print("handleBackgroundTask triggered") let dispatchGroup = DispatchGroup() dispatchGroup.enter() // Reschedule the background sync for the next time scheduleBackgroundHealthKitSync() var taskCancelled = false // Handling expiration task.expirationHandler = { taskCancelled = true LogManager.shared.addBackgroundProcessLog("Background task expired", isError: true) print("Background task expired") dispatchGroup.leave() } let healthKitManager = HealthKitManager.shared // Start the background sync operation healthKitManager.fetchAndSendAllTypes() { success in if success { LogManager.shared.addBackgroundProcessLog("HealthKit sync completed successfully") print("HealthKit sync completed successfully") } else { LogManager.shared.addBackgroundProcessLog("HealthKit sync failed", isError: true) print("HealthKit sync failed") } dispatchGroup.leave() } // Notify when all tasks are completed dispatchGroup.notify(queue: .main) { // Check if the task was cancelled using your own flag or state if taskCancelled { task.setTaskCompleted(success: false) // Fail the task if it was cancelled } else { task.setTaskCompleted(success: true) // Complete successfully if not cancelled } LogManager.shared.addBackgroundProcessLog("Background task ended with status: \(taskCancelled == false)") print("Background task completed with success: \(taskCancelled == false)") // Logs success or failure } } Here are the logs from my device. scheduling background task... BGProcessingTask scheduled
Replies
1
Boosts
0
Views
126
Activity
May ’25
Xcode and Supabase Package
Hi All, I'll start by saying i am complete beginner when it comes to coding/ developing. So please be easy on me, im also using AI tools to help and learn so apologies if what im saying doesnt make sense. The error im getting is /Services/SupabaseManager.swift:47:29 Cannot find 'GlobalOptions' in scope From AI tells me 'GlobalOptions' is defined a types.swift file in the supabase package public struct GlobalOptions: Sendable { /// Optional headers for initializing the client, it will be passed down to all sub-clients. public let headers: [String: String] /// A session to use for making requests, defaults to `URLSession.shared`. public let session: URLSession /// The logger to use across all Supabase sub-packages. public let logger: (any SupabaseLogger)? public init( headers: [String: String] = [:], session: URLSession = .shared, logger: (any SupabaseLogger)? = nil ) { self.headers = headers self.session = session self.logger = logger } } From what i can see i have added the supabase package successfully, following this guide - https://developer.apple.com/documentation/xcode/adding-package-dependencies-to-your-app Here are some screenshots of my xcode to show the added package.
Replies
3
Boosts
0
Views
167
Activity
Apr ’25
App Stuck on Launch Screen When Debugging on iOS 18.5 Device with Xcode 16.3
I am using a Mac computer running macOS 15.5 with Xcode version 16.3 (16E140) and an iPhone XS Max on iOS 18.5. When debugging my app on the real device using Xcode, the app gets stuck on the launch screen and fails to proceed to the main interface. There is no output in the Xcode console, and the top of the window continuously shows "attaching to [app name] on [iPhone name]". Here are the details: The same issue occurred when the phone was running iOS 18.4.1. When I tested on another real device running iOS 17, the app launched and ran normally. I’ve tried clearing the cache, but it didn’t help. I deleted the ~/Library/Developer/Xcode/iOS DeviceSupport folder, let it re-download the necessary files, and ran the app again, but the issue persists. I’m currently out of ideas and would appreciate any assistance.
Replies
1
Boosts
0
Views
194
Activity
May ’25
Refactor->Rename "Refactoring Engine Failure"
For Xcode 15 and Xcode 16, whenever I try to use the Refactor->Rename command I get a spinning busy cursor for a short while then I get an alert that says: Rename Failed Refactoring engine failure. This happens on several projects and I've tried removing the derived data folder, but am at a loss to find additional troubleshooting steps. Are there other files I might remove or reset to get my "Refactoring Engine" back into shape?
Replies
0
Boosts
0
Views
169
Activity
Jun ’25
Does Xcode still support capturing GPU workload for OpenGLES game app on iOS?
As far as I know, there was a time that you can capture GPU workload for opengles game app on iOS using Xcode. However, currently I'm using Xcode version 15.2 and iOS18,it seems the "capture GPU workload" button is always disabled when I'm trying to debug my game app which is using opengles api for graphics rendering no matter switchinng "GPU Frame Capture" to "OpenGL ES" or "Metal" or "Automatically" in the scheme. And I'm not able to capture GPU workload for my game on iOS. The only way to make the "capture GPU workload" button enabled is creating a new project using metal api for graphics rendering. But I don't want to change the graphics API, because it will cause a lot. Does Xcode still support capturing GPU workload for OpenGLES game app on iOS? If not, is there an alternative way?
Replies
0
Boosts
0
Views
102
Activity
Jun ’25
NO_CRASH_STACK with different number of crashes from the App Store.
Hello. For the last few months I have been facing a situation for which I do not understand either the reason or the solution. Here is an example for the last few weeks: In App Store Connect it shows 214 crashes for the last week In Xcode it shows 56 crashes for the last 2 weeks without stack traces (NO_CRASH_STACK) In Firebase Crashlytics there is not a single crash. When I click "Show in Finder" it opens a folder with .xccrashpoint files. As far as I understood from the instructions on posting crash reports - this is not what is needed. Interesting point: it looks like the errors occur on iOS 15-16 devices. I have several questions: Why is the number of crashes in Xcode different from the number in App Store Connect? Where are the other crashes? How can I understand what the problem is if there are no stack traces in Xcode?
Replies
0
Boosts
0
Views
122
Activity
May ’25
xcstrings CFBundleName value changes after building different target
Hi, I followed Xcode’s recommendation and migrated to the new strings format (*.strings → *.xcstrings) using the Migrate to String Catalog option. My project has two build targets: MyAppName MyAppNameVFSCopy Every time I build one or the other target, the value in the .xcstrings file changes under CFBundleName > en > stringUnit > value, switching between MyAppName and MyAppNameVFSCopy. As a result, Git detects a change in source control each time, which is quite annoying. How can I prevent this from happening? After building MyAppNameVFSCopy target, the "value" is MyAppNameVFSCopy "CFBundleName" : { "comment" : "Bundle name", "extractionState" : "extracted_with_value", "localizations" : { "en" : { "stringUnit" : { "state" : "new", "value" : "MyAppNameVFScopy" } } } } After building MyAppName target, the "value" changes to MyAppName "CFBundleName" : { "comment" : "Bundle name", "extractionState" : "extracted_with_value", "localizations" : { "en" : { "stringUnit" : { "state" : "new", "value" : "MyAppName" } } } } Deleting CFBundleName from *.xcstrings file didn't help. CFBundleName is automatically created again after building target. Both targets has it's on plist file. In those files: <key>CFBundleName</key> <string>${PRODUCT_NAME}</string> Attaching full xcstrings file InfoPlist.xcstrings
Replies
1
Boosts
0
Views
80
Activity
May ’25
Followed docs for "Local Package", how to add to 2nd project?
I have a couple apps in one git repository. I'd like to have a Swift package in that repo as well, shared by apps. In other words, I don't want a separate repo for the Swift package. I followed the instructions here: https://developer.apple.com/documentation/xcode/organizing-your-code-with-local-packages It seems to work. I can write code like this in my app: import MyLocalPackage func foo() { myLocalPackageFunc() } I notice that the package is not listed under Project > MyApp > Package Dependencies. I don't really care, as long as I can reuse code between apps. But when I try to add this package code to a 2nd app, I'm at a loss. I tried "Add Package Dependencies" and "Add Local", but that creates a different looking setup than the 1st app. The code is browsable in the project navigator. And when I try to build it says "Missing package product 'MyLocalPackage'. The documentation linked above, which I used for the 1st app, does a "New > Package". I don't want a new package. How can I connect the existing one?
Replies
0
Boosts
0
Views
118
Activity
May ’25
App crashing on real iPhone only (working fine on simulator and Xcode preview)
Hi, I'm currently facing an issue where my React Native app crashes only on a real iPhone. On the simulator and in Xcode preview, the app runs fine. Previously, I had an issue with FlatList regarding props.getItem, which I solved by installing some missing Babel dependencies. After that, everything worked correctly in the simulator. But when I try to open the app on a real device, it shows the splash screen and crashes immediately. I've already done a full clean and reset, including: npx react-native start --reset-cache Deleted node_modules and Pods, reinstalled everything Cleaned build folder via Xcode Deleted DerivedData Restarted Metro bundler and simulator/device The issue only happens on the physical device. Here’s a portion of the crash log IDate/Time: 2025-04-14 19:11:28.6796 -0300 Launch Time: 2025-04-14 19:11:28.5292 -0300 OS Version: iPhone OS 18.3.2 (22D82) Release Type: User Baseband Version: 4.20.03 Report Version: 104 Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Termination Reason: SIGNAL 6 Abort trap: 6 Terminating Process: JazminChebar [1973] Triggered by Thread: 0 Last Exception Backtrace: 0 CoreFoundation 0x19a0865fc __exceptionPreprocess + 164 (NSException.m:249) 1 libobjc.A.dylib 0x197601244 objc_exception_throw + 88 (objc-exception.mm:356) 2 JazminChebar 0x1009b2c04 RCTFatal + 568 (RCTAssert.m:147) 3 JazminChebar 0x1009c81f8 __28-[RCTCxxBridge handleError:]_block_invoke + 532 (RCTCxxBridge.mm:1178) 4 libdispatch.dylib 0x1a1e19248 _dispatch_call_block_and_release + 32 (init.c:1549) 5 libdispatch.dylib 0x1a1e1afa8 _dispatch_client_callout + 20 (object.m:576) 6 libdispatch.dylib 0x1a1e29a34 _dispatch_main_queue_drain + 984 (queue.c:8093) 7 libdispatch.dylib 0x1a1e2964c _dispatch_main_queue_callback_4CF + 44 (queue.c:8253) 8 CoreFoundation 0x19a0d2bcc CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE + 16 (CFRunLoop.c:1793) 9 CoreFoundation 0x19a0cf1c0 __CFRunLoopRun + 1996 (CFRunLoop.c:3163) 10 CoreFoundation 0x19a121284 CFRunLoopRunSpecific + 588 (CFRunLoop.c:3434) 11 GraphicsServices 0x1e73914c0 GSEventRunModal + 164 (GSEvent.c:2196) 12 UIKitCore 0x19cc6a674 -[UIApplication _run] + 816 (UIApplication.m:3846) 13 UIKitCore 0x19c890e88 UIApplicationMain + 340 (UIApplication.m:5503) 14 JazminChebar 0x100178708 main + 80 (main.m:7) 15 dyld 0x1c037dde8 start + 2724 (dyldMain.cpp:1338)
Replies
0
Boosts
0
Views
77
Activity
Apr ’25
SchemeBuildError: Failed to build the scheme
I have an iOS app, and I am trying to add a companion WatchOS app. My iOS app depends on 2 libraries: GoogleMobileAds FirebaseAnalyticsWithoutAdIdSupport When I add a new target for WatchOS, the preview build starts to fail. I am not adding any libraries to WatchOS. The Google Ads and Firebase Analytics libs are only under the iOS target. I am unable to run the preview, I get an error when trying to build the watch scheme. The preview does not work. The build just crashes. I've included the error log below. But, here are the steps I've tried so far: Delete folders inside Derived Data Run a clean build (Cmd + Option + Shift + K) Delete scheme and create a new one Reset Package Cache Restart Xcode Restart Macbook But, it just does not work. I do not understand why the watchOS target is erroring for "GoogleUserMessagingPlatform" and "GoogleMobileAdsTarget" when those packages are not linked/used for the watchOS. SchemeBuildError: Failed to build the scheme “timerWatch Watch App” While building for watchOS Simulator, no library for this platform was found in '/Users/k/Library/Developer/Xcode/DerivedData/timer-dhkdhvfcqtfgskfdxpmupujswtuh/SourcePackages/artifacts/swift-package-manager-google-user-messaging-platform/UserMessagingPlatform/UserMessagingPlatform.xcframework'. (in target 'UserMessagingPlatformTarget' from project 'GoogleUserMessagingPlatform') Build target UserMessagingPlatformTarget: /Users/k/Library/Developer/Xcode/DerivedData/timer-dhkdhvfcqtfgskfdxpmupujswtuh/SourcePackages/artifacts/swift-package-manager-google-user-messaging-platform/UserMessagingPlatform/UserMessagingPlatform.xcframework:1:1: error: While building for watchOS Simulator, no library for this platform was found in '/Users/k/Library/Developer/Xcode/DerivedData/timer-dhkdhvfcqtfgskfdxpmupujswtuh/SourcePackages/artifacts/swift-package-manager-google-user-messaging-platform/UserMessagingPlatform/UserMessagingPlatform.xcframework'. (in target 'UserMessagingPlatformTarget' from project 'GoogleUserMessagingPlatform') Build target GoogleMobileAdsTarget: /Users/k/Library/Developer/Xcode/DerivedData/timer-dhkdhvfcqtfgskfdxpmupujswtuh/SourcePackages/artifacts/swift-package-manager-google-mobile-ads/GoogleMobileAds/GoogleMobileAds.xcframework:1:1: error: While building for watchOS Simulator, no library for this platform was found in '/Users/k/Library/Developer/Xcode/DerivedData/timer-dhkdhvfcqtfgskfdxpmupujswtuh/SourcePackages/artifacts/swift-package-manager-google-mobile-ads/GoogleMobileAds/GoogleMobileAds.xcframework'. (in target 'GoogleMobileAdsTarget' from project 'GoogleMobileAds')
Replies
0
Boosts
0
Views
117
Activity
Apr ’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