ERROR ITMS-90207 Apple Store Submisson - ios

My app works perfectly when I'm running it on the simulator or device (for debug and release build configuration). But when I try to submit my app to the Apple Store I got the following error:
ERROR ITMS-90207: "Invalid Bundle. The bundle at 'APPNAME.app' does
not contain a bundle executable."
I tried to upload the archive with Xcode and Application Loader, without success.
I have tried some of the solutions found in this topic (Xcode App Submisson ERROR ITMS-90207: "Invalid Bundle) but none of them work with my project:
CFBundleExecutable is declared in my plist file as $(EXECUTABLE_NAME)
I tried to disable Bitcode
I tried to remove all CFBundleExecutable form Pods plist files (keep only the one from my target's plist)
Maybe this error is related to Xcode version... My mac is running macOS Sierra Version 10.12.6 Beta (16G8c), Xcode Version 8.3.2 (8E2002) and Application Loader Version 3.0 (620).
Any help is welcome.
UDPATE:
I try with Xcode 8.2, I have the same error.
Here is my plist file for more detail:
<?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>CFBundleAllowMixedLocalizations</key>
<true/>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleDisplayName</key>
<string>APPNAME</string>
<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>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fb000000</string>
</array>
</dict>
</array>
<key>CFBundleVersion</key>
<string>639</string>
<key>FacebookAppID</key>
<string>000000</string>
<key>FacebookDisplayName</key>
<string>APPNAME</string>
<key>FirebaseAppDelegateProxyEnabled</key>
<false/>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSCameraUsageDescription</key>
<string>Description...</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Description...</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Description...</string>
<key>UIBackgroundModes</key>
<array>
<string>location</string>
</array>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
<key>UIStatusBarTintParameters</key>
<dict>
<key>UINavigationBar</key>
<dict>
<key>Style</key>
<string>UIBarStyleDefault</string>
<key>Translucent</key>
<false/>
</dict>
</dict>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
</dict>
</plist>
UDPATE 2:
I managed to publish the archive from another mac with Xcode 8.2.1.
I try with Xcode version 8.2 an 8.2.1 on my mac, but I still have the same error.
I have also tried Application Loader version 3.0 and 3.6, without success...
So it looks like, the problem comes from my mac. I have no idea what to do.

I have contacted the Apple Developer Technical Support, and as #Larme suggest in the comments above, the error is due to my beta version of macOS.
Here is the full Apple support answer:
I looked at the .ipa you provided that was giving trouble, and
compared it to the one successfully submitted to the App Store. The
one giving you trouble was built on a beta version of macOS, which is
not supported for distribution. Apps released to the App Store need to
be built for a GM version of macOS, with a GM version of Xcode, using
a GM version of the iOS SDK.
Normally, apps submitted with any beta software receive a message
indicating this problem, and the message you received
was completely misleading.
I am going to complete the Bug Reporter form to report this bug.
Thanks everyone for your help.

Ridiculously enough, you also get this error if you try to submit a 9.0 deployment target app with XCode 9.1. Switchting the deployment target to 11.1 "fixed" it.
My hunch is that it is related to this: https://developer.apple.com/library/content/releasenotes/DeveloperTools/RN-Xcode/Chapters/Introduction.html
"Deprecations: Apps with a deployment target of iOS 11 no longer build a 32-bit slice. To build and include a 32-bit slice, set the deployment target to an earlier version of iOS. (32163517)"

Related

why the ipa file did not generated when build the flutter app

When I am using this command to build the ios ipa file:
➜ ios git:(master) ✗ ~/fvm/versions/2.5.0/bin/flutter build ipa
Changing current working directory to: /Users/xiaoqiangjiang/source/reddwarf/frontend/flutter-netease-music
Archiving com.reddwarf.musicapp...
Automatically signing iOS for device deployment using specified development team in Xcode project: 6JP4P88ZJB
Running pod install... 960ms
Running Xcode build...
└─Compiling, linking and signing... 4.7s
Xcode archive done. 40.8s
Built /Users/xiaoqiangjiang/source/reddwarf/frontend/flutter-netease-music/build/ios/archive/Runner.xcarchive.
💪 Building with sound null safety 💪
I did not found the ipa file in the build folder. what should I do to generate the ipa file? The log output did not show any error, did not show the ipa file path. I found the flutter archive option are unavaliable:
I have already tried to add the info.plist file in ${PROJECT}/ios/Runner/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>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key>
<string>Music</string>
<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>dolphin</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>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
<key>UIBackgroundModes</key>
<array>
<string>audio</string>
<string>bluetooth-central</string>
<string>bluetooth-peripheral</string>
<string>external-accessory</string>
<string>fetch</string>
<string>location</string>
<string>processing</string>
<string>remote-notification</string>
<string>voip</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>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<key>CADisableMinimumFrameDurationOnPhone</key>
<true/>
</dict>
</plist>
and when I using the xcode 14.1 to archive the app, it works but could not build the app with the flutter command.
First try to generate your ipa With flutter build ipa if no error occured you will find your ipa in build ios name as archive you just need to open it with your xcode.
I finally tried to using this command to build:
~/fvm/versions/2.5.0/bin/flutter build ipa --export-options-plist=/Users/xiaoqiangjiang/source/reddwarf/frontend/flutter-netease-music/ios/Runner/Info.plist --release

Flutter / iOS : Could not determine bundle id

In my Flutter project, I try to compile and run my app. It works fine on Android but for some reason, out of nowhere, I now have the following error when I run my app on iOS:
2022-06-11 16:21:02.274 ios-deploy[42320:338779] [ !! ] [ ERROR] Could not determine bundle id.
Could not run build/ios/iphoneos/Runner.app on 00008030-001C085222DA803E.
So here is what I checked:
Info.plist: there is Bundle identifier with the value $(PRODUCT_BUNDLE_IDENTIFIER)
In TARGETS > Runner > Build Settings > Packaging > Product Bundle Identifier, I have the expected value (my package name)
In TARGETS > Runner > General > Bundle Identifier, the value is set as expected (my package name)
In TARGETS > Runner > Build Settings > Packaging > Info.plist File, I have the correct location: Runner/Info.plist
I tried flutter clean, Invalidate caches & Restart on Android Studio, Clean Build Folder on Xcode
I tried even more cleaning as explained here
And here is my Info.plist file:
<?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>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key>
<string>$(APP_DISPLAY_NAME)</string>
<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>Wezeejay</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>ENVIRONNEMENT</key>
<string>$(ENVIRONNEMENT)</string>
<key>LSApplicationCategoryType</key>
<string></string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UIBackgroundModes</key>
<array>
<string>audio</string>
<string>remote-notification</string>
</array>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleLightContent</string>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<key>NSCameraUsageDescription</key>
<string>NSCameraUsageDescription</string>
<key>CADisableMinimumFrameDurationOnPhone</key>
<true/>
</dict>
</plist>
But I still have that error just when the app is about to launch, which I have no idea where it comes from since it was working perfectly just two days ago.
Does anyone know how to fix that?
Thanks.
Open the workspace file in xcode. Select runner from the side panel and select general tab. You should be able to see the bundle id. Add bundle id in this section
EDIT
/Users//Library/Developer/Xcode/DerivedData
remove all contents of this folder and from Xcode go to product, clean build folder and then build again
Change use Release for command line builds to debug and build once. Then switch it back to release
I finally managed to make it work by:
updating Mac OS
unstalling and installing the latest version of Xcode

Xcode build failing no relevant error messages displayed

I am attempting to build an app from flutter on iOS but when I try to run the build I get the following error: invalid reuse after initialization failure. That is all I get in terms of an error message. I tried looking online and have not found anything relevant. I thought perhaps there was something wrong with my info.plist but I cannot find any error. Below is the info.plist contents
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENTLANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLENAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCTBUNDLEIDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>synthexklutchrelease</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>$(FLUTTERBUILDNAME)</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>$(FLUTTERBUILDNUMBER)</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<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>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<key>NSPhotoLibraryUsageDescription</key>
<string>App needs access to photo lib for profile images</string>
<key>NSCameraUsageDescription</key>
<string>To capture profile photo please grant camera access</string>
</dict>
</plist>
Cleaning the build folder (Cmd+Shift+K) helped me resolve the invalid reuse after initialization failure issue
Just ran into the same issue. I fixed it by double-clicking on Runner in the files overview. This showed Identity and Type on the right-hand side. If you set Project Format (under Project Document) to Xcode 12.0-compatible it works.
Hope the description helps. I only use the mac when testing Flutter builds for iOS, so I'm not an expert :p

Archive upload error: ERROR ITMS-90207 - The bundle does not contain a bundle executable

I have an iOS app developed in Swift 2.1.1 with Xcode 7.2. The app runs perfectly and Xcode creates an archive with no problem, but upon uploading it to the app store (iTunes Connect) I get the following error:
ERROR ITMS-90207: "Invalid Bundle. The bundle at 'My App Name.app'
does not contain a bundle executable."
I have tried any suggestions I could find with no improvement whatsoever. How do I fix this issue? How can I find the cause? Is there a workaround?
I use several libraries with CocoaPods, my Podfile:
platform :ios, '8.0'
use_frameworks!
target 'My App Name' do
pod 'RealmSwift'
pod 'SwiftDateExtension'
pod "JDFTooltips"
end
target 'My App NameTests' do
pod 'RealmSwift'
end
My 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>CFBundleDevelopmentRegion</key>
<string>en</string>
<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>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSHumanReadableCopyright</key>
<string>Text removed</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>Text removed</string>
<key>UILaunchStoryboardName</key>
<string>Launch Screen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
</dict>
</plist>
I tried any suggestion I could find including:
Bundle id is set in app target, re-added info.plist (source)
CFBundleExecutable is set in the Info.plist (source)
Device connected or not makes no difference (source)
Disabling bit codes
I went into the archive to ensure it contains an executable and the Plist file links to it (from what I can gather) correctly. Even removed spaces in the name to ensure that's not the issue.
Turns out the NSHumanReadableCopyright broke the Info.plist. Completely removing the key from the Info.plist solved the issue (removing just the © character wasn't enough).
I think it's a fair suggestion to anyone experiencing a similar issue to try to submit an archive with a default, unmodified, Info.plist to see if that works. From my experience you can submit as many times as you want so don't hesitate to experiment.
I added the key because Apple suggests doing so in their documentation: https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/ConfiguringYourApp/ConfiguringYourApp.html#//apple_ref/doc/uid/TP40012582-CH28-SW29.
Seems weird and stupid for their verification process to break and point to the executable when they can't interpret the Info.plist.

Error with provisioning profile during app installation

I have following error while trying to install application (ipa) on device:
entitlement 'com.apple.developer.ubiquity-container-identifiers' has value not permitted by provisioning profile 'XXXXXXXXXX'
This error start to appear after I generated new provisioning profile with new certificates. If it can be helpful, below are different part of old provisioning profile and the new one.
Old:
<key>Entitlements</key>
<dict>
<key>application-identifier</key>
<string>FSKCIFJNWO.com.XXXXX.YYYY</string>
<key>aps-environment</key>
<string>production</string>
<key>com.apple.developer.ubiquity-container-identifiers</key>
<array>
<string>FSKCIFJNWO.*</string>
</array>
<key>com.apple.developer.ubiquity-kvstore-identifier</key>
<string>FSKCIFJNWO.*</string>
<key>get-task-allow</key>
<false/>
<key>keychain-access-groups</key>
<array>
<string>FSKCIFJNWO.*</string>
</array>
</dict>
...
New:
<key>Entitlements</key>
<dict>
<key>keychain-access-groups</key>
<array>
<string>FSKCIFJNWO.*</string>
</array>
<key>get-task-allow</key>
<false/>
<key>application-identifier</key>
<string>FSKCIFJNWO.com.XXXXX.YYYY</string>
<key>com.apple.developer.ubiquity-kvstore-identifier</key>
<string>FSKCIFJNWO.*</string>
<key>com.apple.developer.icloud-services</key>
<string>*</string>
<key>com.apple.developer.icloud-container-environment</key>
<array>
<string>Development</string>
<string>Production</string>
</array>
<key>com.apple.developer.icloud-container-identifiers</key>
<array>
</array>
<key>com.apple.developer.icloud-container-development-container-identifiers</key>
<array>
</array>
<key>com.apple.developer.ubiquity-container-identifiers</key>
<array>
</array>
<key>com.apple.developer.team-identifier</key>
<string>FSKCIFJNWO</string>
<key>aps-environment</key>
<string>production</string>
</dict>
...
Maybe I did something wrong while generating provisioning profile.
Question: Do you know how to fix this ?
This is a production PP, and as far as I can see no Enterprise Account.
You will not be able to install an IPA build with this PP on a device without having the registered devices listed.
I suspect you do not have all the services selected for your app id on Apple's developer site. Check out your settings and make sure you have all of the necessary options selected. Then re-generate your provisioning profile:
Also, make sure your app bundle id matches the ID on Apple's site.

Resources