An update for an already existing app I have was submitted this morning. The update was very minor barely any changes were made. Apple has now sent me this email stating..
the following issues must be corrected:..
Invalid Bundle Structure - Your package contains a bundle with the following issue: IPA bundle does not include a Payload directory.
How do I fix this?
Ok, my answer has been deleted because it was not an answer to the question.
I do not have enough points to comment your question (that's what I tried to do because I obviously don't have the answer — just the same problem as you and trying to figure out why we're getting this Invalid Binary error)
As I said in my first post: I'll keep you up to date.
Today, I created a new Xcode project, with the same bundleID as the app I try to upload for a week now. It passes through the server-side pre-validation and I received a mail saying it's "Waiting for Review".
It answers one question I had since the beginning: It's not a server problem (I thought Apple had some issues with the pre-validation process).
I tried to play with architectures on this new project (for example, I only use armv7 arch for my App because of some incompatibility with third-part libraries). Still passes the server validation.
Then, I tried to copy the Info.plist file from my app to the new sample project which passes the server validation: BANG -> Invalid Binary!!
This info.plist is quite old, used since Xcode 3.0
I tried to remove some optional keys from it: still invalid binary
Then, I compared the original and needed keys with a new project's info.plist file : bang!
The "CFBundleInfoDictionaryVersion" value was empty. On a new project, the value is "6.0".
I simply set "6.0" for CFBundleInfoDictionaryVersion key and boom, it worked.
My guess is that Apple' servers are checking the info.plist file and needs a proper CFBundleInfoDictionaryVersion value in order to read the .plist file. And I think it's not happening since Xcode 5.1.1, they must have updated their server among with the release of Xcode 5.1.1, that's all.
Jeez, I can't believe how dumb it was. It's a shame that Apple does not provide a comprehensive feedback.
Hope it will work for you! Let me know!
In my Info.plist, somehow my Application requires iPhone environment was set to NO.
setting it to YES fixed this...
This worked for me
Just add the following item in your Info.plist:
LSRequiresIPhoneOS | Boolean | YES
Related
It's really bothering. I have several apps on the App Store, some of them use SwiftyJSON, but this latter one is weird. I'm trying to upload it to the App Store but I get this strange error.
No suitable application records were found. Verify your bundle
identifier 'com.swiftyjson.SwiftyJSON' is correct.
I have double checked project's bundle identifier it's correct, com.myname.appname. Also, it's correct on the iTunesConnect as well. I've read other similar questions, none of them helped. I'm using carthage and Xcode 9.
I don't know how these are related but I removed the Info.plis file, create a new project and replaced the app's plist file with this new one and the error is gone.
After spending some time googling, something tells me that the issue is new.
We had a fully functional project supporting iOS7-8. Of course it was multiple times successfully submitted to AppStore.
We use pods, lots of tracking and monitoring, like GA and Instabug.
Now we decided to submit a version of the app built on Xcode 7 on iOS 9 to TestFlight.
We disabled bitcode, since many pods, like Flurry and other prebuilt libraries does not include it.
The build was successful, after the submission to iTunesConnect we get this:
We had same for GoogleAppIndexing library (in pods too), but we removed it, just to make it work. Now - Instabug. It is going too far, so I am trying to understand what is going on in iOS 9 and what are the changes that made a fully working project to start throwing such errors.
Any thoughts and ideas are welcomed! Please share your experience, and if I missed something, I will gladly share my steps.
I encountered the same problem today with the same exact error message when trying to submit our app (using Xcode 7 beta 5) but instead of the instabug.bundle bit, it was for me TencentOpenApi_IOS_Bundle.bundle.
I solved the problem by finding the named bundle in the project then - just as the error message suggests - edited the Info.plist that is in the bundle by removing the CFBundleExecutable key. The CFBundlePackageType key was already set to BNDL so I didn't touch it.
After these changes I did Product > Clean and then had no problem submitting the app to the App store.
Encountered this with AviarySDK on Xcode 7 GM, while submitting to the App Store.
First I'd check to see whether you're on the latest version of your library - the vendor may have fixed this already. If you are still facing this problem however, as Sleiman describes you need to remove the CFBundleExecutable key from the plist file for the offending library.
Cmd + Shift + O and type "Info.plist", you can then find the appropriate file:
Once editing the plist, you may be seeing descriptive names (instead of the CFBundleExecutable and other keys. I couldn't edit this file in an external editor, so I had to switch to view raw keys/values by right-clicking on the list:
You can now see the CFBundleExecutable key (which has a description of "Executable file") which you can delete.
For AviarySDK I did this twice, once for each Info.plist seen in the above image, and was then able to successfully submit.
I solve this problem as follows:
We have to remove all the "Executable files" of the following packages:
GooglePlus.bundle
GPPCommonSharedResources.bundle
GPPShareboxSharedResources.bundle
Be sure that "Bundle type code" is equal BNDL
Important: Do not edit anything in the info.plist the main project.
Attached screens as they should be his "info.plist" listed above each package.
Here's what worked for me
Apple-Shift-F, search for CFBundleExecutable
Click each one except "PODS" or your main target
Delete it (delete key)
If the build is submitted through Less than(<) Xcode 7.0 then it will be submitted and also
I have solved it by following way for Xcode 7:
Searched for info.plist in the projects Project Navigator as like following image:
Now opened these info.plist files one by one and deleted the BundleExecutable key EXCEPT the target's info.plist
Now cleaned the project and achieved and It is submitted with No issue.
I had the same issue in Google Maps Library i removed CFBundleExecutable key inside GMSCoreResources.bundle (Info.plist) which is SDK's info.plist clean project and upload to appstore.
Happy Programming.
Just check your Build Settings => Enable Bitcode, and set it NO
In my case I just Drag and Drop The SDK In folder include info.plist file which is not in use. That's create the issue for me. So find the unused info.plist file and delete it from the Source code.
One additional note: sometimes if you have additional targets there will be target properties that may also include the key (in the "Info" section), so make sure to check those and remove it from there also. I discovered this with one of the bundles I was trying to include. I deleted the info from the plist, but kept getting the error.
If you're seeing this error from a library installed via CocoaPods, try a pod update <OFFENDING POD NAME>
That solved the problem for me.
I just added word "BNDL" to appropriate place in plist "Bundle creator OS Type code".
I have created a StickerExtensionPack. Apparently, Apple is treating a sticker extension pack as just another app that needs to go in the Sticker Category, fair enough.
However, when I uploaded the binary, I was sent back an email saying that the binary is invalid, because of the following reason:
Invalid Messages Application Support - The MessagesApplicationSupport
folder is missing and you have LSApplicationLaunchProhibited set to
true in your Info.plist. Either rebuild your application using the
current public (GM) version of Xcode or remove the
LSApplicationLaunchProhibited key from your Info.plist and resubmit
your application. Invalid iMessage App - The bundle contains an
invalid implementation of iMessage support. Add
MessagesApplicationSupport/MessagesApplicationStub next to your
Payload directory in your IPA.
MessagesApplicationSupport/MessagesApplicationStub must match the
binary at TapTeach.app/TapTeach and have no post processing applied to
it.
I'm doing a simple sticker pack. I'm on XCode and can not find LSApplicationLaunchProhibited anywhere in the info.plist within the my files!
Any guidelines on how to resolve this will be helpful. Thanks.
Try these steps:
turn off Bitcode from "Yes" to "No"
Change the version to CURRENT_PROJECT_VERSION = 1.10.11.
You don't need to recreate your project, just change the version. I reran the build and it's currently "in review" in iTunes without any errors.
So far, the only way I have been able to work around this issue is to repeatedly delete and recreate the project until iTunes Connect accepts a build. And really, I'm not even sure if the project recreation is actually helping - it could be entirely random - as it still only works about 50% of the time and turning off Bitcode, as mentioned by the OP, did not help.
At least two out of the three sticker packs I am currently working on have had this problem (with Xcode 8.0 and 8.1), so it's befuddling how this cannot be more widespread. I have to assume it's something specific that's causing it, but I am not sure what. So I guess until a proper solution is found: try, try again.
When I am submitting Application through Xcode Application validation successful but when submit to Appstore Then This error Occur.
ERROR ITMS-90207: "Invalid Bundle. The bundle at 'example.app' does not contain a bundle executable
I also try Application loader Version 3.1 but same error occur.
I refer all link like
link 1
link 2
link 3
link 4
Please check your info.plist file and add below key if not
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
The connection to the info.plist file might be causing the issue. Try changing the bundle id from target and check if it reflects in the plist file and vice-versa. If this doesn't reflects copy your plist file at some other location, remove it from the app and drag and drop again, it will help. This solved my issue, hope it helps.
I was dealing with this error since yesterday and when I was about to give up I tried with a different Mac and it worked, the only difference between the OSX was that I updated to Xcode 8.2.1 and the other OSX had 8.2.
Hope it helps!
I had this issue and was banging my head on the desk for several days. I tried all solutions posted online and nothing worked. For me it ended up being corruption in my 'Bundle display name' (aka CFBundleDisplayName) key in my info plist file. There was a rogue '¿' character that would not get removed when I changed the entry in Xcode (I know this because I tried setting several keys within Xcode). I had to remove the key and re-add it get it fixed. The only way I ever saw this was to open the plist with a text editor. Xcode never rendered the bad character. If you are seeing this issue check you plist file in a text editor for any bad characters.
I had the same error during upload, I was pretty sure about the bundle structure is perfect, the executable at the correct place and the Info.plist points to the correct place, contains the correct name, just like the localized versions.
I decided to ask for help from the Apple support. After a long process it is turned out that my ~/.itmstransporter folder was corrupt or outdated.
After deleted the folder it is re-created automatically and the problem went away.
For my case, it was because i moved application loader to another disk. After moving it back to mac os disk, it works fine.
After spending some time googling, something tells me that the issue is new.
We had a fully functional project supporting iOS7-8. Of course it was multiple times successfully submitted to AppStore.
We use pods, lots of tracking and monitoring, like GA and Instabug.
Now we decided to submit a version of the app built on Xcode 7 on iOS 9 to TestFlight.
We disabled bitcode, since many pods, like Flurry and other prebuilt libraries does not include it.
The build was successful, after the submission to iTunesConnect we get this:
We had same for GoogleAppIndexing library (in pods too), but we removed it, just to make it work. Now - Instabug. It is going too far, so I am trying to understand what is going on in iOS 9 and what are the changes that made a fully working project to start throwing such errors.
Any thoughts and ideas are welcomed! Please share your experience, and if I missed something, I will gladly share my steps.
I encountered the same problem today with the same exact error message when trying to submit our app (using Xcode 7 beta 5) but instead of the instabug.bundle bit, it was for me TencentOpenApi_IOS_Bundle.bundle.
I solved the problem by finding the named bundle in the project then - just as the error message suggests - edited the Info.plist that is in the bundle by removing the CFBundleExecutable key. The CFBundlePackageType key was already set to BNDL so I didn't touch it.
After these changes I did Product > Clean and then had no problem submitting the app to the App store.
Encountered this with AviarySDK on Xcode 7 GM, while submitting to the App Store.
First I'd check to see whether you're on the latest version of your library - the vendor may have fixed this already. If you are still facing this problem however, as Sleiman describes you need to remove the CFBundleExecutable key from the plist file for the offending library.
Cmd + Shift + O and type "Info.plist", you can then find the appropriate file:
Once editing the plist, you may be seeing descriptive names (instead of the CFBundleExecutable and other keys. I couldn't edit this file in an external editor, so I had to switch to view raw keys/values by right-clicking on the list:
You can now see the CFBundleExecutable key (which has a description of "Executable file") which you can delete.
For AviarySDK I did this twice, once for each Info.plist seen in the above image, and was then able to successfully submit.
I solve this problem as follows:
We have to remove all the "Executable files" of the following packages:
GooglePlus.bundle
GPPCommonSharedResources.bundle
GPPShareboxSharedResources.bundle
Be sure that "Bundle type code" is equal BNDL
Important: Do not edit anything in the info.plist the main project.
Attached screens as they should be his "info.plist" listed above each package.
Here's what worked for me
Apple-Shift-F, search for CFBundleExecutable
Click each one except "PODS" or your main target
Delete it (delete key)
If the build is submitted through Less than(<) Xcode 7.0 then it will be submitted and also
I have solved it by following way for Xcode 7:
Searched for info.plist in the projects Project Navigator as like following image:
Now opened these info.plist files one by one and deleted the BundleExecutable key EXCEPT the target's info.plist
Now cleaned the project and achieved and It is submitted with No issue.
I had the same issue in Google Maps Library i removed CFBundleExecutable key inside GMSCoreResources.bundle (Info.plist) which is SDK's info.plist clean project and upload to appstore.
Happy Programming.
Just check your Build Settings => Enable Bitcode, and set it NO
In my case I just Drag and Drop The SDK In folder include info.plist file which is not in use. That's create the issue for me. So find the unused info.plist file and delete it from the Source code.
One additional note: sometimes if you have additional targets there will be target properties that may also include the key (in the "Info" section), so make sure to check those and remove it from there also. I discovered this with one of the bundles I was trying to include. I deleted the info from the plist, but kept getting the error.
If you're seeing this error from a library installed via CocoaPods, try a pod update <OFFENDING POD NAME>
That solved the problem for me.
I just added word "BNDL" to appropriate place in plist "Bundle creator OS Type code".