Posts under Developer Tools & Services topic

Post

Replies

Boosts

Views

Activity

"Application has not loaded accessibility" timeout followed by silent auto-recovery corrupts framework state on iOS 18
On iOS 18, when XCUITest encounters an "Application has not loaded accessibility" error after the 60 second timeout, it performs an undocumented auto-recovery ("Setting up automation session") instead of halting the test as documented. This leaves the XCUITest framework in a corrupted state, causing subsequent tests in the same session to fail with unexpected behavior. Expected Behavior (per Apple documentation): Any failure in the launch sequence will be reported as a test failure and the test will be halted at that point. Actual Behavior: XCUITest waits 60 seconds for accessibility to load Logs "Application has not loaded accessibility" error Instead of halting, performs "Setting up automation session" (auto-recovery) Test continues with corrupted framework state Subsequent tests in the same session fail with phantom element queries Steps Run XCUITest suite on a real iOS 18 device Have an app with moderately heavy initialization (e.g., synchronous network operations during bootstrap) Observe intermittent "accessibility not loaded" errors When error occurs, subsequent tests fail with unexpected behavior Test Logs Evidence First test (accessibility failure + recovery): t = 11.11s Wait for accessibility to load t = 71.14s Capturing diagnostic spindump t = 76.24s Assertion Failure: Application 'com.example.app' has not loaded accessibility t = 76.26s Setting up automation session ← Undocumented recovery t = 77.29s Tear Down Second test (corrupted state): t = 35.01s Tap "signin-button" t = 35.55s Waiting for "bannerButtonStackFirstItem" ← Query NOT in test code! t = 40.58s Assertion Failure: Failed to find element The second test executes element queries that do not exist in its source code, indicating leaked/corrupted state from the previous test's failed recovery. Note: The tearDown() method terminates the app but cannot reset the internal state of the XCUITest framework itself, so corruption persists across tests. We are observing this behavior consistently on iOS 18 real devices. We would like to know: Is this a known issue with XCUITest on iOS 18? Is anyone experiencing similar "accessibility not loaded" failures followed by auto-recovery? Is the "Setting up automation session" recovery behavior intentional or a bug? Is there a recommended workaround to prevent framework state corruption between tests?
0
1
214
Jan ’26
Why Must All Attributes in a Composite Type Be Optional?
I recently encountered an issue involving Core Data’s new Composite Attributes feature and thought I would share my experience, as well as seek clarification. I created a composite type where all attributes were mandatory, except for one. Subsequently, I added an attribute to an entity and set its type to that composite type. Upon running the app, the console output the following error: CoreData: error: CoreData: error: Row (pk = 85) for entity ‘(EntityName)’ is missing mandatory text data for property ‘(propertyName)’ The way I resolved this was by removing the composite type attribute from the entity, after which the error no longer appeared. I also observed that in another entity, where a different composite type is used, all the attributes were optional — and no error occurred. This raises the question: why must all attributes in a composite type be optional? Furthermore, why does Xcode not inform the developer of this requirement? I have reviewed both the documentation and the WWDC23 “What’s New in Core Data” session, but neither mentions that having non-optional attributes within a composite type will cause such errors and lead to unpredictable application behaviour. Additionally, this issue remains unresolved in another area I raised previously in this topic: Composite Attributes feature requires tvOS deployment target 17.0 or later Composite Attributes feature requires watchOS deployment target 10.0 or later However, I do not have a tvOS or watchOS target, nor do I intend to add one. Could someone from Apple, or anyone with more experience, please clarify why all attributes within a composite type must be optional? And could it be possible for Xcode to flag this at compile time, rather than failing at runtime? Thank you in advance.
0
0
104
Apr ’25
Apple 1-Hour Security Feature Keeps Triggering When Registering iPhone (Starlink User)
Hi everyone, I’m hoping someone here can shed some light on what’s going on with Apple’s one-hour security delay when trying to register an iPhone for development use. I’m currently setting up an app build using Expo / EAS and a paid Apple Developer account. Every time I scan the device registration QR code or try to authorise my iPhone as a development device, I get hit with a “security delay — try again in one hour” message. This happens every single time, even if I wait the full hour. The device is the same iPhone I always use, signed in to the same Apple ID, and verified with 2FA. The only thing unusual about my setup is that I’m using Starlink for internet access. Because Starlink uses dynamic IP routing and your exit node changes frequently (depending on which satellite or ground station you’re on), it looks like I’m signing in from a new location each time — sometimes even hundreds of miles apart. It seems that Apple’s security system flags each of these as a “new login” or “new device registration,” then enforces a one-hour safety lockout. That makes it basically impossible to register my device and proceed with iOS builds or testing. Has anyone else run into this problem while using Starlink (or other dynamic-routing connections like VPNs or cellular hotspots)? And if so — is there any known workaround or setting to whitelist a device, stabilise verification, or bypass the repeated one-hour wait? This feels like an over-protective security feature that doesn’t play well with modern satellite internet setups. Any insights from the Apple engineers or other developers would be hugely appreciated. Thanks, Tim Lazenby
0
0
86
Oct ’25
Xcode 16.2: build fails with errors from another project
When I thought Xcode could not get any worse, here's the most absurd thing I have ever seen developing software in almost 20 years of work. When building a project, which I haven't touched lately, and last time it was building just fine, it raised errors on a class that doesn't even belong in any way to such project, it only exists in another one. To clarify, we're talking of a project written in C++ which runs only on mac, which is failing due to linker errors, where the linker can not find symbols of a class living in a different project and that is not referenced in any way inside this project. I mean, really? how does Apple manage to make Xcode more and more unstable by the minute? Starting from Xcode 15.1 I was already experiencing much longer building times, due to the fact that it doesn't manage the cache properly and is rebuilding lots of stuff every time..
0
0
45
Apr ’25
Recording WKWebView
I am trying to record the requests and responses in a WKWebView, but instruments does not seem to record them. Is this to be expected? The webView is set to inspectable, and I am using the HTTP Traffic instrument. All the requests the app is doing are recorded, but neither the original request for the webView, nor subsequent traffic is recorded. When I use Safari to inspect the webView, all I see is the last page (even when I start the inspector before the first request is made). How can I see these requests?
0
0
159
May ’25
Any way to automate adding libraries in Xcode from Swift Package Manager (SPM)?
Hi all, I’m looking for a way to automate the process of adding Swift Package dependencies (SPM) into an Xcode project. Right now, I’m doing this manually via: Xcode → Project → Swift Packages → Add Package Dependency... But I’d like to script this step — ideally as part of a CI/CD pipeline or a setup script. I explored the xcodeproj Ruby gem, but it doesn’t support adding SPM packages, and there's no official support for editing the .xcodeproj structure related to Swift Packages. So my question is: Is there any Apple-supported or community-supported way to programmatically add Swift Package dependencies to an Xcode project or workspace? Would love to know if anyone has: Used xcodebuild, xcodegen, or other tools for this Explored editing project files directly (like project.pbxproj or Package.resolved) Found any API or CLI hooks from Apple for this Thanks in advance!
0
0
51
Apr ’25
ATS doesn't download AirPlay Diagnostic profile
I need to install the AirPlay profile on an iphone to watch decrypted traffic in ATS for development work on CarPlay. The documentation for ATS says to click "Utilities -> Download Profiles -> AirPlay Diagnostic Mode". When I do this, it brings up a file dialog, presumably to select a location to download. But nothing happens. The other profiles launch a web browser and download the .mobileconfig profile. How do I get the AirPlay profile? Am I misunderstanding how this is supposed to work? I found ATSAssetsInfoDefault.plist which references these files. And they all have https://developer.apple.com/services-account/download?path=/iOS/iOS_Logs/... except the AirPlay profile, which is type "slug" and just says ats-airplay-diagnostic-mode-profile. Is this a bug in the app?
0
0
149
Dec ’25
The location coming out of geocoder in CLPlacemark has altitude 0, differently of the input CLLocation
When I execute: geoCoder.reverseGeocodeLocation(location, completionHandler:{[weak self](placemarks, error) in print("reverse geocoding location after altitude: ",location.altitude) print("placemark location first", placemarks?.first?.location?.altitude ?? -1) The input CLLocation has correct altitude 25, instead the location in the output placemarks have altitude 0, when of course they should have the same location. Moreover it is impossible to retrofit any data in the returned placemarks as they are portrayed as a read only property.
0
0
68
Apr ’25
iOS App'te Elektronik Sözleşme Onayı ve Hukuki Geçerlilik Süreci (KVKK - SwiftUI)
Merhaba, iOS üzerinde bir sözleşme onay uygulaması geliştiriyorum. Kullanıcıların dijital ortamda sözleşmeleri okuyup onaylaması gerekiyor. Ancak hukuki geçerlilik konusunda bazı tereddütlerim vardı. Bursa’da yaşayan biri olarak bu konuda bir avukata danışmam gerekti. Şans eseri https://www.avukatcanata.com ile karşılaştım ve hem bireysel hem ticari sözleşmeler konusunda gerçekten çok net açıklamalar sundular. Özellikle elektronik imza ve KVKK uyumu hakkında verdikleri bilgiler sayesinde projemi yasal zemine oturtabildim. Eğer bu tarz uygulamalar geliştiriyorsanız, mutlaka bir hukukçu görüşü alın. Yanlış bir adım size veya kullanıcınıza ciddi sonuçlar doğurabilir. Teşekkürler 🍏
0
0
61
Jul ’25
Unable to apply stashed changes
I am trying to perform an unstash operation. I RC on the stash to restore, select "Apply Stashed Changes". It then launches a comparison window to allow me to cherrypick the changes I want to include. However, the button along the bottom, "Apply Changes" is grayed out and remains so no matter what I do. Switching stashes, exiting and restarting xcode. TG i made an emergency project backup right before I did the stash, just for a case like this. Bug? Feature?
0
1
60
Apr ’25
AppleWatchのデベロッパモードをONにする方法
開発アプリで通知確認を行うため、UDIDをプロビジョニングプロファイルに追加する必要があります。 iPhoneのUDIDは取得することができたのですが、AppleWatchのUDIDを取得する方法が分かりません。 Xcodeと接続してUDIDを取得しようとしましたが、iPhoneのみ認識がされAppleWatchが認識されていません。 AppleWatchもデベロッパモードをONしなければならないとAppleから返答をもらったが、その方法がわからないのでどなたかご教授お願い致します。
0
0
264
Oct ’25
Firebase FCM iOS Notifications Not Sending – APNs "Auth Error from APNs or Web Push"
Hi everyone. I’m working on an iOS app that uses Firebase Cloud Messaging (FCM) to send push notifications. I’m encountering an issue when trying to send notifications either from Firebase Functions or directly using the FCM token with the Firebase Admin SDK and REST API. Error Message: FirebaseMessagingError: Auth error from APNS or Web Push Service code: 'messaging/third-party-auth-error' message: 'Auth error from APNS or Web Push Service' What I’ve Set Up: iOS App Registered in Firebase Bundle ID: Kilovative-Designs.ParkAware APNs Key downloaded from Apple Developer Portal Team ID and Key ID correctly entered in Firebase Console Firebase Admin SDK Service Account setup and used for sending Device is successfully receiving FCM tokens Subscribed to topics and calling Messaging.messaging().subscribe(toTopic:) works Using firebase-admin to send FCM messages via sendToDevice or sendToTopic What I’ve Tried: Tested push via firebase-admin in Node.js (got same APNs auth error) Tested with both topic-based and direct token-based push Confirmed the .p8 key is uploaded in Firebase, with correct Key ID and Team ID Tried generating a new APNs Auth Key Firebase Admin SDK is initialized with the correct service account Using Node.js firebase-admin with a known good FCM token, and sending this payload: { notification: { title: "Test Notification", body: "This is a direct FCM test" }, token: "cxleOwi73EhFh9C5_V4hED:APA91bE3W..." } Returns: FirebaseMessagingError: Auth error from APNS or Web Push Service Questions: Are there known conditions under which Firebase throws this error even if the APNs Auth Key is present? Does the Bundle ID need to start with com. in the Apple Developer Portal and Firebase for APNs authentication to work? Could this be a certificate or provisioning profile mismatch issue (even when using a .p8 key)? Is there a way to manually validate APNs authentication from Firebase outside of actual push delivery? Any insight or guidance would be incredibly helpful. I’m new to developing and have tried repeated efforts to fix this issue but still haven’t resolved it. Thanks in advance!
0
0
139
Jul ’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
89
Apr ’25
Trouble setting up watches to use TestFlight that are AWFK configured
I am developing a simple watch app and I use my personal watch for development with Xcode. Personal watch is series 10 gps only. I have two other watches that I want to use for testing the app, but not needing them to be connected to Xcode. The test watches have cellular option, and I need a cell plan per watch because the watches need to be standalone, not counting initial setup. To get the standalone cell plan the watches need to be configured using AWFK. Here is what I have tried/current issues. I switch between all three watches on my phone using the watch app. Originally tried to put test watches in developer mode, thinking I would connect to Xcode, developer mode is not available when watch is setup using AWFK. Pushed the watch app to apple connect, setup TestFlight group, added the test users and my phone user, accepted invites TestFlight is installed on my phone, I see the testflight setup for the watch app I set a test watch using watch app on the phone, run install for the test app from TestFlight on the phone, spinner moves for awhile then goes back to Install. I am not able to get the watch app installed on the test watches from the phone. Is what I am attempting to do supported? I haven't found much specific documentation on this. If I pair the test watches as regular watches, set them to developer mode, can I pair them again as AWFK and will developer mode survive the switch? Or is there something really simple that I'm overlooking? Appreciate any help that can be extended.
0
0
279
Dec ’25
Standard Memory Debugging Tools
In many cases I’ll be talking to folks with a memory management problem and I’ll say “You should investigate this with the standard memory debugging tools.” They then turn around and ask me “What are those tools?” Well, this is what I mean: Zombies — This lets you quickly detect when an object is used after it’s been deallocated. Learn more about it in the Finding zombies section of the Instruments Help and in Investigating crashes for zombie objects. There was also an excellent WWDC video about this, namely, WWDC 2010 Session 311 Advanced Memory Analysis with Instruments. This is no longer available in the video archive but if you can find a copy it’s well worth a watch. Address Sanitizer — This is a lower-level tool that finds a variety of common memory management issues, including use after free and buffer overruns. Learn more about this in Diagnosing memory, thread, and crash issues early and the various articles it links to. There’s also a good discussion of this tool, and other Xcode runtime diagnostic tools, in WWDC 2017 Session 406 Finding Bugs Using Xcode Runtime Tools (also no longer available from Apple). Hardware memory tagging — If you have access to a device with hardware memory tagging — starting with the A19 or M5 processors — consider enabling Memory Integrity Enforcement (MIE). For the details, see Enabling enhanced security for your app or watch Secure your app with Memory Integrity Enforcement. Even if you don’t want to do that for your production app, enable it just for development by checking Hardware Memory Tagging in the Options tab of Xcode’s scheme editor. Older tools — There are a variety of older tools that might be useful in some specific circumstances. See the Enabling the Malloc Debugging Features section of the Memory Usage Performance Guidelines for more information about these. Of specific interest is libgmalloc, which is documented in a UNIX man page. For some practical examples of how to identity a memory management crash report and then investigate that crash with these tools, take a look at WWDC 2018 Session 414 Understanding Crashes and Crash Logs. Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = "eskimo" + "1" + "@" + "apple.com" Revision History: 2026-03-02 Added a discussion of hardware memory tagging. 2023-05-09 Added a link to Investigating crashes for zombie objects. 2023-03-22 Removed another WWDC session video link. Made minor editorial changes. 2020-10-23 Fixed some formatting errors. 2019-10-30 Removed the link to WWDC 2010 Session 311 Advanced Memory Analysis with Instruments because it’s not long available in the archive. Refreshed all the other links. 2019-01-22 Fixed the link to libgmalloc. 2018-11-02 Updated to include a reference to WWDC 2018 Session 414 Understanding Crashes and Crash Logs. 2017-11-16 First posted.
0
0
18k
Mar ’26
An Apple Library Primer
Apple’s library technology has a long and glorious history, dating all the way back to the origins of Unix. This does, however, mean that it can be a bit confusing to newcomers. This is my attempt to clarify some terminology. If you have any questions or comments about this, start a new thread and tag it with Linker so that I see it. Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = "eskimo" + "1" + "@" + "apple.com" An Apple Library Primer Apple’s tools support two related concepts: Platform — This is the platform itself; macOS, iOS, iOS Simulator, and Mac Catalyst are all platforms. Architecture — This is a specific CPU architecture used by a platform. arm64 and x86_64 are both architectures. A given architecture might be used by multiple platforms. The most obvious example of this arm64, which is used by all of the platforms listed above. Code built for one platform will not work on another platform, even if both platforms use the same architecture. Code is usually packaged in either a Mach-O file or a static library. Mach-O is used for executables (MH_EXECUTE), dynamic libraries (MH_DYLIB), bundles (MH_BUNDLE), and object files (MH_OBJECT). These can have a variety of different extensions; the only constant is that .o is always used for a Mach-O containing an object file. Use otool and nm to examine a Mach-O file. Use vtool to quickly determine the platform for which it was built. Use size to get a summary of its size. Use dyld_info to get more details about a dynamic library. IMPORTANT All the tools mentioned here are documented in man pages. For information on how to access that documentation, see Reading UNIX Manual Pages. There’s also a Mach-O man page, with basic information about the file format. Many of these tools have old and new variants, using the -classic suffix or llvm- prefix, respectively. For example, there’s nm-classic and llvm-nm. If you run the original name for the tool, you’ll get either the old or new variant depending on the version of the currently selected tools. To explicitly request the old or new variants, use xcrun. The term Mach-O image refers to a Mach-O that can be loaded and executed without further processing. That includes executables, dynamic libraries, and bundles, but not object files. A dynamic library has the extension .dylib. You may also see this called a shared library. A framework is a bundle structure with the .framework extension that has both compile-time and run-time roles: At compile time, the framework combines the library’s headers and its stub library (stub libraries are explained below). At run time, the framework combines the library’s code, as a Mach-O dynamic library, and its associated resources. The exact structure of a framework varies by platform. For the details, see Placing Content in a Bundle. macOS supports both frameworks and standalone dynamic libraries. Other Apple platforms support frameworks but not standalone dynamic libraries. Historically these two roles were combined, that is, the framework included the headers, the dynamic library, and its resources. These days Apple ships different frameworks for each role. That is, the macOS SDK includes the compile-time framework and macOS itself includes the run-time one. Most third-party frameworks continue to combine these roles. A static library is an archive of one or more object files. It has the extension .a. Use ar, libtool, and ranlib to inspect and manipulate these archives. The static linker, or just the linker, runs at build time. It combines various inputs into a single output. Typically these inputs are object files, static libraries, dynamic libraries, and various configuration items. The output is most commonly a Mach-O image, although it’s also possible to output an object file. The linker may also output metadata, such as a link map (see Using a Link Map to Track Down a Symbol’s Origin). The linker has seen three major implementations: ld — This dates from the dawn of Mac OS X. ld64 — This was a rewrite started in the 2005 timeframe. Eventually it replaced ld completely. If you type ld, you get ld64. ld_prime — This was introduced with Xcode 15. This isn’t a separate tool. Rather, ld now supports the -ld_classic and -ld_new options to select a specific implementation. Note During the Xcode 15 beta cycle these options were -ld64 and -ld_prime. I continue to use those names because the definition of new changes over time (some of us still think of ld64 as the new linker ;–). The dynamic linker loads Mach-O images at runtime. Its path is /usr/lib/dyld, so it’s often referred to as dyld, dyld, or DYLD. Personally I pronounced that dee-lid, but some folks say di-lid and others say dee-why-el-dee. IMPORTANT Third-party executables must use the standard dynamic linker. Other Unix-y platforms support the notion of a statically linked executable, one that makes system calls directly. This is not supported on Apple platforms. Apple platforms provide binary compatibility via system dynamic libraries and frameworks, not at the system call level. Note Apple platforms have vestigial support for custom dynamic linkers (your executable tells the system which dynamic linker to use via the LC_LOAD_DYLINKER load command). This facility originated on macOS’s ancestor platform and has never been a supported option on any Apple platform. The dynamic linker has seen 4 major revisions. See WWDC 2017 Session 413 (referenced below) for a discussion of versions 1 through 3. Version 4 is basically a merging of versions 2 and 3. The dyld man page is chock-full of useful info, including a discussion of how it finds images at runtime. Every dynamic library has an install name, which is how the dynamic linker identifies the library. Historically that was the path where you installed the library. That’s still true for most system libraries, but nowadays a third-party library should use an rpath-relative install name. For more about this, see Dynamic Library Identification. Mach-O images are position independent, that is, they can be loaded at any location within the process’s address space. Historically, Mach-O supported the concept of position-dependent images, ones that could only be loaded at a specific address. While it may still be possible to create such an image, it’s no longer a good life choice. Mach-O images have a default load address, also known as the base address. For modern position-independent images this is 0 for library images and 4 GiB for executables (leaving the bottom 32 bits of the process’s address space unmapped). When the dynamic linker loads an image, it chooses an address for the image and then rebases the image to that address. If you take that address and subtract the image’s load address, you get a value known as the slide. Xcode 15 introduced the concept of a mergeable library. This a dynamic library with extra metadata that allows the linker to embed it into the output Mach-O image, much like a static library. Mergeable libraries have many benefits. For all the backstory, see WWDC 2023 Session 10268 Meet mergeable libraries. For instructions on how to set this up, see Configuring your project to use mergeable libraries. If you put a mergeable library into a framework structure you get a mergeable framework. Xcode 15 also introduced the concept of a static framework. This is a framework structure where the framework’s dynamic library is replaced by a static library. Note It’s not clear to me whether this offers any benefit over creating a mergeable framework. Earlier versions of Xcode did not have proper static framework support. That didn’t stop folks trying to use them, which caused all sorts of weird build problems. A universal binary is a file that contains multiple architectures for the same platform. Universal binaries always use the universal binary format. Use the file command to learn what architectures are within a universal binary. Use the lipo command to manipulate universal binaries. A universal binary’s architectures are either all in Mach-O format or all in the static library archive format. The latter is called a universal static library. A universal binary has the same extension as its non-universal equivalent. That means a .a file might be a static library or a universal static library. Most tools work on a single architecture within a universal binary. They default to the architecture of the current machine. To override this, pass the architecture in using a command-line option, typically -arch or --arch. An XCFramework is a single document package that includes libraries for any combination of platforms and architectures. It has the extension .xcframework. An XCFramework holds either a framework, a dynamic library, or a static library. All the elements must be the same type. Use xcodebuild to create an XCFramework. For specific instructions, see Xcode Help > Distribute binary frameworks > Create an XCFramework. Historically there was no need to code sign libraries in SDKs. If you shipped an SDK to another developer, they were responsible for re-signing all the code as part of their distribution process. Xcode 15 changes this. You should sign your SDK so that a developer using it can verify this dependency. For more details, see WWDC 2023 Session 10061 Verify app dependencies with digital signatures and Verifying the origin of your XCFrameworks. A stub library is a compact description of the contents of a dynamic library. It has the extension .tbd, which stands for text-based description (TBD). Apple’s SDKs include stub libraries to minimise their size; for the backstory, read this post. Use the tapi tool to create and manipulate stub libraries. In this context TAPI stands for a text-based API, an alternative name for TBD. Oh, and on the subject of tapi, I’d be remiss if I didn’t mention tapi-analyze! Stub libraries currently use YAML format, a fact that’s relevant when you try to interpret linker errors. If you’re curious about the format, read the tapi-tbdv4 man page. There’s also a JSON variant documented in the tapi-tbdv5 man page. Note Back in the day stub libraries used to be Mach-O files with all the code removed (MH_DYLIB_STUB). This format has long been deprecated in favour of TBD. Historically, the system maintained a dynamic linker shared cache, built at runtime from its working set of dynamic libraries. In macOS 11 and later this cache is included in the OS itself. Libraries in the cache are no longer present in their original locations on disk: % ls -lh /usr/lib/libSystem.B.dylib ls: /usr/lib/libSystem.B.dylib: No such file or directory Apple APIs, most notably dlopen, understand this and do the right thing if you supply the path of a library that moved into the cache. That’s true for some, but not all, command-line tools, for example: % dyld_info -exports /usr/lib/libSystem.B.dylib /usr/lib/libSystem.B.dylib [arm64e]: -exports: offset symbol … 0x5B827FE8 _mach_init_routine % nm /usr/lib/libSystem.B.dylib …/nm: error: /usr/lib/libSystem.B.dylib: No such file or directory When the linker creates a Mach-O image, it adds a bunch of helpful information to that image, including: The target platform The deployment target, that is, the minimum supported version of that platform Information about the tools used to build the image, most notably, the SDK version A build UUID For more information about the build UUID, see TN3178 Checking for and resolving build UUID problems. To dump the other information, run vtool. In some cases the OS uses the SDK version of the main executable to determine whether to enable new behaviour or retain old behaviour for compatibility purposes. You might see this referred to as compiled against SDK X. I typically refer to this as a linked-on-or-later check. Apple tools support the concept of autolinking. When your code uses a symbol from a module, the compiler inserts a reference (using the LC_LINKER_OPTION load command) to that module into the resulting object file (.o). When you link with that object file, the linker adds the referenced module to the list of modules that it searches when resolving symbols. Autolinking is obviously helpful but it can also cause problems, especially with cross-platform code. For information on how to enable and disable it, see the Build settings reference. Mach-O uses a two-level namespace. When a Mach-O image imports a symbol, it references the symbol name and the library where it expects to find that symbol. This improves both performance and reliability but it precludes certain techniques that might work on other platforms. For example, you can’t define a function called printf and expect it to ‘see’ calls from other dynamic libraries because those libraries import the version of printf from libSystem. To help folks who rely on techniques like this, macOS supports a flat namespace compatibility mode. This has numerous sharp edges — for an example, see the posts on this thread — and it’s best to avoid it where you can. If you’re enabling the flat namespace as part of a developer tool, search the ’net for dyld interpose to learn about an alternative technique. WARNING Dynamic linker interposing is not documented as API. While it’s a useful technique for developer tools, do not use it in products you ship to end users. Apple platforms use DWARF. When you compile a file, the compiler puts the debug info into the resulting object file. When you link a set of object files into a executable, dynamic library, or bundle for distribution, the linker does not include this debug info. Rather, debug info is stored in a separate debug symbols document package. This has the extension .dSYM and is created using dsymutil. Use symbols to learn about the symbols in a file. Use dwarfdump to get detailed information about DWARF debug info. Use atos to map an address to its corresponding symbol name. Different languages use different name mangling schemes: C, and all later languages, add a leading underscore (_) to distinguish their symbols from assembly language symbols. C++ uses a complex name mangling scheme. Use the c++filt tool to undo this mangling. Likewise, for Swift. Use swift demangle to undo this mangling. For a bunch more info about symbols in Mach-O, see Understanding Mach-O Symbols. This includes a discussion of weak references and weak definition. If your code is referencing a symbol unexpectedly, see Determining Why a Symbol is Referenced. To remove symbols from a Mach-O file, run strip. To hide symbols, run nmedit. It’s common for linkers to divide an object file into sections. You might find data in the data section and code in the text section (text is an old Unix term for code). Mach-O uses segments and sections. For example, there is a text segment (__TEXT) and within that various sections for code (__TEXT > __text), constant C strings (__TEXT > __cstring), and so on. Over the years there have been some really good talks about linking and libraries at WWDC, including: WWDC 2023 Session 10268 Meet mergeable libraries WWDC 2022 Session 110362 Link fast: Improve build and launch times WWDC 2022 Session 110370 Debug Swift debugging with LLDB WWDC 2021 Session 10211 Symbolication: Beyond the basics WWDC 2019 Session 416 Binary Frameworks in Swift — Despite the name, this covers XCFrameworks in depth. WWDC 2018 Session 415 Behind the Scenes of the Xcode Build Process WWDC 2017 Session 413 App Startup Time: Past, Present, and Future WWDC 2016 Session 406 Optimizing App Startup Time Note The older talks are no longer available from Apple, but you may be able to find transcripts out there on the ’net. Historically Apple published a document, Mac OS X ABI Mach-O File Format Reference, or some variant thereof, that acted as the definitive reference to the Mach-O file format. This document is no longer available from Apple. If you’re doing serious work with Mach-O, I recommend that you find an old copy. It’s definitely out of date, but there’s no better place to get a high-level introduction to the concepts. The Mach-O Wikipedia page has a link to an archived version of the document. For the most up-to-date information about Mach-O, see the declarations and doc comments in <mach-o/loader.h>. Revision History 2025-08-04 Added a link to Determining Why a Symbol is Referenced. 2025-06-29 Added information about autolinking. 2025-05-21 Added a note about the legacy Mach-O stub library format (MH_DYLIB_STUB). 2025-04-30 Added a specific reference to the man pages for the TBD format. 2025-03-01 Added a link to Understanding Mach-O Symbols. Added a link to TN3178 Checking for and resolving build UUID problems. Added a summary of the information available via vtool. Discussed linked-on-or-later checks. Explained how Mach-O uses segments and sections. Explained the old (-classic) and new (llvm-) tool variants. Referenced the Mach-O man page. Added basic info about the strip and nmedit tools. 2025-02-17 Expanded the discussion of dynamic library identification. 2024-10-07 Added some basic information about the dynamic linker shared cache. 2024-07-26 Clarified the description of the expected load address for Mach-O images. 2024-07-23 Added a discussion of position-independent images and the image slide. 2024-05-08 Added links to the demangling tools. 2024-04-30 Clarified the requirement to use the standard dynamic linker. 2024-03-02 Updated the discussion of static frameworks to account for Xcode 15 changes. Removed the link to WWDC 2018 Session 415 because it no longer works )-: 2024-03-01 Added the WWDC 2023 session to the list of sessions to make it easier to find. Added a reference to Using a Link Map to Track Down a Symbol’s Origin. Made other minor editorial changes. 2023-09-20 Added a link to Dynamic Library Identification. Updated the names for the static linker implementations (-ld_prime is no more!). Removed the beta epithet from Xcode 15. 2023-06-13 Defined the term Mach-O image. Added sections for both the static and dynamic linkers. Described the two big new features in Xcode 15: mergeable libraries and dependency verification. 2023-06-01 Add a reference to tapi-analyze. 2023-05-29 Added a discussion of the two-level namespace. 2023-04-27 Added a mention of the size tool. 2023-01-23 Explained the compile-time and run-time roles of a framework. Made other minor editorial changes. 2022-11-17 Added an explanation of TAPI. 2022-10-12 Added links to Mach-O documentation. 2022-09-29 Added info about .dSYM files. Added a few more links to WWDC sessions. 2022-09-21 First posted.
0
0
16k
Aug ’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
Info.plist unable to install - With Firebase Framework & Package Manager
I'm having trouble with this Info.plist for Firebase Frameworks/FirebaseFirestoreInternal.framework/Info.plist unable to install It looks like Firebase removed Info.plist files in 10.20.0. and its causing this error below. Most of the online support says to update Cocafile PODs to not embed however I can't find any solutions for Package Manager. StackOverflow: https://stackoverflow.com/questions/64977628/all-framework-error-when-launch-framework-info-plist-no-such-file-or-directory/64979956#64979956 https://stackoverflow.com/questions/77888962/issue-trying-to-run-app-on-ios-simulator-missing-a-plist-from-firebase Error: App installation failed: Unable to Install “Replayology” Please try again later. Failed to load Info.plist from bundle at path /Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework; Extra info about "/Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework/Info.plist": Couldn't stat /Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework/Info.plist: No such file or directory Details App installation failed: Unable to Install “Replayology” Domain: IXUserPresentableErrorDomain Code: 1 Failure Reason: Please try again later. Recovery Suggestion: Failed to load Info.plist from bundle at path /Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework; Extra info about "/Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework/Info.plist": Couldn't stat /Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework/Info.plist: No such file or directory User Info: { DVTErrorCreationDateKey = "2025-05-29 23:54:11 +0000"; IDERunOperationFailingWorker = IDELaunchiPhoneSimulatorLauncher; SimCallingSelector = "installApplication:withOptions:error:"; } Unable to Install “Replayology” Domain: IXUserPresentableErrorDomain Code: 1 Failure Reason: Please try again later. Recovery Suggestion: Failed to load Info.plist from bundle at path /Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework; Extra info about "/Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework/Info.plist": Couldn't stat /Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework/Info.plist: No such file or directory Failed to load Info.plist from bundle at path /Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework; Extra info about "/Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework/Info.plist": Couldn't stat /Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework/Info.plist: No such file or directory Domain: MIInstallerErrorDomain Code: 35 User Info: { FunctionName = "-[MIBundle _validateWithError:]"; LegacyErrorString = PackageInspectionFailed; SourceFileLine = 64; } System Information macOS Version 15.2 (Build 24C101) Xcode 16.3 (23785) (Build 16E140) Timestamp: 2025-05-29T18:54:11-05:00
0
0
116
May ’25
"Application has not loaded accessibility" timeout followed by silent auto-recovery corrupts framework state on iOS 18
On iOS 18, when XCUITest encounters an "Application has not loaded accessibility" error after the 60 second timeout, it performs an undocumented auto-recovery ("Setting up automation session") instead of halting the test as documented. This leaves the XCUITest framework in a corrupted state, causing subsequent tests in the same session to fail with unexpected behavior. Expected Behavior (per Apple documentation): Any failure in the launch sequence will be reported as a test failure and the test will be halted at that point. Actual Behavior: XCUITest waits 60 seconds for accessibility to load Logs "Application has not loaded accessibility" error Instead of halting, performs "Setting up automation session" (auto-recovery) Test continues with corrupted framework state Subsequent tests in the same session fail with phantom element queries Steps Run XCUITest suite on a real iOS 18 device Have an app with moderately heavy initialization (e.g., synchronous network operations during bootstrap) Observe intermittent "accessibility not loaded" errors When error occurs, subsequent tests fail with unexpected behavior Test Logs Evidence First test (accessibility failure + recovery): t = 11.11s Wait for accessibility to load t = 71.14s Capturing diagnostic spindump t = 76.24s Assertion Failure: Application 'com.example.app' has not loaded accessibility t = 76.26s Setting up automation session ← Undocumented recovery t = 77.29s Tear Down Second test (corrupted state): t = 35.01s Tap "signin-button" t = 35.55s Waiting for "bannerButtonStackFirstItem" ← Query NOT in test code! t = 40.58s Assertion Failure: Failed to find element The second test executes element queries that do not exist in its source code, indicating leaked/corrupted state from the previous test's failed recovery. Note: The tearDown() method terminates the app but cannot reset the internal state of the XCUITest framework itself, so corruption persists across tests. We are observing this behavior consistently on iOS 18 real devices. We would like to know: Is this a known issue with XCUITest on iOS 18? Is anyone experiencing similar "accessibility not loaded" failures followed by auto-recovery? Is the "Setting up automation session" recovery behavior intentional or a bug? Is there a recommended workaround to prevent framework state corruption between tests?
Replies
0
Boosts
1
Views
214
Activity
Jan ’26
Why Must All Attributes in a Composite Type Be Optional?
I recently encountered an issue involving Core Data’s new Composite Attributes feature and thought I would share my experience, as well as seek clarification. I created a composite type where all attributes were mandatory, except for one. Subsequently, I added an attribute to an entity and set its type to that composite type. Upon running the app, the console output the following error: CoreData: error: CoreData: error: Row (pk = 85) for entity ‘(EntityName)’ is missing mandatory text data for property ‘(propertyName)’ The way I resolved this was by removing the composite type attribute from the entity, after which the error no longer appeared. I also observed that in another entity, where a different composite type is used, all the attributes were optional — and no error occurred. This raises the question: why must all attributes in a composite type be optional? Furthermore, why does Xcode not inform the developer of this requirement? I have reviewed both the documentation and the WWDC23 “What’s New in Core Data” session, but neither mentions that having non-optional attributes within a composite type will cause such errors and lead to unpredictable application behaviour. Additionally, this issue remains unresolved in another area I raised previously in this topic: Composite Attributes feature requires tvOS deployment target 17.0 or later Composite Attributes feature requires watchOS deployment target 10.0 or later However, I do not have a tvOS or watchOS target, nor do I intend to add one. Could someone from Apple, or anyone with more experience, please clarify why all attributes within a composite type must be optional? And could it be possible for Xcode to flag this at compile time, rather than failing at runtime? Thank you in advance.
Replies
0
Boosts
0
Views
104
Activity
Apr ’25
Apple 1-Hour Security Feature Keeps Triggering When Registering iPhone (Starlink User)
Hi everyone, I’m hoping someone here can shed some light on what’s going on with Apple’s one-hour security delay when trying to register an iPhone for development use. I’m currently setting up an app build using Expo / EAS and a paid Apple Developer account. Every time I scan the device registration QR code or try to authorise my iPhone as a development device, I get hit with a “security delay — try again in one hour” message. This happens every single time, even if I wait the full hour. The device is the same iPhone I always use, signed in to the same Apple ID, and verified with 2FA. The only thing unusual about my setup is that I’m using Starlink for internet access. Because Starlink uses dynamic IP routing and your exit node changes frequently (depending on which satellite or ground station you’re on), it looks like I’m signing in from a new location each time — sometimes even hundreds of miles apart. It seems that Apple’s security system flags each of these as a “new login” or “new device registration,” then enforces a one-hour safety lockout. That makes it basically impossible to register my device and proceed with iOS builds or testing. Has anyone else run into this problem while using Starlink (or other dynamic-routing connections like VPNs or cellular hotspots)? And if so — is there any known workaround or setting to whitelist a device, stabilise verification, or bypass the repeated one-hour wait? This feels like an over-protective security feature that doesn’t play well with modern satellite internet setups. Any insights from the Apple engineers or other developers would be hugely appreciated. Thanks, Tim Lazenby
Replies
0
Boosts
0
Views
86
Activity
Oct ’25
Xcode 16.2: build fails with errors from another project
When I thought Xcode could not get any worse, here's the most absurd thing I have ever seen developing software in almost 20 years of work. When building a project, which I haven't touched lately, and last time it was building just fine, it raised errors on a class that doesn't even belong in any way to such project, it only exists in another one. To clarify, we're talking of a project written in C++ which runs only on mac, which is failing due to linker errors, where the linker can not find symbols of a class living in a different project and that is not referenced in any way inside this project. I mean, really? how does Apple manage to make Xcode more and more unstable by the minute? Starting from Xcode 15.1 I was already experiencing much longer building times, due to the fact that it doesn't manage the cache properly and is rebuilding lots of stuff every time..
Replies
0
Boosts
0
Views
45
Activity
Apr ’25
Recording WKWebView
I am trying to record the requests and responses in a WKWebView, but instruments does not seem to record them. Is this to be expected? The webView is set to inspectable, and I am using the HTTP Traffic instrument. All the requests the app is doing are recorded, but neither the original request for the webView, nor subsequent traffic is recorded. When I use Safari to inspect the webView, all I see is the last page (even when I start the inspector before the first request is made). How can I see these requests?
Replies
0
Boosts
0
Views
159
Activity
May ’25
Any way to automate adding libraries in Xcode from Swift Package Manager (SPM)?
Hi all, I’m looking for a way to automate the process of adding Swift Package dependencies (SPM) into an Xcode project. Right now, I’m doing this manually via: Xcode → Project → Swift Packages → Add Package Dependency... But I’d like to script this step — ideally as part of a CI/CD pipeline or a setup script. I explored the xcodeproj Ruby gem, but it doesn’t support adding SPM packages, and there's no official support for editing the .xcodeproj structure related to Swift Packages. So my question is: Is there any Apple-supported or community-supported way to programmatically add Swift Package dependencies to an Xcode project or workspace? Would love to know if anyone has: Used xcodebuild, xcodegen, or other tools for this Explored editing project files directly (like project.pbxproj or Package.resolved) Found any API or CLI hooks from Apple for this Thanks in advance!
Replies
0
Boosts
0
Views
51
Activity
Apr ’25
ATS doesn't download AirPlay Diagnostic profile
I need to install the AirPlay profile on an iphone to watch decrypted traffic in ATS for development work on CarPlay. The documentation for ATS says to click "Utilities -> Download Profiles -> AirPlay Diagnostic Mode". When I do this, it brings up a file dialog, presumably to select a location to download. But nothing happens. The other profiles launch a web browser and download the .mobileconfig profile. How do I get the AirPlay profile? Am I misunderstanding how this is supposed to work? I found ATSAssetsInfoDefault.plist which references these files. And they all have https://developer.apple.com/services-account/download?path=/iOS/iOS_Logs/... except the AirPlay profile, which is type "slug" and just says ats-airplay-diagnostic-mode-profile. Is this a bug in the app?
Replies
0
Boosts
0
Views
149
Activity
Dec ’25
The location coming out of geocoder in CLPlacemark has altitude 0, differently of the input CLLocation
When I execute: geoCoder.reverseGeocodeLocation(location, completionHandler:{[weak self](placemarks, error) in print("reverse geocoding location after altitude: ",location.altitude) print("placemark location first", placemarks?.first?.location?.altitude ?? -1) The input CLLocation has correct altitude 25, instead the location in the output placemarks have altitude 0, when of course they should have the same location. Moreover it is impossible to retrofit any data in the returned placemarks as they are portrayed as a read only property.
Replies
0
Boosts
0
Views
68
Activity
Apr ’25
iOS App'te Elektronik Sözleşme Onayı ve Hukuki Geçerlilik Süreci (KVKK - SwiftUI)
Merhaba, iOS üzerinde bir sözleşme onay uygulaması geliştiriyorum. Kullanıcıların dijital ortamda sözleşmeleri okuyup onaylaması gerekiyor. Ancak hukuki geçerlilik konusunda bazı tereddütlerim vardı. Bursa’da yaşayan biri olarak bu konuda bir avukata danışmam gerekti. Şans eseri https://www.avukatcanata.com ile karşılaştım ve hem bireysel hem ticari sözleşmeler konusunda gerçekten çok net açıklamalar sundular. Özellikle elektronik imza ve KVKK uyumu hakkında verdikleri bilgiler sayesinde projemi yasal zemine oturtabildim. Eğer bu tarz uygulamalar geliştiriyorsanız, mutlaka bir hukukçu görüşü alın. Yanlış bir adım size veya kullanıcınıza ciddi sonuçlar doğurabilir. Teşekkürler 🍏
Replies
0
Boosts
0
Views
61
Activity
Jul ’25
Unable to apply stashed changes
I am trying to perform an unstash operation. I RC on the stash to restore, select "Apply Stashed Changes". It then launches a comparison window to allow me to cherrypick the changes I want to include. However, the button along the bottom, "Apply Changes" is grayed out and remains so no matter what I do. Switching stashes, exiting and restarting xcode. TG i made an emergency project backup right before I did the stash, just for a case like this. Bug? Feature?
Replies
0
Boosts
1
Views
60
Activity
Apr ’25
AppleWatchのデベロッパモードをONにする方法
開発アプリで通知確認を行うため、UDIDをプロビジョニングプロファイルに追加する必要があります。 iPhoneのUDIDは取得することができたのですが、AppleWatchのUDIDを取得する方法が分かりません。 Xcodeと接続してUDIDを取得しようとしましたが、iPhoneのみ認識がされAppleWatchが認識されていません。 AppleWatchもデベロッパモードをONしなければならないとAppleから返答をもらったが、その方法がわからないのでどなたかご教授お願い致します。
Replies
0
Boosts
0
Views
264
Activity
Oct ’25
Are this settings correct ?
My app has a Watch app companion, and a Widget. are this settings correct to distribute these to TestFlight and Apple Store ?
Replies
0
Boosts
0
Views
52
Activity
Apr ’25
Firebase FCM iOS Notifications Not Sending – APNs "Auth Error from APNs or Web Push"
Hi everyone. I’m working on an iOS app that uses Firebase Cloud Messaging (FCM) to send push notifications. I’m encountering an issue when trying to send notifications either from Firebase Functions or directly using the FCM token with the Firebase Admin SDK and REST API. Error Message: FirebaseMessagingError: Auth error from APNS or Web Push Service code: 'messaging/third-party-auth-error' message: 'Auth error from APNS or Web Push Service' What I’ve Set Up: iOS App Registered in Firebase Bundle ID: Kilovative-Designs.ParkAware APNs Key downloaded from Apple Developer Portal Team ID and Key ID correctly entered in Firebase Console Firebase Admin SDK Service Account setup and used for sending Device is successfully receiving FCM tokens Subscribed to topics and calling Messaging.messaging().subscribe(toTopic:) works Using firebase-admin to send FCM messages via sendToDevice or sendToTopic What I’ve Tried: Tested push via firebase-admin in Node.js (got same APNs auth error) Tested with both topic-based and direct token-based push Confirmed the .p8 key is uploaded in Firebase, with correct Key ID and Team ID Tried generating a new APNs Auth Key Firebase Admin SDK is initialized with the correct service account Using Node.js firebase-admin with a known good FCM token, and sending this payload: { notification: { title: "Test Notification", body: "This is a direct FCM test" }, token: "cxleOwi73EhFh9C5_V4hED:APA91bE3W..." } Returns: FirebaseMessagingError: Auth error from APNS or Web Push Service Questions: Are there known conditions under which Firebase throws this error even if the APNs Auth Key is present? Does the Bundle ID need to start with com. in the Apple Developer Portal and Firebase for APNs authentication to work? Could this be a certificate or provisioning profile mismatch issue (even when using a .p8 key)? Is there a way to manually validate APNs authentication from Firebase outside of actual push delivery? Any insight or guidance would be incredibly helpful. I’m new to developing and have tried repeated efforts to fix this issue but still haven’t resolved it. Thanks in advance!
Replies
0
Boosts
0
Views
139
Activity
Jul ’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
89
Activity
Apr ’25
Trouble setting up watches to use TestFlight that are AWFK configured
I am developing a simple watch app and I use my personal watch for development with Xcode. Personal watch is series 10 gps only. I have two other watches that I want to use for testing the app, but not needing them to be connected to Xcode. The test watches have cellular option, and I need a cell plan per watch because the watches need to be standalone, not counting initial setup. To get the standalone cell plan the watches need to be configured using AWFK. Here is what I have tried/current issues. I switch between all three watches on my phone using the watch app. Originally tried to put test watches in developer mode, thinking I would connect to Xcode, developer mode is not available when watch is setup using AWFK. Pushed the watch app to apple connect, setup TestFlight group, added the test users and my phone user, accepted invites TestFlight is installed on my phone, I see the testflight setup for the watch app I set a test watch using watch app on the phone, run install for the test app from TestFlight on the phone, spinner moves for awhile then goes back to Install. I am not able to get the watch app installed on the test watches from the phone. Is what I am attempting to do supported? I haven't found much specific documentation on this. If I pair the test watches as regular watches, set them to developer mode, can I pair them again as AWFK and will developer mode survive the switch? Or is there something really simple that I'm overlooking? Appreciate any help that can be extended.
Replies
0
Boosts
0
Views
279
Activity
Dec ’25
Standard Memory Debugging Tools
In many cases I’ll be talking to folks with a memory management problem and I’ll say “You should investigate this with the standard memory debugging tools.” They then turn around and ask me “What are those tools?” Well, this is what I mean: Zombies — This lets you quickly detect when an object is used after it’s been deallocated. Learn more about it in the Finding zombies section of the Instruments Help and in Investigating crashes for zombie objects. There was also an excellent WWDC video about this, namely, WWDC 2010 Session 311 Advanced Memory Analysis with Instruments. This is no longer available in the video archive but if you can find a copy it’s well worth a watch. Address Sanitizer — This is a lower-level tool that finds a variety of common memory management issues, including use after free and buffer overruns. Learn more about this in Diagnosing memory, thread, and crash issues early and the various articles it links to. There’s also a good discussion of this tool, and other Xcode runtime diagnostic tools, in WWDC 2017 Session 406 Finding Bugs Using Xcode Runtime Tools (also no longer available from Apple). Hardware memory tagging — If you have access to a device with hardware memory tagging — starting with the A19 or M5 processors — consider enabling Memory Integrity Enforcement (MIE). For the details, see Enabling enhanced security for your app or watch Secure your app with Memory Integrity Enforcement. Even if you don’t want to do that for your production app, enable it just for development by checking Hardware Memory Tagging in the Options tab of Xcode’s scheme editor. Older tools — There are a variety of older tools that might be useful in some specific circumstances. See the Enabling the Malloc Debugging Features section of the Memory Usage Performance Guidelines for more information about these. Of specific interest is libgmalloc, which is documented in a UNIX man page. For some practical examples of how to identity a memory management crash report and then investigate that crash with these tools, take a look at WWDC 2018 Session 414 Understanding Crashes and Crash Logs. Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = "eskimo" + "1" + "@" + "apple.com" Revision History: 2026-03-02 Added a discussion of hardware memory tagging. 2023-05-09 Added a link to Investigating crashes for zombie objects. 2023-03-22 Removed another WWDC session video link. Made minor editorial changes. 2020-10-23 Fixed some formatting errors. 2019-10-30 Removed the link to WWDC 2010 Session 311 Advanced Memory Analysis with Instruments because it’s not long available in the archive. Refreshed all the other links. 2019-01-22 Fixed the link to libgmalloc. 2018-11-02 Updated to include a reference to WWDC 2018 Session 414 Understanding Crashes and Crash Logs. 2017-11-16 First posted.
Replies
0
Boosts
0
Views
18k
Activity
Mar ’26
An Apple Library Primer
Apple’s library technology has a long and glorious history, dating all the way back to the origins of Unix. This does, however, mean that it can be a bit confusing to newcomers. This is my attempt to clarify some terminology. If you have any questions or comments about this, start a new thread and tag it with Linker so that I see it. Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = "eskimo" + "1" + "@" + "apple.com" An Apple Library Primer Apple’s tools support two related concepts: Platform — This is the platform itself; macOS, iOS, iOS Simulator, and Mac Catalyst are all platforms. Architecture — This is a specific CPU architecture used by a platform. arm64 and x86_64 are both architectures. A given architecture might be used by multiple platforms. The most obvious example of this arm64, which is used by all of the platforms listed above. Code built for one platform will not work on another platform, even if both platforms use the same architecture. Code is usually packaged in either a Mach-O file or a static library. Mach-O is used for executables (MH_EXECUTE), dynamic libraries (MH_DYLIB), bundles (MH_BUNDLE), and object files (MH_OBJECT). These can have a variety of different extensions; the only constant is that .o is always used for a Mach-O containing an object file. Use otool and nm to examine a Mach-O file. Use vtool to quickly determine the platform for which it was built. Use size to get a summary of its size. Use dyld_info to get more details about a dynamic library. IMPORTANT All the tools mentioned here are documented in man pages. For information on how to access that documentation, see Reading UNIX Manual Pages. There’s also a Mach-O man page, with basic information about the file format. Many of these tools have old and new variants, using the -classic suffix or llvm- prefix, respectively. For example, there’s nm-classic and llvm-nm. If you run the original name for the tool, you’ll get either the old or new variant depending on the version of the currently selected tools. To explicitly request the old or new variants, use xcrun. The term Mach-O image refers to a Mach-O that can be loaded and executed without further processing. That includes executables, dynamic libraries, and bundles, but not object files. A dynamic library has the extension .dylib. You may also see this called a shared library. A framework is a bundle structure with the .framework extension that has both compile-time and run-time roles: At compile time, the framework combines the library’s headers and its stub library (stub libraries are explained below). At run time, the framework combines the library’s code, as a Mach-O dynamic library, and its associated resources. The exact structure of a framework varies by platform. For the details, see Placing Content in a Bundle. macOS supports both frameworks and standalone dynamic libraries. Other Apple platforms support frameworks but not standalone dynamic libraries. Historically these two roles were combined, that is, the framework included the headers, the dynamic library, and its resources. These days Apple ships different frameworks for each role. That is, the macOS SDK includes the compile-time framework and macOS itself includes the run-time one. Most third-party frameworks continue to combine these roles. A static library is an archive of one or more object files. It has the extension .a. Use ar, libtool, and ranlib to inspect and manipulate these archives. The static linker, or just the linker, runs at build time. It combines various inputs into a single output. Typically these inputs are object files, static libraries, dynamic libraries, and various configuration items. The output is most commonly a Mach-O image, although it’s also possible to output an object file. The linker may also output metadata, such as a link map (see Using a Link Map to Track Down a Symbol’s Origin). The linker has seen three major implementations: ld — This dates from the dawn of Mac OS X. ld64 — This was a rewrite started in the 2005 timeframe. Eventually it replaced ld completely. If you type ld, you get ld64. ld_prime — This was introduced with Xcode 15. This isn’t a separate tool. Rather, ld now supports the -ld_classic and -ld_new options to select a specific implementation. Note During the Xcode 15 beta cycle these options were -ld64 and -ld_prime. I continue to use those names because the definition of new changes over time (some of us still think of ld64 as the new linker ;–). The dynamic linker loads Mach-O images at runtime. Its path is /usr/lib/dyld, so it’s often referred to as dyld, dyld, or DYLD. Personally I pronounced that dee-lid, but some folks say di-lid and others say dee-why-el-dee. IMPORTANT Third-party executables must use the standard dynamic linker. Other Unix-y platforms support the notion of a statically linked executable, one that makes system calls directly. This is not supported on Apple platforms. Apple platforms provide binary compatibility via system dynamic libraries and frameworks, not at the system call level. Note Apple platforms have vestigial support for custom dynamic linkers (your executable tells the system which dynamic linker to use via the LC_LOAD_DYLINKER load command). This facility originated on macOS’s ancestor platform and has never been a supported option on any Apple platform. The dynamic linker has seen 4 major revisions. See WWDC 2017 Session 413 (referenced below) for a discussion of versions 1 through 3. Version 4 is basically a merging of versions 2 and 3. The dyld man page is chock-full of useful info, including a discussion of how it finds images at runtime. Every dynamic library has an install name, which is how the dynamic linker identifies the library. Historically that was the path where you installed the library. That’s still true for most system libraries, but nowadays a third-party library should use an rpath-relative install name. For more about this, see Dynamic Library Identification. Mach-O images are position independent, that is, they can be loaded at any location within the process’s address space. Historically, Mach-O supported the concept of position-dependent images, ones that could only be loaded at a specific address. While it may still be possible to create such an image, it’s no longer a good life choice. Mach-O images have a default load address, also known as the base address. For modern position-independent images this is 0 for library images and 4 GiB for executables (leaving the bottom 32 bits of the process’s address space unmapped). When the dynamic linker loads an image, it chooses an address for the image and then rebases the image to that address. If you take that address and subtract the image’s load address, you get a value known as the slide. Xcode 15 introduced the concept of a mergeable library. This a dynamic library with extra metadata that allows the linker to embed it into the output Mach-O image, much like a static library. Mergeable libraries have many benefits. For all the backstory, see WWDC 2023 Session 10268 Meet mergeable libraries. For instructions on how to set this up, see Configuring your project to use mergeable libraries. If you put a mergeable library into a framework structure you get a mergeable framework. Xcode 15 also introduced the concept of a static framework. This is a framework structure where the framework’s dynamic library is replaced by a static library. Note It’s not clear to me whether this offers any benefit over creating a mergeable framework. Earlier versions of Xcode did not have proper static framework support. That didn’t stop folks trying to use them, which caused all sorts of weird build problems. A universal binary is a file that contains multiple architectures for the same platform. Universal binaries always use the universal binary format. Use the file command to learn what architectures are within a universal binary. Use the lipo command to manipulate universal binaries. A universal binary’s architectures are either all in Mach-O format or all in the static library archive format. The latter is called a universal static library. A universal binary has the same extension as its non-universal equivalent. That means a .a file might be a static library or a universal static library. Most tools work on a single architecture within a universal binary. They default to the architecture of the current machine. To override this, pass the architecture in using a command-line option, typically -arch or --arch. An XCFramework is a single document package that includes libraries for any combination of platforms and architectures. It has the extension .xcframework. An XCFramework holds either a framework, a dynamic library, or a static library. All the elements must be the same type. Use xcodebuild to create an XCFramework. For specific instructions, see Xcode Help > Distribute binary frameworks > Create an XCFramework. Historically there was no need to code sign libraries in SDKs. If you shipped an SDK to another developer, they were responsible for re-signing all the code as part of their distribution process. Xcode 15 changes this. You should sign your SDK so that a developer using it can verify this dependency. For more details, see WWDC 2023 Session 10061 Verify app dependencies with digital signatures and Verifying the origin of your XCFrameworks. A stub library is a compact description of the contents of a dynamic library. It has the extension .tbd, which stands for text-based description (TBD). Apple’s SDKs include stub libraries to minimise their size; for the backstory, read this post. Use the tapi tool to create and manipulate stub libraries. In this context TAPI stands for a text-based API, an alternative name for TBD. Oh, and on the subject of tapi, I’d be remiss if I didn’t mention tapi-analyze! Stub libraries currently use YAML format, a fact that’s relevant when you try to interpret linker errors. If you’re curious about the format, read the tapi-tbdv4 man page. There’s also a JSON variant documented in the tapi-tbdv5 man page. Note Back in the day stub libraries used to be Mach-O files with all the code removed (MH_DYLIB_STUB). This format has long been deprecated in favour of TBD. Historically, the system maintained a dynamic linker shared cache, built at runtime from its working set of dynamic libraries. In macOS 11 and later this cache is included in the OS itself. Libraries in the cache are no longer present in their original locations on disk: % ls -lh /usr/lib/libSystem.B.dylib ls: /usr/lib/libSystem.B.dylib: No such file or directory Apple APIs, most notably dlopen, understand this and do the right thing if you supply the path of a library that moved into the cache. That’s true for some, but not all, command-line tools, for example: % dyld_info -exports /usr/lib/libSystem.B.dylib /usr/lib/libSystem.B.dylib [arm64e]: -exports: offset symbol … 0x5B827FE8 _mach_init_routine % nm /usr/lib/libSystem.B.dylib …/nm: error: /usr/lib/libSystem.B.dylib: No such file or directory When the linker creates a Mach-O image, it adds a bunch of helpful information to that image, including: The target platform The deployment target, that is, the minimum supported version of that platform Information about the tools used to build the image, most notably, the SDK version A build UUID For more information about the build UUID, see TN3178 Checking for and resolving build UUID problems. To dump the other information, run vtool. In some cases the OS uses the SDK version of the main executable to determine whether to enable new behaviour or retain old behaviour for compatibility purposes. You might see this referred to as compiled against SDK X. I typically refer to this as a linked-on-or-later check. Apple tools support the concept of autolinking. When your code uses a symbol from a module, the compiler inserts a reference (using the LC_LINKER_OPTION load command) to that module into the resulting object file (.o). When you link with that object file, the linker adds the referenced module to the list of modules that it searches when resolving symbols. Autolinking is obviously helpful but it can also cause problems, especially with cross-platform code. For information on how to enable and disable it, see the Build settings reference. Mach-O uses a two-level namespace. When a Mach-O image imports a symbol, it references the symbol name and the library where it expects to find that symbol. This improves both performance and reliability but it precludes certain techniques that might work on other platforms. For example, you can’t define a function called printf and expect it to ‘see’ calls from other dynamic libraries because those libraries import the version of printf from libSystem. To help folks who rely on techniques like this, macOS supports a flat namespace compatibility mode. This has numerous sharp edges — for an example, see the posts on this thread — and it’s best to avoid it where you can. If you’re enabling the flat namespace as part of a developer tool, search the ’net for dyld interpose to learn about an alternative technique. WARNING Dynamic linker interposing is not documented as API. While it’s a useful technique for developer tools, do not use it in products you ship to end users. Apple platforms use DWARF. When you compile a file, the compiler puts the debug info into the resulting object file. When you link a set of object files into a executable, dynamic library, or bundle for distribution, the linker does not include this debug info. Rather, debug info is stored in a separate debug symbols document package. This has the extension .dSYM and is created using dsymutil. Use symbols to learn about the symbols in a file. Use dwarfdump to get detailed information about DWARF debug info. Use atos to map an address to its corresponding symbol name. Different languages use different name mangling schemes: C, and all later languages, add a leading underscore (_) to distinguish their symbols from assembly language symbols. C++ uses a complex name mangling scheme. Use the c++filt tool to undo this mangling. Likewise, for Swift. Use swift demangle to undo this mangling. For a bunch more info about symbols in Mach-O, see Understanding Mach-O Symbols. This includes a discussion of weak references and weak definition. If your code is referencing a symbol unexpectedly, see Determining Why a Symbol is Referenced. To remove symbols from a Mach-O file, run strip. To hide symbols, run nmedit. It’s common for linkers to divide an object file into sections. You might find data in the data section and code in the text section (text is an old Unix term for code). Mach-O uses segments and sections. For example, there is a text segment (__TEXT) and within that various sections for code (__TEXT > __text), constant C strings (__TEXT > __cstring), and so on. Over the years there have been some really good talks about linking and libraries at WWDC, including: WWDC 2023 Session 10268 Meet mergeable libraries WWDC 2022 Session 110362 Link fast: Improve build and launch times WWDC 2022 Session 110370 Debug Swift debugging with LLDB WWDC 2021 Session 10211 Symbolication: Beyond the basics WWDC 2019 Session 416 Binary Frameworks in Swift — Despite the name, this covers XCFrameworks in depth. WWDC 2018 Session 415 Behind the Scenes of the Xcode Build Process WWDC 2017 Session 413 App Startup Time: Past, Present, and Future WWDC 2016 Session 406 Optimizing App Startup Time Note The older talks are no longer available from Apple, but you may be able to find transcripts out there on the ’net. Historically Apple published a document, Mac OS X ABI Mach-O File Format Reference, or some variant thereof, that acted as the definitive reference to the Mach-O file format. This document is no longer available from Apple. If you’re doing serious work with Mach-O, I recommend that you find an old copy. It’s definitely out of date, but there’s no better place to get a high-level introduction to the concepts. The Mach-O Wikipedia page has a link to an archived version of the document. For the most up-to-date information about Mach-O, see the declarations and doc comments in <mach-o/loader.h>. Revision History 2025-08-04 Added a link to Determining Why a Symbol is Referenced. 2025-06-29 Added information about autolinking. 2025-05-21 Added a note about the legacy Mach-O stub library format (MH_DYLIB_STUB). 2025-04-30 Added a specific reference to the man pages for the TBD format. 2025-03-01 Added a link to Understanding Mach-O Symbols. Added a link to TN3178 Checking for and resolving build UUID problems. Added a summary of the information available via vtool. Discussed linked-on-or-later checks. Explained how Mach-O uses segments and sections. Explained the old (-classic) and new (llvm-) tool variants. Referenced the Mach-O man page. Added basic info about the strip and nmedit tools. 2025-02-17 Expanded the discussion of dynamic library identification. 2024-10-07 Added some basic information about the dynamic linker shared cache. 2024-07-26 Clarified the description of the expected load address for Mach-O images. 2024-07-23 Added a discussion of position-independent images and the image slide. 2024-05-08 Added links to the demangling tools. 2024-04-30 Clarified the requirement to use the standard dynamic linker. 2024-03-02 Updated the discussion of static frameworks to account for Xcode 15 changes. Removed the link to WWDC 2018 Session 415 because it no longer works )-: 2024-03-01 Added the WWDC 2023 session to the list of sessions to make it easier to find. Added a reference to Using a Link Map to Track Down a Symbol’s Origin. Made other minor editorial changes. 2023-09-20 Added a link to Dynamic Library Identification. Updated the names for the static linker implementations (-ld_prime is no more!). Removed the beta epithet from Xcode 15. 2023-06-13 Defined the term Mach-O image. Added sections for both the static and dynamic linkers. Described the two big new features in Xcode 15: mergeable libraries and dependency verification. 2023-06-01 Add a reference to tapi-analyze. 2023-05-29 Added a discussion of the two-level namespace. 2023-04-27 Added a mention of the size tool. 2023-01-23 Explained the compile-time and run-time roles of a framework. Made other minor editorial changes. 2022-11-17 Added an explanation of TAPI. 2022-10-12 Added links to Mach-O documentation. 2022-09-29 Added info about .dSYM files. Added a few more links to WWDC sessions. 2022-09-21 First posted.
Replies
0
Boosts
0
Views
16k
Activity
Aug ’25
Eas Build failing for ios build shoiwing the error below,
i have been added to an apple membership organization, and given App manager's rights b ut my build keeps failing and asking me to get more access
Replies
0
Boosts
0
Views
198
Activity
Jul ’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
Info.plist unable to install - With Firebase Framework & Package Manager
I'm having trouble with this Info.plist for Firebase Frameworks/FirebaseFirestoreInternal.framework/Info.plist unable to install It looks like Firebase removed Info.plist files in 10.20.0. and its causing this error below. Most of the online support says to update Cocafile PODs to not embed however I can't find any solutions for Package Manager. StackOverflow: https://stackoverflow.com/questions/64977628/all-framework-error-when-launch-framework-info-plist-no-such-file-or-directory/64979956#64979956 https://stackoverflow.com/questions/77888962/issue-trying-to-run-app-on-ios-simulator-missing-a-plist-from-firebase Error: App installation failed: Unable to Install “Replayology” Please try again later. Failed to load Info.plist from bundle at path /Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework; Extra info about "/Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework/Info.plist": Couldn't stat /Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework/Info.plist: No such file or directory Details App installation failed: Unable to Install “Replayology” Domain: IXUserPresentableErrorDomain Code: 1 Failure Reason: Please try again later. Recovery Suggestion: Failed to load Info.plist from bundle at path /Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework; Extra info about "/Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework/Info.plist": Couldn't stat /Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework/Info.plist: No such file or directory User Info: { DVTErrorCreationDateKey = "2025-05-29 23:54:11 +0000"; IDERunOperationFailingWorker = IDELaunchiPhoneSimulatorLauncher; SimCallingSelector = "installApplication:withOptions:error:"; } Unable to Install “Replayology” Domain: IXUserPresentableErrorDomain Code: 1 Failure Reason: Please try again later. Recovery Suggestion: Failed to load Info.plist from bundle at path /Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework; Extra info about "/Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework/Info.plist": Couldn't stat /Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework/Info.plist: No such file or directory Failed to load Info.plist from bundle at path /Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework; Extra info about "/Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework/Info.plist": Couldn't stat /Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework/Info.plist: No such file or directory Domain: MIInstallerErrorDomain Code: 35 User Info: { FunctionName = "-[MIBundle _validateWithError:]"; LegacyErrorString = PackageInspectionFailed; SourceFileLine = 64; } System Information macOS Version 15.2 (Build 24C101) Xcode 16.3 (23785) (Build 16E140) Timestamp: 2025-05-29T18:54:11-05:00
Replies
0
Boosts
0
Views
116
Activity
May ’25