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

Xcode Documentation

Posts under Xcode subtopic

Post

Replies

Boosts

Views

Activity

ASWebAuthenticationSession not working in Preview
class ViewModel : NSObject, ObservableObject, ASWebAuthenticationPresentationContextProviding { private var authSession: ASWebAuthenticationSession? func signInWithOpenID(provider: OAuthProvider) { let url = getOIDCAuthenticationURL(provider: provider) authSession?.cancel() authSession = nil authSession = ASWebAuthenticationSession(url: url, callbackURLScheme: "com.ninjanutri") { callbackURL, error in if let error = error { print("Error: \(error.localizedDescription)") return } guard let callbackURL = callbackURL else { return } guard let idToken = callbackURL.valueOf("id_token") else { return } self.signInWithIdToken(provider: provider, idToken: idToken) } authSession?.prefersEphemeralWebBrowserSession = false authSession?.presentationContextProvider = self authSession?.start() } public func presentationAnchor(for session: ASWebAuthenticationSession) -> ASPresentationAnchor { return ASPresentationAnchor() } } struct ContentView: View { @StateObject private var viewModel = ViewModel() var body: some View { Button { viewModel.signInWithOpenID(provider: .github) } label: { Text("Test") } } } when the prefersEphemeralWebBrowserSession is false, the alert and webview is totally working fine in Simulator and Real device, but not XCode Preview. Is this behaviour expected or it's a bug?
1
0
475
Dec ’24
Posting a Crash Report
If you need help investigating a crash, please include a crash report in your post. To smooth things along, follow these guidelines: For information on how to get a crash report, see Acquiring crash reports and diagnostic logs. Include the whole crash report as a text attachment (click the paperclip icon and then choose Add File). This avoids clogging up the timeline while also preserving the wealth of information in the crash report. If you’re not able to post your crash report as an attachment, see Can’t Post Crash Report as Attachment below. If you want to highlight a section of the report, include it in the main body of your post. Put the snippet in a code block so that it renders nicely. To create a code block, add a delimiter line containing triple backquotes before and after the block, or just click the Code Block button. If possible, post an Apple crash report. Third-party crash reporters are often missing critical information and have general reliability problems (for an explanation as to why, see Implementing Your Own Crash Reporter). Symbolicate your crash report before posting it. For information on how to do this, see Adding identifiable symbol names to a crash report. If you need to redact the crash report, do so consistently. Imagine you’re building the WaffleVarnish app whose bundle ID is com.example.wafflevarnish but you want to keep your new waffle varnishing technology secret. Replace WaffleVarnish with WwwwwwVvvvvvv and com.example.wafflevarnish with com.eeeeeee.wwwwwwvvvvvvv. This keeps the text in the crash report aligned while making it possible to distinguish the human-readible name of the app (WaffleVarnish) from the bundle ID (com.example.wafflevarnish). Finally, for information on how to use a crash report to debug your own problems, see Diagnosing issues using crash reports and device logs. Can’t Post Crash Report as Attachment Crash reports have two common extensions: .crash and .ips. If you have an .ips file, please post that [1]. DevForums lets you attach a .crash file but not an .ips file (r. 117468172). To work around this, change the extension to .txt. If DevForums complains that your crash report “contains sensitive language”, leave it out of your initial post and attach it to a reply. That often avoids this roadblock. If you still can’t post your crash report, upload it to a file sharing service and include the URL in your post. Post the URL in the clear, per tip 14 in Quinn’s Top Ten DevForums Tips. Getting a Crash Report from the Xcode Organiser The Xcode organiser shows crash reports from customers. If you’re investigating such a crash and want to post a crash report: Navigate to the crash in the Xcode organiser. Note If you can’t see the right crash, check the filter popups at the top. In the list of crashes, secondary click on your crash and choose Show in Finder. That reveals the Xcode crashpoint document (.xccrashpoint) in the Finder. Secondary click on that and choose Show Package Contents. In the resulting Finder window, find a crash report (.crash) that accurately represents the crash you’re investigating and attach that to your forums post. Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = "eskimo" + "1" + "@" + "apple.com" [1] Because it’s easy to go from an .ips file to a .crash file. I usually do this by choosing File > Quick Look in the Finder. For more info about these file formats, see this post. Revision History: 2025-08-29 Added the Getting a Crash Report from the Xcode Organiser section. 2024-11-21 Added a recommendation to post the .ips format if possible. 2024-05-21 Added some advice regarding the “contains sensitive language” message. 2023-10-25 Added the Can’t Post Crash Report as Attachment section. Made other minor editorial changes. 2021-08-26 First posted.
0
0
9.3k
Aug ’25
Unit tests fails to run on Xcode 16, but works fine on Xcode 15.4 and older Xcodes
Dear Apple & Community, I am encountering an issue while running my Unit tests on Xcode 16. I'm receiving the following error in the debugger area. Error loading /var/containers/Bundle/Application/FF057050-1BCC-49D8-9D3F-A3731E30F354/<Project_name>.app/PlugIns/<Project_name>.xctest/<Project_name>Tests (133): dlopen(/var/containers/Bundle/Application/FF057050-1BCC-49D8-9D3F-A3731E30F354/<Project_name>.app/PlugIns/<Project_name>.xctest/<Project_name>Tests, 0x0109): Symbol not found: _$s5Model11AccountDataV7TestingE4mockACvau Referenced from: <4027FFAF-5C6C-3F8A-9862-648D3D4A1257> /private/var/containers/Bundle/Application/FF057050-1BCC-49D8-9D3F-A3731E30F354/<Project_name>.app/PlugIns/<Project_name>.xctest/<Project_name>Tests Expected in: <406DF294-634D-3D8A-8E59-BEE455BA96AF> /System/Developer/Library/Frameworks/Testing.framework/Testing Failed to load test bundle from file:///private/var/containers/Bundle/Application/FF057050-1BCC-49D8-9D3F-A3731E30F354/<Project_name>.app/PlugIns/<Project_name>.xctest/: Error Domain=NSCocoaErrorDomain Code=3588 .....
2
0
366
Mar ’25
Bonjour Capabilities
I'm a noobie but doing a tutorial where it requires me to add these capabilities to my project. Access Wi-Fi Information Network Extentions Bonjour Services I have the Access Wi-Fi and Network Extentions installed but I could not find Bonjour Services Any help would be much appreciated! Thanks
0
0
145
Jan ’25
iOS xcode app, During "Distribute app" get error The archive contains nothing that can be signed
I had successfully distributed my app months ago and trying same today and get "The archive contains nothing that can be signed. Verify that your build process has compiled binaries and copied in bundled resources." message when I click the "Distribute app" button. My project is a simple iOS xcode project that I had success in same operation back on Feb 8, 2024, same project code and settings. Verbose log: 2025-01-22 00:49:43 +0000 [MT] Rejected distribution method <IDEDistributionMethodWatchOSAdHoc: 0x600004700d70> because it doesn't support distributing archive 2025-01-22 00:49:43 +0000 [MT] Rejected distribution method <IDEDistributionMethodWatchOSEnterprise: 0x600004700c30> because it doesn't support distributing archive 2025-01-22 00:49:43 +0000 [MT] Rejected distribution method <IDEDistributionMethodTVOSEnterprise: 0x600004700c90> because it doesn't support distributing archive 2025-01-22 00:49:43 +0000 [MT] Accepted distribution method <IDEDistributionMethodiOSEnterprise: 0x600004700c70> 2025-01-22 00:49:43 +0000 [MT] Accepted distribution method <IDEDistributionMethodDevelopmentSigned: 0x600004700c80> 2025-01-22 00:49:43 +0000 [MT] Rejected distribution method <IDEDistributionMethodTVOSDevelopmentSigned: 0x600004700d30> because it doesn't support distributing archive 2025-01-22 00:49:43 +0000 [MT] Rejected distribution method <IDEDistributionMethodWatchOSDevelopmentSigned: 0x600004700d90> because it doesn't support distributing archive 2025-01-22 00:49:43 +0000 [MT] Rejected distribution method <IDEDistributionMethodDeveloperIDNotarizedApp: 0x600004700d40> because it doesn't support distributing archive 2025-01-22 00:49:43 +0000 [MT] Rejected distribution method <IDEDistributionMethodDeveloperID: 0x600004700cf0> because it doesn't support distributing archive 2025-01-22 00:49:43 +0000 [MT] Rejected distribution method <IDEDistributionMethodSaveBuiltProducts: 0x600004700ca0> because it doesn't support distributing archive 2025-01-22 00:49:43 +0000 [MT] Rejected distribution method <IDEDistributionMethodDevelopmentSignedMac: 0x600004700d60> because it doesn't support distributing archive 2025-01-22 00:49:43 +0000 [MT] Rejected distribution method <IDEDistributionMethodExportArchive: 0x600004700c60> because it doesn't support distributing archive 2025-01-22 00:49:43 +0000 [MT] Rejected distribution method <IDEDistributionMethodMacApplication: 0x600004700d80> because it doesn't support distributing archive 2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodTVOSAppStoreDistribution: 0x600004700cd0> because it doesn't support distributing archive 2025-01-22 00:49:45 +0000 Accepted distribution method <IDEDistributionMethodiOSAppStoreDistribution: 0x600004700d10> 2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodiOSAppStoreValidation: 0x600004700d20> because it doesn't support distributing archive 2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodTVOSAppStoreValidation: 0x600004700cc0> because it doesn't support distributing archive 2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodMacAppStoreDistribution: 0x600004700c40> because it doesn't support distributing archive 2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodMacAppStoreValidation: 0x600004700c50> because it doesn't support distributing archive 2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodInAppPurchaseContentPackage: 0x600004700d50> because it doesn't support distributing archive 2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodMacAdHoc: 0x600004700d00> because it doesn't support distributing archive 2025-01-22 00:49:45 +0000 Accepted distribution method <IDEDistributionMethodiOSAdHoc: 0x600004700cb0> 2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodTVOSAdHoc: 0x600004700ce0> because it doesn't support distributing archive 2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodWatchOSAdHoc: 0x600004700d70> because it doesn't support distributing archive 2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodWatchOSEnterprise: 0x600004700c30> because it doesn't support distributing archive 2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodTVOSEnterprise: 0x600004700c90> because it doesn't support distributing archive 2025-01-22 00:49:45 +0000 Accepted distribution method <IDEDistributionMethodiOSEnterprise: 0x600004700c70> 2025-01-22 00:49:45 +0000 Accepted distribution method <IDEDistributionMethodDevelopmentSigned: 0x600004700c80> 2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodTVOSDevelopmentSigned: 0x600004700d30> because it doesn't support distributing archive 2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodWatchOSDevelopmentSigned: 0x600004700d90> because it doesn't support distributing archive 2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodDeveloperIDNotarizedApp: 0x600004700d40> because it doesn't support distributing archive 2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodDeveloperID: 0x600004700cf0> because it doesn't support distributing archive 2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodSaveBuiltProducts: 0x600004700ca0> because it doesn't support distributing archive 2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodDevelopmentSignedMac: 0x600004700d60> because it doesn't support distributing archive 2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodExportArchive: 0x600004700c60> because it doesn't support distributing archive 2025-01-22 00:49:45 +0000 Rejected distribution method <IDEDistributionMethodMacApplication: 0x600004700d80> because it doesn't support distributing archive 2025-01-22 00:49:45 +0000 Available distribution methods: {( <IDEDistributionMethodiOSAppStoreDistribution: 0x600004700d10>, <IDEDistributionMethodiOSAdHoc: 0x600004700cb0>, <IDEDistributionMethodiOSEnterprise: 0x600004700c70>, <IDEDistributionMethodDevelopmentSigned: 0x600004700c80> )} 2025-01-22 00:49:45 +0000 Step failed: <IDEDistributionAnalyzeArchiveStep: 0x6000084ddd40>: Error Domain=IDEDistributionErrorDomain Code=5 "The archive contains nothing that can be signed." UserInfo={NSLocalizedDescription=The archive contains nothing that can be signed., NSLocalizedRecoverySuggestion=Verify that your build process has compiled binaries and copied in bundled resources.}
0
0
285
Jan ’25
How to -disable-dynamic-actor-isolation FLAG
When I built my app with xCode16.2, the app crashed at runtime. When building, I got a warning "UIWebView' is deprecated: first deprecated in iOS 12.0 - No longer supported; please adopt WKWebView.", so I suspected the dynamic actor isolation check. When building, I tried setting the "-disable-dynamic-actor-isolation" flag, but the app still crashed. However, I think the flag is not set properly, so how should I set the "-disable-dynamic-actor-isolation" flag? I tried setting it as follows. Is this the correct way to set it? Swift Compiler - Custom Flags Other Swift Flags Debug Any Architecuture | Any SDK -disable-dynamic-actor-isolation Release Any Architecuture | Any SDK -disable-dynamic-actor-isolation
0
0
193
Dec ’24
Non-deterministic xctestplan files
Working with .xctestplan files reminds me very much of working with project files and nibs and storyboards back in the day 😅 It seems that they are non-deterministic. This means that every time we add a new test module or edit the inclusion rules at all the whole file is recomputed. But it doesn't have a fixed order so everything in the file changes. It makes it very difficult to see what has happened in PR reviews and causes conflicts any time anything is changed. TBH... because it isn't alphabetical, even just finding a particular test suite is difficult without changes. Are there any plans to bring this file format up to date with the likes of xcodeproj and xib files? It would help massively while working with source control in a larger team. Thanks
0
0
295
Mar ’25
can't get Xcode not to build x86_64 for Swift Packages
I'm trying to improve my build time on macOS by not building for x86_64. I've got the following settings: This gets Xcode not to build x86_64 for my app, but not all the package dependencies. I've updated most of the packages to swift-tools-version: 6.0 but FlatBuffers is still on 5.8 and .macOS(.v10_14). GPT claims: If your deployment target is set to macOS 10.15 or earlier, Xcode may force x86_64 support for compatibility reasons. But Xcode is building x86_64 for ALL my packages, even the ones that don't depend on FlatBuffers. When I open a package in Xcode that depends on FlatBuffers, then it builds arm only, so that may be a red herring. Not sure what else to try.
1
0
307
Mar ’25
"could not build module" errors on Xcode 16.2
Hello all:) I am using Xcode 16.2, react native 0.76, simulator -> iPhone 15(17.0), mac M1 Sequoia 15.2. Many "could not build module" errors appear while building files inside iPhoneSimulator18.2.sdk. The think is that I don't even use this simulator and if I try to delete it the Xcode hides all other simulator options and requires 18.2 to download.. Of course I already tried to clean and delete and reinstall everything but nothing works.. Any help is welcome:) Thanks!
1
0
490
Feb ’25
There is no longer a Frameworks and Libraries section for App Extensions with Xcode 16
I've got an existing app which is using some 3rd party xcframeworks within its app extensions (for example within a Notification Service Extension). Within the target for the app extensions there is a Frameworks and Libraries section where the xcframework was dragged and dropped into. However now I want to create a new project and do a similar thing, within the app's target there is a Frameworks and Libraries section, but when an app extension target is created, Xcode is not adding a Frameworks and Libraries section. There is a Link Library with Binary section, however this doesn't have an embed section (where you can select to embed, don't embed, embed without signing etc.) and I get build error trying to drag and drop the xcframework in here. Where id the Framewoks and Libraries section go for app extensions for projects created with Xcode 16? How can this section be added?
1
0
287
Feb ’25
Why are asynchronous tasks not executed in Xcode Canvas, and why do they only work in the simulator?
Hi everyone, I'm new to Xcode and iOS development. I've encountered an issue where asynchronous tasks seem to not execute in Xcode Canvas, but they work fine in the simulator. Can anyone explain why this might be happening or what I could do to fix it? Thank you for your help! struct PartnerProfileView: View { @State private var showSheet: Bool = true let partnerName: String var body: some View { ZStack(alignment: .bottom) { Color("EFEFF4_0F2534") ScrollView(showsIndicators: false) { headerSection() infoSection() .padding(.bottom, 5) sectionTitle("Other Skills") skillsGrid() sectionTitle("···") dynamicsSection() } .frame(maxWidth: .infinity, maxHeight: .infinity) CustomTabBar() } .navigationBarHidden(true) .ignoresSafeArea(edges: .all) .onAppear { print("PartnerProfileView received") Task { await BottomCustomPopup().present() } } .onChange(of: showSheet) { oldState, newValue in print("oldState \(oldState)") print("newValue \(newValue)") } } } //@MainActor struct BottomCustomPopup: BottomPopup { var body: some View { HStack(spacing: 0) { Text("Hello World") Spacer() Button(action: { Task { await dismissLastPopup() }}) { Text("Dismiss") } } .padding(.vertical, 20) .padding(.leading, 24) .padding(.trailing, 16) } }
1
0
373
Jan ’25
My app stops at 90% on testfight and doesn't download
I am creating an imessage sticker pack and I am having an issue with an update of my app. It publishes to test flight but I can't download it to test. My app has an extension of imessage. I have tried: Checking the size of the animated stickers. All are below 500kb My version number is 4.1.1. so no 0 I am really no sure what to do. Any suggestions would be appreciated.
0
0
212
Jan ’25