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

Xcode Documentation

Posts under Xcode subtopic

Post

Replies

Boosts

Views

Activity

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
iOS Simulator Error: UnityFramework Incompatible Platform
Hey everyone, I'm encountering an issue when trying to run my iOS application, which integrates a Unity project, on the iOS Simulator. I'm consistently getting a dlopen error 232 related to UnityFramework.framework. The full error message is: Error loading ...UnityFramework.framework/UnityFramework (232): dlopen(...UnityFramework.framework/UnityFramework, 0x0109): tried: '...UnityFramework.framework/UnityFramework' (mach-o file (...UnityFramework.framework/UnityFramework), but incompatible platform (have 'iOS', need 'iOS-sim')) It seems like the UnityFramework.framework is built for a physical iOS device (ARM architecture), but the simulator requires a different architecture (x86_64 for Intel Macs or arm64 for Apple Silicon Macs). I've already tried: Cleaning the build folder in Xcode. Checking the "Frameworks, Libraries, and Embedded Content" settings in my target's General tab. Could anyone provide guidance on how to properly configure my Unity build or Xcode project to ensure UnityFramework.framework includes the necessary simulator architectures? Any specific build settings in Unity or Xcode, or steps to re-export/re-integrate the framework, would be greatly appreciated! Thanks in advance for your help!
0
0
66
Jul ’25
Executable Path is a Directory
My build succeeded but I immediately got the following pop-up error: Executable Path is a Directory Domain: DVTMachOErrorDomain Code: 5 Recovery Suggestion: /Users/myname/Library/Developer/Xcode/DerivedData/Myapp-dwsmxozkmjfflagroxubgbfvahwq/Build/Products/Debug-iphonesimulator/Myapp.app is not a valid path to an executable file. User Info: {DVTErrorCreationDateKey = "2025-04-17 11:54:27 +0000"} Executable Path is a Directory Domain: DVTMachOErrorDomain Code: 5 Recovery Suggestion: /Users/myname/Library/Developer/Xcode/DerivedData/Myname-dwsmxozkmjfflagroxubgbfvahwq/Build/Products/Debug-iphonesimulator/Myname.app is not a valid path to an executable file. System Information macOS Version 15.5 (Build 24F5053f) Xcode 16.3 (23785) (Build 16E140) Applied and Failed Fixes: Upgrade to MacOS 15.5 Beta pod deintegrate/podinstall uninstall and reinstall Xcode Delete DerivedData folder Edit info.plist Executable File name
0
0
177
Apr ’25
Implementing Your Own Crash Reporter
I often get questions about third-party crash reporting. These usually show up in one of two contexts: Folks are trying to implement their own crash reporter. Folks have implemented their own crash reporter and are trying to debug a problem based on the report it generated. This is a complex issue and this post is my attempt to untangle some of that complexity. If you have a follow-up question about anything I've raised here, please put it in a new thread with the Debugging tag. IMPORTANT All of the following is my own direct experience. None of it should be considered official DTS policy. If you have a specific question that needs a direct answer — perhaps you’re trying to convince your boss that implementing your own crash reporter is a very bad idea — start a dedicated thread here on the forums and we can discuss the details there. Use whatever subtopic is appropriate for your issue, but make sure to add the Debugging tag so that I see it go by. Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = "eskimo" + "1" + "@" + "apple.com" Scope First, I can only speak to the technical side of this issue. There are other aspects that are beyond my remit: I don’t work for App Review, and only they can give definitive answers about what will or won’t be allowed on the store. Implementing your own crash reporter has significant privacy implications. IMPORTANT If you implement your own crash reporter, discuss the privacy impact with a lawyer. This post assumes that you are implementing your own crash reporter. A lot of folks use a crash reporter from another third party. From my perspective these are the same thing. If you use a custom crash reporter, you are responsible for its behaviour, both good and bad, regardless of where the actual code came from. Note If you use a crash reporter from another third party, run the tests outlined in Preserve the Apple Crash Report to verify that it’s working well. General Advice I strongly advise against implementing your own crash reporter. It’s very easy to create a basic crash reporter that works well enough to debug simple problems. It’s impossible to implement a good crash reporter, one that’s reliable, binary compatible, and sufficient to debug complex problems. The bulk of this post is a low-level explanation of that impossibility. Rather than attempting the impossible, I recommend that you lean in to Apple’s crash reporter. In recent years it’s acquired some really cool new features: If you’re creating an App Store app, the Xcode organiser gives you easy, interactive access to Apple crash reports. If you’re an enterprise developer, consider switching to Custom App Distribution. This yields all the benefits of App Store distribution without your app being generally available on the store. iOS 14 and macOS 12 report crashes in MetricKit. This is a very cool feature, and I’m surprised by how few people use it effectively. If you previously dismissed Apple crash reports as insufficient, I encourage you to reconsider that decision. Why Is This Impossible? Earlier I said “It’s impossible to implement a good crash reporter”, and I want to explain why I’m confident enough in my conclusions to use that specific word. There are two fundamental problems here: On iOS (and the other iOS-based platforms, watchOS and tvOS) your crash reporter must run inside the crashed process. That means it can never be 100% reliable. If the process is crashing then, by definition, it’s in an undefined state. Attempting to do real work in that state is just asking for problems [1]. To get good results your crash reporter must be intimately tied to system implementation details. These can change from release to release, which invalidates the assumptions made by your crash reporter. This isn’t a problem for the Apple crash reporter because it ships with the system. However, a crash reporter that’s built in to your product is always going to be brittle. I’m speaking from hard-won experience here. I worked for DTS during the PowerPC-to-Intel transition, and saw a lot of folks with custom crash reporters struggle through that process. Still, this post exists because lots of folks ignore this reality, so the subsequent sections contain advice about specific technical issues. WARNING Do not interpret any of the following as encouragement to implement your own crash reporter. I strongly advise against that. However, if you ignore my advice then you should at least try to minimise the risk, which is what the rest of this document is about. [1] On macOS it’s possible for your crash reporter to run out of process, just like the Apple crash reporter. However, possible is not the same as easy. In fact, running out of process can make things worse: It prevents you from geting critical state for the crashed process without being tightly bound to OS implementation details. It would be nice if Apple provided APIs for this sort of thing, but that’s currently not the case. Preserve the Apple Crash Report You must ensure that your crash reporter doesn’t disrupt the Apple crash reporter. This is important for three reasons: Some fraction of your crashes will not be caused by your code but by problems in framework code, and accurate Apple crash reports are critical in diagnosing such issues. When dealing with really hard-to-debug problems, you need the more obscure info that’s shown in the Apple crash report. If you’re working with someone from Apple (here on the forums, via a bug report, or a DTS case, or whatever), they’re going to want an accurate Apple crash report. If your crash reporter is disrupting the Apple crash reporter — either preventing it from generating crash reports entirely [1], or distorting those crash reports — that limits how much they can help you. IMPORTANT This is not a theoretical concern. The forums have many threads where I’ve been unable to help folks debug a gnarly problem because their third-party crash reporter didn’t preserve the Apple crash report (see here, here, and here for some examples). To avoid these issues I recommend that you test your crash reporter’s impact on the Apple crash reporter. The basic idea is: Create a program that generates a set of specific crashes. Run through each crash. Verify that your crash reporter produces sensible results. Verify that the Apple crash reporter produces the same results as it does without your crash reporter With regards step 1, your test suite should include: An un-handled language exception thrown by your code An un-handled language exception thrown by the OS (accessing an NSArray out of bounds is an easy way to get this) Various machine exceptions (at a minimum, memory access, illegal instruction, and breakpoint exceptions) Stack overflow Make sure to test all of these cases on both the main thread and a secondary thread. With regards step 4, check that the resulting Apple crash report includes correct values for: The exception info The crashed thread That thread’s state Any application-specific info, and especially the last exception backtrace [1] A particularly pathological behaviour here is to end your crash reporter by calling exit. This completely suppresses the Apple crash report. Some third-party language runtimes ‘helpfully’ include such a crash reporter, which makes it very hard to debug problems that occur within your process but outside of that language. Signals Many third-party crash reporters use UNIX signals to catch the crash. This is a shame because using Mach exception handling, the mechanism used by the Apple crash reporter, is generally a better option. However, there are two reasons to favour UNIX signals over Mach exception handling: On iOS-based platforms your crash reporter must run in-process, and doing in-process Mach exception handling is not feasible. Folks are a lot more familiar with UNIX signals. Mach exception handling, and Mach messaging in general, is pretty darned obscure. If you use UNIX signals for your crash reporter, be aware that this API has some gaping pitfalls. First and foremost, your signal handler can only use async signal safe functions [1]. You can find a list of these functions in sigaction man page [2] [3]. WARNING This list does not include malloc. This means that a crash reporter’s signal handler cannot use Objective-C or Swift, as there’s no way to constrain how those language runtimes allocate memory [4]. That means you’re stuck with C or C++, but even there you have to be careful to comply with this constraint. The Operative: It’s worse than you know. Captain Malcolm Reynolds: It usually is. Many crash reports use functions like backtrace (see its man page) to get a backtrace from their signal handler. There’s two problems with this: backtrace is not an async signal safe function. backtrace uses a naïve algorithm that doesn’t deal well with cross signal handler stack frames [5]. The latter point is particularly worrying, because it hides the identity of the stack frame that triggered the signal. If you’re going to backtrace out of a signal, you must use the crashed thread’s state (accessible via the handlers uap parameter) to start your backtrace. Apropos that, if your crash reporter wants to log the state of the crashed thread, that’s the place to get it. Your signal handler must be prepared to be called by multiple threads. A typical crashing signal (like SIGSEGV) is delivered to the thread that triggered the machine exception. While your signal handler is running on that thread, other threads in your process continue to run. One of these threads could crash, causing it to call your signal handler. It’s a good idea to suspend all threads in your process early in your signal handler. However, there’s no way to completely eliminate this window. Note The need to suspend all the other threads in your process is further evidence that sticking to async signal safe functions is required. An unsafe function might depend on a thread you’ve suspended. A typical crashing signal is delivered on the thread that triggered the machine exception. If the machine exception was caused by a stack overflow, the system won’t have enough stack space to call your signal handler. You can tell the system to switch to an alternative stack (see the discussion of SA_ONSTACK in the sigaction man page) but that isn’t a complete solution (because of the thread issue discussed immediately above). Finally, there’s the question of how to exit from your signal handler. You must not call exit. There’s two problems with doing that: exit is not async signal safe. In fact, exit can run arbitrary code via handlers registered with atexit. If you want to exit the process, call _exit. Exiting the process is a bad idea anyway, because it will prevent the Apple crash reporter from running. This is very poor form. For an explanation as to why, see Preserve the Apple Crash Report (above). A better solution is to unregister your signal handler (set it to SIG_DFL) and then return. This will cause the crashed process to continue execution, crash again, and generate a crash report via the Apple crash reporter. [1] While the common signals caught by a crash reporter are not technically async signals (except SIGABRT), you still have to treat them as async signals because they can occur on any thread at any time. [2] It’s reasonable to extend this list to other routines that are implemented as thin shims on a system call. For example, I have no qualms about calling vm_read (see below) from a signal handler. [3] Be aware, however, that even this list has caveats. See my Async Signal Safe Functions vs Dyld Lazy Binding post for details. [4] I expect that it’ll eventually be possible to write signal handlers in Swift, possibly using some facility that evolves from the the existing, but unsupported, @_noAllocation and @_noLocks attributes. If you’d like to get involved with that effort, I recommend that engage with the Swift Evolution process. [5] Cross signal handler stack frames are pushed on to the stack by the kernel when it runs a signal handler on a thread. As there’s no API to learn about the structure of these frames, there’s no way to backtrace across one of these frames in isolation. I’m happy to go into details but it’s really not relevant to this discussion [6]. If you’re interested, start a new thread with the Debugging tag and we can chat there. [6] (Arg, my footnotes have footnotes!) The exception to this is where your trying to generate a crash report for code running in a signal handler. That’s not easy, and frankly you’re better off avoiding signal handlers in general. Where possible, handle signals via a Dispatch event source. Reading Memory A signal handler must be very careful about the memory it touches, because the contents of that memory might have been corrupted by the crash that triggered the signal. My general rule here is that the signal handler can safely access: Its code Its stack (subject to the constraints discussed earlier) Its arguments Immutable global state In the last point, I’m using immutable to mean immutable after startup. It’s reasonable to set up some global state when the process starts, before installing your signal handler, and then rely on it in your signal handler. Changing any global state after the signal handler is installed is dangerous, and if you need to do that you must be careful to ensure that your signal handler sees consistent state, even though a crash might occur halfway through your change. You can’t protect this global state with a mutex because mutexes are not async signal safe (and even if they were you’d deadlock if the mutex was held by the thread that crashed). You should be able to use atomic operations for this, but atomic operations are notoriously hard to use correctly (if I had a dollar for every time I’ve pointed out to a developer they’re using atomic operations incorrectly, I’d be very badly paid (-: but that’s still a lot of developers!). If your signal handler reads other memory, it must take care to avoid crashing while doing that read. There’s no BSD-level API for this [1], so I recommend that you use vm_read. [1] The traditional UNIX approach for doing this is to install a signal handler to catch any memory access exceptions triggered by the read, but now we’re talking signal handling within a signal handler and that’s just silly. Writing Files If your want to write a crash report from your signal handler, you must use low-level UNIX APIs (open, write, close) because only those low-level APIs are documented to be async signal safe. You must also set up the path in advance because the standard APIs for determining where to write the file (NSFileManager, for example) are not async signal safe. Offline Symbolication Do not attempt to do symbolication from your signal handler. Rather, write enough information to your crash report to support offline symbolication. Specifically: The addresses to symbolicate For each Mach-O image in the process: The image’s path The image’s build UUID [1] The image’s load address You can get most of the Mach-O image information using the APIs in <mach-o/dyld.h> [2]. Be aware, however, that these APIs are not async signal safe. You’ll need to get this information in advance and cache it for your signal handler to record. This is complicated by the fact that the list of Mach-O images can change as you process loads and unloads code. This requires you to share mutable state with your signal handler, which is exactly what I recommend against in Reading Memory. Note You can learn about images loading and unloading using _dyld_register_func_for_add_image and _dyld_register_func_for_remove_image respectively. [1] If you’re unfamiliar with that term, see TN3178 Checking for and resolving build UUID problems and the documents it links to. [2] I believe you’ll need to parse the Mach-O load commands to get the build UUID. What to Include When deciding what to include in a crash report, there’s a three-way balance to be struck: The more information you include, the easier it is to diagnose problems. Some information is hard to obtain, either because there’s no public API to get that information, or because the API is not available to your crash reporter. Some information is so privacy-sensitive that it has no place in a crash report. Apple’s crash reporter strikes its own balance here, and I recommend that you try to include everything that it includes, subject to the limitations described in the second point. Here’s what I’d considered to be a minimal list: Information about the machine exception that triggered the crash For memory access exceptions, the address of the access that triggered the crash Backtraces of all the threads (sometimes the backtrace of a non-crashing thread can yield critical information about the crash) The crashed thread Its thread state A list of Mach-O images, as discussed in the Offline Symbolication section IMPORTANT Make sure you report the thread backtraces in a consistent order. Without that it’s hard to correlate information across crash reports. Revision History 2025-08-25 Added some links to examples of third-party crash reports not preserving the Apple crash report. Added a link to TN3178. Made other minor editorial changes. 2022-05-16 Fixed a broken link. 2021-09-10 Expanded the General Advice section to include pointers to Apple crash report resources, including MetricKit. Split the second half of that section out in to a new Why Is This Impossible? section. Made minor editoral changes. 2021-02-27 Fixed the formatting. Made minor editoral changes. 2019-05-13 Added a reference to my Async Signal Safe Functions vs Dyld Lazy Binding post. 2019-02-15 Expanded the introduction to the Preserve the Apple Crash Report section. 2019-02-14 Clarified the complexities of an out-of-process crash reporter. Added the What to Include section. Enhanced the Signals section to cover reentrancy and stack overflow. Made minor editoral changes. 2019-02-13 Made minor editoral changes. Added a new footnote to the Signals section. 2019-02-12 First posted.
0
0
19k
Aug ’25
Executable path is a directory XCode-16 iOS Simulator
I have the this issue when I run the app on iOS Simulator after updating to app to make it compatible with Xcode-16 and iOS-18. after upgradation to Xcode-16 its giving the above error "Executable path is a directory" .This app work fine on Xcode-15 . Note - The issue with iOS Simulator only. From XCode-16 build is created successfully and installed in iOS device.
0
0
73
May ’25
Is it possible to set the Derived Data location differently for different projects?
Within Xcode's settings location section is a drop down menu to switch between setting the derived data location to be default, relative or custom. However its a global setting. I work on more than one project simultaneously, and for one of them I want the location set to relative, but default for all the others. Is there any way of achieving that?
0
0
95
Apr ’25
UI Automation not waiting on WatchOS?
On my MacBook Pro M4 with macOS 15.5 and Xcode 16.4, I have a simple SwiftUI-based WatchOS application consisting of a NavigationSplitView that displays a short List of items, and a detail view consisting of a TabView {...}.tabViewStyle(.verticalPage) that displays a fixed number of "pages" of detailed information about the selected list item. When I use XCTest UI Automation with XCUIApplication(), I am finding that I need to add a sleep(1) after every interaction, such as a .tap() or .swipeUp() before I can attempt any assertion such as XCTAssertGreaterThan(app.cells.count, 3) to ensure that the top level List of items is more than 3. All the added sleep(1) statements are making the tests very slow... It appears that the WatchOS implementation of UI Automation lacks the ability to wait until the UI event queue is idle. Am I the only one seeing this?
0
0
137
Jun ’25
ncorrect Beta Xcode Error
Unable to Submit iOS App for App Review Due to Incorrect Beta Xcode Error I'm encountering an issue when trying to submit a new build of my iOS app to the App Store. The app launches from TestFlight without any problems, but when attempting to submit it for App Review, I get the following error: "This build is using a beta version of Xcode and can’t be submitted." However, I'm not using a beta version of Xcode. I've tested this with both the public releases of Xcode 16.3 and 16.2. The build logs show no issues with the SDK or Platform versions, but in App Store Connect, the metadata is displaying the following: Build SDK: $(SDK_PRODUCT_BUILD_VERSION) Build Platform: $(PLATFORM_PRODUCT_BUILD_VERSION) any suggestion would be greatly appreciated!
0
0
47
May ’25
App Unable to Archive After Xcode Update
Hi! I am having trouble getting my app to build successfully or archive since an xcode update a few months ago. Below is the error that shows in 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
74
May ’25
Stale Issues, refreshAllObjects() is not working
Hi Experts, Could you please help. Issue at high level: After Editing a View contains a Table entries, saved and hit back button to display View, Table entries are duplicated or displaying previous and current entries together. Here is my Issue in detailed. List view display, clicking on any row, would navigate to DisplayView of a record. I am displaying a table in DisplayView. DisplayView contains "row" as parameter, and it must be initialized in "init" method, where I use row.key and fetch another table (say ColorTab) using Color.Key. DisplayView contains "NavigationView", with Edit button. it displays fetched Colors. example Red and Green. when user click on Edit, it takes to EditPage. user can remove / add colors. Once user made changes, saved and hit back button. Table entries are duplicated or showing previous and current entries. Options tried, a) init method is only triggering 1st time, not triggering when back button clicked, I failed to use FetchRequest outside of init method, I tried on OnAppear too. i didn't trigger. b) Failed to use FetchRequest inside of var Body too. c) tried using viewContext.refreshAllObjects() .. it is not refreshing the table. Could you please help if there is solution for the issue. Thanks, Bhanu
0
0
86
May ’25
Xcode26 beta.2 build error
I am writing to report multiple issues encountered after updating to Xcode 26 Beta, which have significantly impacted my project's compilation and functionality. My project can run normally in Xcode16.3 version, Below are the specific problems, along with the steps I took to address them and the subsequent errors that arose: Symbol Not Found Error for _NSUserActivityTypeBrowsingWeb After updating to Xcode 26 Beta, my project failed to build with the error: "Symbol not found: _NSUserActivityTypeBrowsingWeb." To resolve this, I removed the MobileCoreServices framework from the Build Settings, as it appeared to be related. However, this led to a new error, indicating that this change introduced further complications. Clang++ Error: No Such File or Directory 'OpenGLES' Following the resolution of the first issue, I encountered a new error: "iOS clang++: error: no such file or directory: 'OpenGLES'." To address this, I added the OpenGLES.framework to the Build Phases. While this resolved the clang++ error, it triggered additional errors, suggesting that the underlying issue persists or new dependencies are conflicting. Recurring XIB File Compilation Errors My project uses XIB files, and every time I attempt to compile and run, Xcode reports errors related to different XIB files. Notably, when I open the reported XIB file, no errors are displayed within the Interface Builder. After saving or inspecting the file, the compilation error temporarily disappears, only for another XIB file to trigger the same issue in the next build. This creates a repetitive cycle. I have confirmed this is not a caching issue, as I clean the build cache (Product &gt; Clean Build Folder) before each run. If I skip cleaning the cache, the OpenGLES-related error (Issue 2) reappears, indicating potential interactions between these problems. These issues have made development with Xcode 26 Beta extremely challenging, as each attempted fix seems to introduce new errors, and the XIB issue creates a persistent loop. My setup includes: Xcode Version: 26.0 beta 2 (17A5241o) macOS Version:15.4.1 (24E263)
0
3
375
Jun ’25
Avoiding Plugin Execution in a Linked Swift Package During Top-Level Package Builds
I am working on an iOS project using Xcode 16.0 that leverages multiple Swift packages. Among these, I have a Shared Package that contains reusable code and is linked to several top-level feature packages (e.g., VideoPlayer, VideoEditor, etc.). The Shared Package includes a Swift Package Manager plugin for linting code standards, which is designed to execute during its own build process. However, when building a top-level package (e.g., VideoPlayer), the Shared Package is also built as part of the dependency graph. During this process, the linting plugin in the Shared Package is executed unnecessarily, even though the intent is to only build the Shared Package's code. This behavior results in a significant increase in build times for the top-level packages, as the linting plugin is executed every time the Shared Package is built indirectly. Key Details: Xcode Version: 16.0 Swift Package Manager: Used for dependency management. Issue: The linting plugin in the Shared Package executes during the build of top-level packages, increasing build times. Expected Behaviour: The plugin should only execute when the Shared Package is built directly, not when it is built as a dependency of a top-level package. I would like to know if there is a way to configure the Shared Package or the Swift Package Manager to prevent the plugin from executing when the Shared Package is built as a dependency of a top-level package, while still allowing the plugin to run when the Shared Package is built directly. Any guidance, configuration tips, or best practices to address this issue would be greatly appreciated.
0
0
97
Jul ’25
Playground with a Logger - Error: Couldn't look up symbols: __dso_handle
Xcode 16.4, MacOS Sequoia 15.5 If I try to use a logger in an Xcode Playground e.g. import os import UIKit var logger = Logger(subsystem: "Loggertest", category: "") logger.info("Hello, world!") I get the following error error: Couldn't look up symbols: ___dso_handle ___dso_handle Hint: The expression tried to call a function that is not present in the target, perhaps because it was optimized out by the compiler. Its the logger.info ... that is causing the error. I have raised FB18214090 but there are no other reports. I would be grateful if some of you could verify if the Playground runs or errors on your system. A workaround, still using Logger, would be a great help. Thanks, Chris
0
0
62
Jun ’25
iOS 3.1.3 SDK
Hello!!! I want to do a little project for the original iPhone running iOS 3.1.3 and I don’t find the SDK for iOS 3.1.3. I’ve tried downloading Xcode 3.1.3 from the Apple Developer site, but during the installation process, the iPhone SDK doesn’t appear to be included. I also tested Xcode 3.2.2, but it doesn’t seem to have the iPhone OS 3.1.3 SDK either. Does anyone still have the iPhone OS 3.1.3 SDK available or know where I can find it? Thanks!! Edgar
0
0
91
Jun ’25
Scope of GPT Training in Xcode 26
Hello, I watched WWDC 25 and saw that GPT will be integrated into Xcode. This raised a question for me. As far as I know, GPT models learn from user interactions. However, the GPT terms of use mention that business accounts are excluded from training. Does this also apply to the GPT integrated into Xcode 26? I couldn’t find any information about this in the Xcode 26 beta release notes or the Apple Developer Program License Agreement. If anyone knows where this is documented, I’d really appreciate it if you could share it. Also, if any Apple staff is reading this, I’d be grateful if you could clarify whether the same non-training policy applies within Xcode. Thank you!
0
0
64
Jun ’25
xcode 16.3 now not selecting correct Signing Certificate with Automatically Manage Signing Selected
HI, I upgraded to macos 15.5 and xcode 16.3. Last year I was able to update one of my apps on the App Store without issues. Today, after a successful Testflight test, I now need to submit a new version of my app to the App Store for Distribution as the next version/build. However, when I configure a manual setting for the signing, I can select the correct choices. But when I click automatically manage signing, and choose the correct team, xcode put in the wrong signing certificate. It is choose a development one, and not the distribution one. I am concerned about this since I have read that when using the Archive tool, it choses the automatically manage signing by default. And that check box is selecting the "default" settings. I do not know where these default settings are being set, or how to fix this issue. I do not see any info in my searching up to this point. I hope someone can help. thank you, cc
0
0
108
May ’25
Xcode completion binding not working in 16.2
I'm wondering why 'Select Previous Completion' and 'Select Next Completion' aren't working. I'm using Ctrl-K and Ctrl-J but only my arrow keys work to navigation the completion list. 'Show Completion List' works just fine with Ctrl-Esc. There are no conflicts with any Xcode bindings, and I've checked my system settings for keyboard shortcuts as well.. I've completely disabled copilot, etc.. Is there another setting I'm missing? Or, is this a known issue?
0
0
38
Apr ’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
iOS Simulator Error: UnityFramework Incompatible Platform
Hey everyone, I'm encountering an issue when trying to run my iOS application, which integrates a Unity project, on the iOS Simulator. I'm consistently getting a dlopen error 232 related to UnityFramework.framework. The full error message is: Error loading ...UnityFramework.framework/UnityFramework (232): dlopen(...UnityFramework.framework/UnityFramework, 0x0109): tried: '...UnityFramework.framework/UnityFramework' (mach-o file (...UnityFramework.framework/UnityFramework), but incompatible platform (have 'iOS', need 'iOS-sim')) It seems like the UnityFramework.framework is built for a physical iOS device (ARM architecture), but the simulator requires a different architecture (x86_64 for Intel Macs or arm64 for Apple Silicon Macs). I've already tried: Cleaning the build folder in Xcode. Checking the "Frameworks, Libraries, and Embedded Content" settings in my target's General tab. Could anyone provide guidance on how to properly configure my Unity build or Xcode project to ensure UnityFramework.framework includes the necessary simulator architectures? Any specific build settings in Unity or Xcode, or steps to re-export/re-integrate the framework, would be greatly appreciated! Thanks in advance for your help!
Replies
0
Boosts
0
Views
66
Activity
Jul ’25
Executable Path is a Directory
My build succeeded but I immediately got the following pop-up error: Executable Path is a Directory Domain: DVTMachOErrorDomain Code: 5 Recovery Suggestion: /Users/myname/Library/Developer/Xcode/DerivedData/Myapp-dwsmxozkmjfflagroxubgbfvahwq/Build/Products/Debug-iphonesimulator/Myapp.app is not a valid path to an executable file. User Info: {DVTErrorCreationDateKey = "2025-04-17 11:54:27 +0000"} Executable Path is a Directory Domain: DVTMachOErrorDomain Code: 5 Recovery Suggestion: /Users/myname/Library/Developer/Xcode/DerivedData/Myname-dwsmxozkmjfflagroxubgbfvahwq/Build/Products/Debug-iphonesimulator/Myname.app is not a valid path to an executable file. System Information macOS Version 15.5 (Build 24F5053f) Xcode 16.3 (23785) (Build 16E140) Applied and Failed Fixes: Upgrade to MacOS 15.5 Beta pod deintegrate/podinstall uninstall and reinstall Xcode Delete DerivedData folder Edit info.plist Executable File name
Replies
0
Boosts
0
Views
177
Activity
Apr ’25
Implementing Your Own Crash Reporter
I often get questions about third-party crash reporting. These usually show up in one of two contexts: Folks are trying to implement their own crash reporter. Folks have implemented their own crash reporter and are trying to debug a problem based on the report it generated. This is a complex issue and this post is my attempt to untangle some of that complexity. If you have a follow-up question about anything I've raised here, please put it in a new thread with the Debugging tag. IMPORTANT All of the following is my own direct experience. None of it should be considered official DTS policy. If you have a specific question that needs a direct answer — perhaps you’re trying to convince your boss that implementing your own crash reporter is a very bad idea — start a dedicated thread here on the forums and we can discuss the details there. Use whatever subtopic is appropriate for your issue, but make sure to add the Debugging tag so that I see it go by. Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = "eskimo" + "1" + "@" + "apple.com" Scope First, I can only speak to the technical side of this issue. There are other aspects that are beyond my remit: I don’t work for App Review, and only they can give definitive answers about what will or won’t be allowed on the store. Implementing your own crash reporter has significant privacy implications. IMPORTANT If you implement your own crash reporter, discuss the privacy impact with a lawyer. This post assumes that you are implementing your own crash reporter. A lot of folks use a crash reporter from another third party. From my perspective these are the same thing. If you use a custom crash reporter, you are responsible for its behaviour, both good and bad, regardless of where the actual code came from. Note If you use a crash reporter from another third party, run the tests outlined in Preserve the Apple Crash Report to verify that it’s working well. General Advice I strongly advise against implementing your own crash reporter. It’s very easy to create a basic crash reporter that works well enough to debug simple problems. It’s impossible to implement a good crash reporter, one that’s reliable, binary compatible, and sufficient to debug complex problems. The bulk of this post is a low-level explanation of that impossibility. Rather than attempting the impossible, I recommend that you lean in to Apple’s crash reporter. In recent years it’s acquired some really cool new features: If you’re creating an App Store app, the Xcode organiser gives you easy, interactive access to Apple crash reports. If you’re an enterprise developer, consider switching to Custom App Distribution. This yields all the benefits of App Store distribution without your app being generally available on the store. iOS 14 and macOS 12 report crashes in MetricKit. This is a very cool feature, and I’m surprised by how few people use it effectively. If you previously dismissed Apple crash reports as insufficient, I encourage you to reconsider that decision. Why Is This Impossible? Earlier I said “It’s impossible to implement a good crash reporter”, and I want to explain why I’m confident enough in my conclusions to use that specific word. There are two fundamental problems here: On iOS (and the other iOS-based platforms, watchOS and tvOS) your crash reporter must run inside the crashed process. That means it can never be 100% reliable. If the process is crashing then, by definition, it’s in an undefined state. Attempting to do real work in that state is just asking for problems [1]. To get good results your crash reporter must be intimately tied to system implementation details. These can change from release to release, which invalidates the assumptions made by your crash reporter. This isn’t a problem for the Apple crash reporter because it ships with the system. However, a crash reporter that’s built in to your product is always going to be brittle. I’m speaking from hard-won experience here. I worked for DTS during the PowerPC-to-Intel transition, and saw a lot of folks with custom crash reporters struggle through that process. Still, this post exists because lots of folks ignore this reality, so the subsequent sections contain advice about specific technical issues. WARNING Do not interpret any of the following as encouragement to implement your own crash reporter. I strongly advise against that. However, if you ignore my advice then you should at least try to minimise the risk, which is what the rest of this document is about. [1] On macOS it’s possible for your crash reporter to run out of process, just like the Apple crash reporter. However, possible is not the same as easy. In fact, running out of process can make things worse: It prevents you from geting critical state for the crashed process without being tightly bound to OS implementation details. It would be nice if Apple provided APIs for this sort of thing, but that’s currently not the case. Preserve the Apple Crash Report You must ensure that your crash reporter doesn’t disrupt the Apple crash reporter. This is important for three reasons: Some fraction of your crashes will not be caused by your code but by problems in framework code, and accurate Apple crash reports are critical in diagnosing such issues. When dealing with really hard-to-debug problems, you need the more obscure info that’s shown in the Apple crash report. If you’re working with someone from Apple (here on the forums, via a bug report, or a DTS case, or whatever), they’re going to want an accurate Apple crash report. If your crash reporter is disrupting the Apple crash reporter — either preventing it from generating crash reports entirely [1], or distorting those crash reports — that limits how much they can help you. IMPORTANT This is not a theoretical concern. The forums have many threads where I’ve been unable to help folks debug a gnarly problem because their third-party crash reporter didn’t preserve the Apple crash report (see here, here, and here for some examples). To avoid these issues I recommend that you test your crash reporter’s impact on the Apple crash reporter. The basic idea is: Create a program that generates a set of specific crashes. Run through each crash. Verify that your crash reporter produces sensible results. Verify that the Apple crash reporter produces the same results as it does without your crash reporter With regards step 1, your test suite should include: An un-handled language exception thrown by your code An un-handled language exception thrown by the OS (accessing an NSArray out of bounds is an easy way to get this) Various machine exceptions (at a minimum, memory access, illegal instruction, and breakpoint exceptions) Stack overflow Make sure to test all of these cases on both the main thread and a secondary thread. With regards step 4, check that the resulting Apple crash report includes correct values for: The exception info The crashed thread That thread’s state Any application-specific info, and especially the last exception backtrace [1] A particularly pathological behaviour here is to end your crash reporter by calling exit. This completely suppresses the Apple crash report. Some third-party language runtimes ‘helpfully’ include such a crash reporter, which makes it very hard to debug problems that occur within your process but outside of that language. Signals Many third-party crash reporters use UNIX signals to catch the crash. This is a shame because using Mach exception handling, the mechanism used by the Apple crash reporter, is generally a better option. However, there are two reasons to favour UNIX signals over Mach exception handling: On iOS-based platforms your crash reporter must run in-process, and doing in-process Mach exception handling is not feasible. Folks are a lot more familiar with UNIX signals. Mach exception handling, and Mach messaging in general, is pretty darned obscure. If you use UNIX signals for your crash reporter, be aware that this API has some gaping pitfalls. First and foremost, your signal handler can only use async signal safe functions [1]. You can find a list of these functions in sigaction man page [2] [3]. WARNING This list does not include malloc. This means that a crash reporter’s signal handler cannot use Objective-C or Swift, as there’s no way to constrain how those language runtimes allocate memory [4]. That means you’re stuck with C or C++, but even there you have to be careful to comply with this constraint. The Operative: It’s worse than you know. Captain Malcolm Reynolds: It usually is. Many crash reports use functions like backtrace (see its man page) to get a backtrace from their signal handler. There’s two problems with this: backtrace is not an async signal safe function. backtrace uses a naïve algorithm that doesn’t deal well with cross signal handler stack frames [5]. The latter point is particularly worrying, because it hides the identity of the stack frame that triggered the signal. If you’re going to backtrace out of a signal, you must use the crashed thread’s state (accessible via the handlers uap parameter) to start your backtrace. Apropos that, if your crash reporter wants to log the state of the crashed thread, that’s the place to get it. Your signal handler must be prepared to be called by multiple threads. A typical crashing signal (like SIGSEGV) is delivered to the thread that triggered the machine exception. While your signal handler is running on that thread, other threads in your process continue to run. One of these threads could crash, causing it to call your signal handler. It’s a good idea to suspend all threads in your process early in your signal handler. However, there’s no way to completely eliminate this window. Note The need to suspend all the other threads in your process is further evidence that sticking to async signal safe functions is required. An unsafe function might depend on a thread you’ve suspended. A typical crashing signal is delivered on the thread that triggered the machine exception. If the machine exception was caused by a stack overflow, the system won’t have enough stack space to call your signal handler. You can tell the system to switch to an alternative stack (see the discussion of SA_ONSTACK in the sigaction man page) but that isn’t a complete solution (because of the thread issue discussed immediately above). Finally, there’s the question of how to exit from your signal handler. You must not call exit. There’s two problems with doing that: exit is not async signal safe. In fact, exit can run arbitrary code via handlers registered with atexit. If you want to exit the process, call _exit. Exiting the process is a bad idea anyway, because it will prevent the Apple crash reporter from running. This is very poor form. For an explanation as to why, see Preserve the Apple Crash Report (above). A better solution is to unregister your signal handler (set it to SIG_DFL) and then return. This will cause the crashed process to continue execution, crash again, and generate a crash report via the Apple crash reporter. [1] While the common signals caught by a crash reporter are not technically async signals (except SIGABRT), you still have to treat them as async signals because they can occur on any thread at any time. [2] It’s reasonable to extend this list to other routines that are implemented as thin shims on a system call. For example, I have no qualms about calling vm_read (see below) from a signal handler. [3] Be aware, however, that even this list has caveats. See my Async Signal Safe Functions vs Dyld Lazy Binding post for details. [4] I expect that it’ll eventually be possible to write signal handlers in Swift, possibly using some facility that evolves from the the existing, but unsupported, @_noAllocation and @_noLocks attributes. If you’d like to get involved with that effort, I recommend that engage with the Swift Evolution process. [5] Cross signal handler stack frames are pushed on to the stack by the kernel when it runs a signal handler on a thread. As there’s no API to learn about the structure of these frames, there’s no way to backtrace across one of these frames in isolation. I’m happy to go into details but it’s really not relevant to this discussion [6]. If you’re interested, start a new thread with the Debugging tag and we can chat there. [6] (Arg, my footnotes have footnotes!) The exception to this is where your trying to generate a crash report for code running in a signal handler. That’s not easy, and frankly you’re better off avoiding signal handlers in general. Where possible, handle signals via a Dispatch event source. Reading Memory A signal handler must be very careful about the memory it touches, because the contents of that memory might have been corrupted by the crash that triggered the signal. My general rule here is that the signal handler can safely access: Its code Its stack (subject to the constraints discussed earlier) Its arguments Immutable global state In the last point, I’m using immutable to mean immutable after startup. It’s reasonable to set up some global state when the process starts, before installing your signal handler, and then rely on it in your signal handler. Changing any global state after the signal handler is installed is dangerous, and if you need to do that you must be careful to ensure that your signal handler sees consistent state, even though a crash might occur halfway through your change. You can’t protect this global state with a mutex because mutexes are not async signal safe (and even if they were you’d deadlock if the mutex was held by the thread that crashed). You should be able to use atomic operations for this, but atomic operations are notoriously hard to use correctly (if I had a dollar for every time I’ve pointed out to a developer they’re using atomic operations incorrectly, I’d be very badly paid (-: but that’s still a lot of developers!). If your signal handler reads other memory, it must take care to avoid crashing while doing that read. There’s no BSD-level API for this [1], so I recommend that you use vm_read. [1] The traditional UNIX approach for doing this is to install a signal handler to catch any memory access exceptions triggered by the read, but now we’re talking signal handling within a signal handler and that’s just silly. Writing Files If your want to write a crash report from your signal handler, you must use low-level UNIX APIs (open, write, close) because only those low-level APIs are documented to be async signal safe. You must also set up the path in advance because the standard APIs for determining where to write the file (NSFileManager, for example) are not async signal safe. Offline Symbolication Do not attempt to do symbolication from your signal handler. Rather, write enough information to your crash report to support offline symbolication. Specifically: The addresses to symbolicate For each Mach-O image in the process: The image’s path The image’s build UUID [1] The image’s load address You can get most of the Mach-O image information using the APIs in <mach-o/dyld.h> [2]. Be aware, however, that these APIs are not async signal safe. You’ll need to get this information in advance and cache it for your signal handler to record. This is complicated by the fact that the list of Mach-O images can change as you process loads and unloads code. This requires you to share mutable state with your signal handler, which is exactly what I recommend against in Reading Memory. Note You can learn about images loading and unloading using _dyld_register_func_for_add_image and _dyld_register_func_for_remove_image respectively. [1] If you’re unfamiliar with that term, see TN3178 Checking for and resolving build UUID problems and the documents it links to. [2] I believe you’ll need to parse the Mach-O load commands to get the build UUID. What to Include When deciding what to include in a crash report, there’s a three-way balance to be struck: The more information you include, the easier it is to diagnose problems. Some information is hard to obtain, either because there’s no public API to get that information, or because the API is not available to your crash reporter. Some information is so privacy-sensitive that it has no place in a crash report. Apple’s crash reporter strikes its own balance here, and I recommend that you try to include everything that it includes, subject to the limitations described in the second point. Here’s what I’d considered to be a minimal list: Information about the machine exception that triggered the crash For memory access exceptions, the address of the access that triggered the crash Backtraces of all the threads (sometimes the backtrace of a non-crashing thread can yield critical information about the crash) The crashed thread Its thread state A list of Mach-O images, as discussed in the Offline Symbolication section IMPORTANT Make sure you report the thread backtraces in a consistent order. Without that it’s hard to correlate information across crash reports. Revision History 2025-08-25 Added some links to examples of third-party crash reports not preserving the Apple crash report. Added a link to TN3178. Made other minor editorial changes. 2022-05-16 Fixed a broken link. 2021-09-10 Expanded the General Advice section to include pointers to Apple crash report resources, including MetricKit. Split the second half of that section out in to a new Why Is This Impossible? section. Made minor editoral changes. 2021-02-27 Fixed the formatting. Made minor editoral changes. 2019-05-13 Added a reference to my Async Signal Safe Functions vs Dyld Lazy Binding post. 2019-02-15 Expanded the introduction to the Preserve the Apple Crash Report section. 2019-02-14 Clarified the complexities of an out-of-process crash reporter. Added the What to Include section. Enhanced the Signals section to cover reentrancy and stack overflow. Made minor editoral changes. 2019-02-13 Made minor editoral changes. Added a new footnote to the Signals section. 2019-02-12 First posted.
Replies
0
Boosts
0
Views
19k
Activity
Aug ’25
Executable path is a directory XCode-16 iOS Simulator
I have the this issue when I run the app on iOS Simulator after updating to app to make it compatible with Xcode-16 and iOS-18. after upgradation to Xcode-16 its giving the above error "Executable path is a directory" .This app work fine on Xcode-15 . Note - The issue with iOS Simulator only. From XCode-16 build is created successfully and installed in iOS device.
Replies
0
Boosts
0
Views
73
Activity
May ’25
How to track down issues in debug memory graph
When I run the debug memory graph from Xcode I'm getting a set of system objects with warnings. Are there any tips on how to locate what might be causing these?
Replies
0
Boosts
0
Views
112
Activity
Jun ’25
Is it possible to set the Derived Data location differently for different projects?
Within Xcode's settings location section is a drop down menu to switch between setting the derived data location to be default, relative or custom. However its a global setting. I work on more than one project simultaneously, and for one of them I want the location set to relative, but default for all the others. Is there any way of achieving that?
Replies
0
Boosts
0
Views
95
Activity
Apr ’25
UI Automation not waiting on WatchOS?
On my MacBook Pro M4 with macOS 15.5 and Xcode 16.4, I have a simple SwiftUI-based WatchOS application consisting of a NavigationSplitView that displays a short List of items, and a detail view consisting of a TabView {...}.tabViewStyle(.verticalPage) that displays a fixed number of "pages" of detailed information about the selected list item. When I use XCTest UI Automation with XCUIApplication(), I am finding that I need to add a sleep(1) after every interaction, such as a .tap() or .swipeUp() before I can attempt any assertion such as XCTAssertGreaterThan(app.cells.count, 3) to ensure that the top level List of items is more than 3. All the added sleep(1) statements are making the tests very slow... It appears that the WatchOS implementation of UI Automation lacks the ability to wait until the UI event queue is idle. Am I the only one seeing this?
Replies
0
Boosts
0
Views
137
Activity
Jun ’25
ncorrect Beta Xcode Error
Unable to Submit iOS App for App Review Due to Incorrect Beta Xcode Error I'm encountering an issue when trying to submit a new build of my iOS app to the App Store. The app launches from TestFlight without any problems, but when attempting to submit it for App Review, I get the following error: "This build is using a beta version of Xcode and can’t be submitted." However, I'm not using a beta version of Xcode. I've tested this with both the public releases of Xcode 16.3 and 16.2. The build logs show no issues with the SDK or Platform versions, but in App Store Connect, the metadata is displaying the following: Build SDK: $(SDK_PRODUCT_BUILD_VERSION) Build Platform: $(PLATFORM_PRODUCT_BUILD_VERSION) any suggestion would be greatly appreciated!
Replies
0
Boosts
0
Views
47
Activity
May ’25
App Unable to Archive After Xcode Update
Hi! I am having trouble getting my app to build successfully or archive since an xcode update a few months ago. Below is the error that shows in 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
74
Activity
May ’25
Stale Issues, refreshAllObjects() is not working
Hi Experts, Could you please help. Issue at high level: After Editing a View contains a Table entries, saved and hit back button to display View, Table entries are duplicated or displaying previous and current entries together. Here is my Issue in detailed. List view display, clicking on any row, would navigate to DisplayView of a record. I am displaying a table in DisplayView. DisplayView contains "row" as parameter, and it must be initialized in "init" method, where I use row.key and fetch another table (say ColorTab) using Color.Key. DisplayView contains "NavigationView", with Edit button. it displays fetched Colors. example Red and Green. when user click on Edit, it takes to EditPage. user can remove / add colors. Once user made changes, saved and hit back button. Table entries are duplicated or showing previous and current entries. Options tried, a) init method is only triggering 1st time, not triggering when back button clicked, I failed to use FetchRequest outside of init method, I tried on OnAppear too. i didn't trigger. b) Failed to use FetchRequest inside of var Body too. c) tried using viewContext.refreshAllObjects() .. it is not refreshing the table. Could you please help if there is solution for the issue. Thanks, Bhanu
Replies
0
Boosts
0
Views
86
Activity
May ’25
Xcode26 beta.2 build error
I am writing to report multiple issues encountered after updating to Xcode 26 Beta, which have significantly impacted my project's compilation and functionality. My project can run normally in Xcode16.3 version, Below are the specific problems, along with the steps I took to address them and the subsequent errors that arose: Symbol Not Found Error for _NSUserActivityTypeBrowsingWeb After updating to Xcode 26 Beta, my project failed to build with the error: "Symbol not found: _NSUserActivityTypeBrowsingWeb." To resolve this, I removed the MobileCoreServices framework from the Build Settings, as it appeared to be related. However, this led to a new error, indicating that this change introduced further complications. Clang++ Error: No Such File or Directory 'OpenGLES' Following the resolution of the first issue, I encountered a new error: "iOS clang++: error: no such file or directory: 'OpenGLES'." To address this, I added the OpenGLES.framework to the Build Phases. While this resolved the clang++ error, it triggered additional errors, suggesting that the underlying issue persists or new dependencies are conflicting. Recurring XIB File Compilation Errors My project uses XIB files, and every time I attempt to compile and run, Xcode reports errors related to different XIB files. Notably, when I open the reported XIB file, no errors are displayed within the Interface Builder. After saving or inspecting the file, the compilation error temporarily disappears, only for another XIB file to trigger the same issue in the next build. This creates a repetitive cycle. I have confirmed this is not a caching issue, as I clean the build cache (Product &gt; Clean Build Folder) before each run. If I skip cleaning the cache, the OpenGLES-related error (Issue 2) reappears, indicating potential interactions between these problems. These issues have made development with Xcode 26 Beta extremely challenging, as each attempted fix seems to introduce new errors, and the XIB issue creates a persistent loop. My setup includes: Xcode Version: 26.0 beta 2 (17A5241o) macOS Version:15.4.1 (24E263)
Replies
0
Boosts
3
Views
375
Activity
Jun ’25
A problem occurs in Xcode,needs your help!
The Mac has an Intel chip and has Xcode 15.2 installed. After launching Xcode, the canvas interface keeps spinning and cannot display synchronously normally. The simulator also takes a long time to start. Seeking help to resolve this issue.
Replies
0
Boosts
0
Views
139
Activity
Aug ’25
Xcode version 16.4 supports uploading icons at specific dimensions, but there is a conflict with the warnings displayed during archiving
Xcode version 16.4 (16F6) now only supports uploading a 1024x1024 icon, but during archiving, it keeps prompting that a 120x120 icon is missing. Attempts to add the image in Assets didn't work. How can this issue be resolved?"
Replies
0
Boosts
0
Views
81
Activity
Aug ’25
Avoiding Plugin Execution in a Linked Swift Package During Top-Level Package Builds
I am working on an iOS project using Xcode 16.0 that leverages multiple Swift packages. Among these, I have a Shared Package that contains reusable code and is linked to several top-level feature packages (e.g., VideoPlayer, VideoEditor, etc.). The Shared Package includes a Swift Package Manager plugin for linting code standards, which is designed to execute during its own build process. However, when building a top-level package (e.g., VideoPlayer), the Shared Package is also built as part of the dependency graph. During this process, the linting plugin in the Shared Package is executed unnecessarily, even though the intent is to only build the Shared Package's code. This behavior results in a significant increase in build times for the top-level packages, as the linting plugin is executed every time the Shared Package is built indirectly. Key Details: Xcode Version: 16.0 Swift Package Manager: Used for dependency management. Issue: The linting plugin in the Shared Package executes during the build of top-level packages, increasing build times. Expected Behaviour: The plugin should only execute when the Shared Package is built directly, not when it is built as a dependency of a top-level package. I would like to know if there is a way to configure the Shared Package or the Swift Package Manager to prevent the plugin from executing when the Shared Package is built as a dependency of a top-level package, while still allowing the plugin to run when the Shared Package is built directly. Any guidance, configuration tips, or best practices to address this issue would be greatly appreciated.
Replies
0
Boosts
0
Views
97
Activity
Jul ’25
Playground with a Logger - Error: Couldn't look up symbols: __dso_handle
Xcode 16.4, MacOS Sequoia 15.5 If I try to use a logger in an Xcode Playground e.g. import os import UIKit var logger = Logger(subsystem: "Loggertest", category: "") logger.info("Hello, world!") I get the following error error: Couldn't look up symbols: ___dso_handle ___dso_handle Hint: The expression tried to call a function that is not present in the target, perhaps because it was optimized out by the compiler. Its the logger.info ... that is causing the error. I have raised FB18214090 but there are no other reports. I would be grateful if some of you could verify if the Playground runs or errors on your system. A workaround, still using Logger, would be a great help. Thanks, Chris
Replies
0
Boosts
0
Views
62
Activity
Jun ’25
iOS 3.1.3 SDK
Hello!!! I want to do a little project for the original iPhone running iOS 3.1.3 and I don’t find the SDK for iOS 3.1.3. I’ve tried downloading Xcode 3.1.3 from the Apple Developer site, but during the installation process, the iPhone SDK doesn’t appear to be included. I also tested Xcode 3.2.2, but it doesn’t seem to have the iPhone OS 3.1.3 SDK either. Does anyone still have the iPhone OS 3.1.3 SDK available or know where I can find it? Thanks!! Edgar
Replies
0
Boosts
0
Views
91
Activity
Jun ’25
Scope of GPT Training in Xcode 26
Hello, I watched WWDC 25 and saw that GPT will be integrated into Xcode. This raised a question for me. As far as I know, GPT models learn from user interactions. However, the GPT terms of use mention that business accounts are excluded from training. Does this also apply to the GPT integrated into Xcode 26? I couldn’t find any information about this in the Xcode 26 beta release notes or the Apple Developer Program License Agreement. If anyone knows where this is documented, I’d really appreciate it if you could share it. Also, if any Apple staff is reading this, I’d be grateful if you could clarify whether the same non-training policy applies within Xcode. Thank you!
Replies
0
Boosts
0
Views
64
Activity
Jun ’25
xcode 16.3 now not selecting correct Signing Certificate with Automatically Manage Signing Selected
HI, I upgraded to macos 15.5 and xcode 16.3. Last year I was able to update one of my apps on the App Store without issues. Today, after a successful Testflight test, I now need to submit a new version of my app to the App Store for Distribution as the next version/build. However, when I configure a manual setting for the signing, I can select the correct choices. But when I click automatically manage signing, and choose the correct team, xcode put in the wrong signing certificate. It is choose a development one, and not the distribution one. I am concerned about this since I have read that when using the Archive tool, it choses the automatically manage signing by default. And that check box is selecting the "default" settings. I do not know where these default settings are being set, or how to fix this issue. I do not see any info in my searching up to this point. I hope someone can help. thank you, cc
Replies
0
Boosts
0
Views
108
Activity
May ’25
Xcode completion binding not working in 16.2
I'm wondering why 'Select Previous Completion' and 'Select Next Completion' aren't working. I'm using Ctrl-K and Ctrl-J but only my arrow keys work to navigation the completion list. 'Show Completion List' works just fine with Ctrl-Esc. There are no conflicts with any Xcode bindings, and I've checked my system settings for keyboard shortcuts as well.. I've completely disabled copilot, etc.. Is there another setting I'm missing? Or, is this a known issue?
Replies
0
Boosts
0
Views
38
Activity
Apr ’25