I'm trying to debug on my iPhone 16e and I'm running into this error:
Error mounting image: 0xe800010f (kAMDMobileImageMounterPersonalizedBundleMissingVariantError: The bundle image is missing the requested variant for this device.)
Since all of my other devices are working fine, I assume this is due to outdated XCode, which is something I see mentioned in other threads.
What is the specific XCode version needed to build onto the 16e and is there any workaround for XCode 16.1?
Thanks!
Xcode
RSS for tagBuild, test, and submit your app using Xcode, Apple's integrated development environment.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
I'm quite new to Xcode development, and I've been having an issue test-running my app. When I run the app on my iPhone from my Mac, the app launches properly and works initially. However, when I close the app fully and try to reopen it, it keeps crashing. This occurs whether I test on a physical device or an iPhone simulator.
Somehow, this issue does not occur when the app is run on Profile mode.
I would appreciate any pointers to debug this.
I am trying to find a way to copy the signed target from Xcode Release build to a local directory as part of the build process.
If I use a "run script" build phase it executes BEFORE the target is signed, so will not accomplish that goal.
If I use a "copy file" build phase, it does have an option for signing and so that does "work"; however it always copies the DEBUG version.
Is there a way to copy the Release build target?
EG can a run script execute the code sign program, and, if so what would the command line parameters be? OR
is there a way to modify the copy file phase to copy the Release build rather than the Debug build? OR
??
Topic:
Developer Tools & Services
SubTopic:
Xcode
I am working on an iOS app using Flutter that tracks outgoing calls using CallKit. The call tracking functionality works perfectly in Debug mode but does not work when the app is published to TestFlight.
I have already added Background Modes (voip, audio, processing, fetch) in Info.plist. I have added CallKit.framework in Xcode under Link Binary With Libraries (set to Optional).
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>aps-environment</key>
<string>production</string>
</dict>
</plist>
These are the necessary permission which I used in info.plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BGTaskSchedulerPermittedIdentifiers</key>
<array>
<string>com.agent.mygenie</string>
</array>
<key>CADisableMinimumFrameDurationOnPhone</key>
<true/>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key>
<string>MyGenie</string>
<key>CFBundleDocumentTypes</key>
<array/>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>mygenie</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>$(FLUTTER_BUILD_NAME)</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>$(FLUTTER_BUILD_NUMBER)</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSCallKitUsageDescription</key>
<string>This app needs access to CallKit for call handling</string>
<key>NSContactsUsageDescription</key>
<string>This app needs access to your contacts for calls</string>
<key>NSMicrophoneUsageDescription</key>
<string>This app needs access to microphone for calls</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>This app needs access to photo library for profile picture updation</string>
<key>UIApplicationSupportsIndirectInputEvents</key>
<true/>
<key>UIBackgroundModes</key>
<array>
<string>voip</string>
<string>processing</string>
<string>fetch</string>
<string>audio</string>
</array>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
[code.txt](https://developer.apple.com/forums/content/attachment/0a327dbd-652e-41d5-8811-c462d09e0567)
</dict>
</plist>
And below is the file are AppDelegate.swift, call_tracking_mixin.dart, & main_call.dart file for full knowledge
So I will summary an issue one of our clients has asked us on GitHub:
https://github.com/pendo-io/pendo-mobile-sdk/issues/233
Project that is a custom framework that uses different SPM packages (one of them is Binary package), we have our main logic inside that framework and we have different targets that use this framework, everything works on the simulator, but running the app on the actual device provokes a crash saying "Binary framework was not found". We have like 20 other SPM packages that work fine, this is the first one we have an issue with.
Please note I understand that SPM will not copy paste the Binary for the magic framework as it does for the apps so I suggested to embed it manually.
So my question is what the best(easy) way to do it.
Please refer to the following issue for more details:
https://github.com/pendo-io/pendo-mobile-sdk/issues/233
I'm on version 16 of simulator and Xcode. Last Friday, starting the simulator would take 10 seconds at the most. Now, it takes at least 10 minutes. My app target is the same and nothing in my app itself has changed. There's no new software installed and it has plenty of RAM and disk.
When I target my phone, it is instant. So I'm testing / debugging everything on my phone now. When I use the simulator, the initial load is about 10 minutes, then it's fine (using the app itself). But something is causing it to hang when loading. And like I said - last week it was fine. If it was slow when running on my phone, I'd think it was something with me/the app. But it's not.
This is the only messages I get in the system log.
Feb 24 12:54:46 MacBookAir bootlog[0]: BOOT_TIME 1740423286 329039
Feb 24 13:06:42 MacBookAir syslogd[2095]: Configuration Notice:
ASL Module "com.apple.contacts.ContactsAutocomplete" claims selected messages.
Those messages may not appear in standard system log files or in the ASL database.
Feb 24 15:10:13 MacBookAir syslogd[8045]: --- syslogd restarted ---
Feb 24 15:10:13 MacBookAir syslogd[8045]: Configuration Notice:
ASL Module "com.apple.contacts.ContactsAutocomplete" claims selected messages.
Those messages may not appear in standard system log files or in the ASL database.
Topic:
Developer Tools & Services
SubTopic:
Xcode
When renaming a variable in the active scheme, it's not renamed for the non active ones.
As a result when you have code that operates in both schemes (with #if os() conditions) a compile time error is introduced.
Is this an Xcode bug or expected behaviour?
难道是电脑版本问题吗 macos15.3.1
错误报告
Topic:
Developer Tools & Services
SubTopic:
Xcode
Here's what my Info.plist looks like:
The problem here is that there is no value column. No where for me to edit the values. It's driving me insane. I can edit in a vanilla text editor, but it's annoying to use the auto complete feature here and then open a text editor to change the value.
Anyone know why this could be happening? Am I just missing a setting toggle somewhere?
We're building an SDK (let's call it MyFramework) which is distributed as an .xcframework for developers to integrate it into their own apps.
Recently, we've added tvOS support by adding it as a supported destination for the SDK. Essentially, the SDK became a cross-platform framework and easy to be adopted in both iOS and tvOS apps.
The .xcframework is generated fine, all builds correctly. We've tested the SDK integrated in test apps. We've also submitted an iOS archive app to the AppStore connect, just to make sure all is well with the AppStore submission.
However, when I tried submitting a tvOS archive app (that integrates the same SDK) to the AppStore connect, the build was marked as invalid binary and we've got the following error message:
ITMS-90562: Invalid Bundle - One of the nested bundles is built for a platform which is different from the main bundle platform. Please make sure that all bundles have correct platform specification.
First, I thought that any of the modules of the framework was not correctly configured for tvOS but that was not the case. Everything compiles ok and it runs in debug as expected.
It only fails when trying to submit the tvOS app that integrates the SDK.
After a lot of investigating, we realised that the reason for the AppStore submission error is because we codesign the framework. We use codesign to distribute it as cryptographically signed xcframework.
codesign --timestamp -v --sign "Apple Distribution: Company (xxxxxxxxxx)" "MyFramework.xcframework"
As soon as we remove the above line from our CI/CD pipeline that generates the xcframework, and submit a tvOS archive app that integrates the unsigned framework, the AppStore submission error goes away and the TestFlight build can be tested.
I've also tried to just strip the _CodeSignature folder from the .xcframework package but it still fails. So the only solution currently is to not codesign the xcframework to be able to upload tvOS archive apps that integrate the SDK to the AppStore connect.
However, we're still puzzled as to why only the tvOS archive app gets the invalid binary error when it integrates a signed SDK. I feel like the error message is quite misleading if we have to stop signing the SDK xcframework for it to be accepted during the AppStore submission.
Anyone has any idea? Or has anyone encountered a similar issue?
Thanks!
I have been wanting to make a mobileprovision file and a p12 file, how do i make these files but using only ipad?
We are using XC Test case framework for the unit test cases after running test cases the code coverage is not visible. In previous version of Xcode it was working properly (like Xcode 15 and earlier).
The flags like #if DEBUG ... endif are dependent on the Active Compilation Conditions. So if they say DEBUG the enclosed code block will be executed, otherwise not.
Now I have the phenomenon that a #DEBUG block in a Package does not evaluate these conditions. It rather depends on the name of the configuration used to build.
So if I build my app with Active Compilation Condition set to DEBUG, but the configuration name is something like App-Release, the DEBUG block in my Package is not added/executed. The ones which are directly in the project are added.
Vice versa if the Compilation Condition say RELEASE but the configuration is called App-Debug the blocks in the Package are added to the compilation, but the ones in the project itself are not
It suffices that the config name contains the word Debug for this to happen. E.g. the configuration App-Release-Debug (I know that this would be stupid, but it is for demonstrating purposes) will cause the Packages to include the DEBUG blocks.
This happens no matter what you set in the Build Settings of the project and/or target.
The Packages are added via GitHub/GitLab Source Control with SPM.
Any ideas why this behaves like it does? It doesn't seem like it should...
** Facing issue for watch unreachable, I have tried for real device as well simulator**
if let controller = window?.rootViewController as? FlutterViewController {
let channel = FlutterMethodChannel(
name: "watchconnectivity",
binaryMessenger: controller.binaryMessenger)
channel.setMethodCallHandler({ [weak self] (call, result) in
switch call.method {
case "sendToWatch":
guard let watchSession = self?.session else {
print("❌ Watch session not initialized")
result(false)
return
}
guard watchSession.isPaired else {
print("❌ Watch not paired")
result(false)
return
}
guard watchSession.isReachable else {
print("❌")
print("isPaired: \(watchSession.isPaired)")
print("isWatchAppInstalled: \(watchSession.isWatchAppInstalled)")
print("isComplicationEnabled: \(watchSession.isComplicationEnabled)")
result(false)
return
}
guard let arguments = call.arguments as? [String: Any] else {
print("❌ Invalid arguments format")
result(false)
return
}
if watchSession.isWatchAppInstalled {
try? watchSession.updateApplicationContext(["forceLaunch": true])
}
print("📤 Sending message to Watch: \(arguments)")
watchSession.sendMessage(arguments,
replyHandler: { response in
print("✅ Message sent successfully")
result(true)
},
errorHandler: nil
)
default:
result(FlutterMethodNotImplemented)
}
})
}
Mixed development of OC and Swift in XCode.
When I modify the swift file, the entire project will recompile instead of incrementally compiling.
Topic:
Developer Tools & Services
SubTopic:
Xcode
I’ve been running into an annoying issue for a while now and wondering if anyone else can confirm or suggest a fix.
When Xcode hits a breakpoint (i.e., the app is paused), I often need to copy some text from the source code using cmd+C — for example, to paste into the debugger and inspect a variable or object. However, most of the time, the copy operation fails and nothing ends up on the clipboard. I have to repeat the copy action multiple times before it works.
This doesn’t happen 100% of the time, but it’s frequent — maybe around 7 out of 10 attempts fail. I’ve been noticing this behavior since around Xcode 15.
Has anyone else experienced this? Is there a known workaround or fix?
Topic:
Developer Tools & Services
SubTopic:
Xcode
I'm having trouble with Xcode 16.2 when trying to pair or upload apps to my iPhone 16e running iOS 18.3. Interestingly, it works perfectly with older models like the iPhone 15 and 14, even though they’re on the same iOS version. When I attempt to install an app on my iPhone 16e via Xcode, I encounter this error:
The developer disk image could not be mounted on this device. (com.apple.dt. CoreDeviceError error 12040 (0x2F08))
DDIPath = /Library/Developer/DeveloperDiskImages/iOS_DDI. dmg
DeviceIdentifier = 42E4BEC2-3B1E -4903-9A29-CC5C6363F677
Options = {
MountedBundlePath = "file:///private/var/tmp/CoreDevice_DDI_Staging_501/42E4BEC2-3B1-4903-9A29-CC5C6363F677/*;
UseCredentials = 0;
}
NSURL = file:///Library/Developer/DeveloperDiskImages/iOS_DDI.dmg
ERROR:
Error mounting image: 0x800010f (kAMDMobileImageMounterPersonalizedBundleMissingVariantError: The bundle image is missing the requested variant for this device.) (com. apple,mobiledevice error -402652913 (OxE800010F))
FunctionName = AMDeviceRemoteMountPersonalizedBundle
LineNumber = 2145
ERROR:
Failed to initialize image properties: 0x800010f (kAMDMobileImageMounterPersonalizedBundleMissingVariantError: The bundle image is missing the requested variant for this device.) (com. apple.mobiledevice error -402652913 (0x800010F))
FunctionName = -[PersonalizedImage mountImage:]
LineNumber = 1816
ERROR:
Failed to find image for variant/identity: (variant: DeveloperDiskImage | boardID: 4 | chipID: 33088 | securityDomain: 1). (com.apple.mobiledevice error -402652913 (0xE800010F))
FunctionName = -[PersonalizedImage initializeImageProperties:]
LineNumber = 1063
I used fastlane to package and upload the test package to TestFlight. However, the account in Xcode is often logged out automatically without any prompts.
In Xcode, I logged in with the developer account to automatically manage certificates, provisioning profiles, signatures, etc.
For the fastlane upload, I used a Application-specific passwords.
Does anyone know what could be the reason? I'm almost driven crazy.
Topic:
Developer Tools & Services
SubTopic:
Xcode
I want to statically link xcframework as binaryTarget in Swift Package, but it is copied into the product as dynamic when the Xcode build. How to use xcframework in SwiftPackage and statically link it into iOS product?
The Package.swift content and the project are:
The WebP.xcframework is static:
The Xcode Build Product's WebP.framework is dynamic:
Upon updating to Xcode 16.3, my StoreKit2 unit testing suite encountered a malfunction.
let result = await product.purchase()
The code snippet above simply halts execution, preventing the task from progressing. In a regular environment, everything appear to function correctly.