Unexpected CFBundleExecutable key - ios

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".

Related

TwitterKit 3.0.4 - ITMS-90535: Unexpected CFBundleExecutable Key [duplicate]

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".

Unable to upload build in iTunes when using Google Plus through Pods [duplicate]

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".

ERROR ITMS-90057 "Missing plist key. The Info.plist file is missing the required key: CFBundleShortVersionString." [duplicate]

So this is a weird one — I get the following errors when trying to submit my archive to the App Store:
ERROR ITMS-90049: "This bundle is invalid. The bundle identifier contains disallowed characters. [See the section of the Application Programming Guide entitled The APplication Bundle.]"
ERROR ITMS-90049 "This bundle is invalid. The bundle identifier contains disallowed characters
ERROR ITMS-90056: "This bundle is invalid. The Info.plist file is missing the required key: CFBundleVersion."
From my plist:
<key>CFBundleIdentifier</key>
<string>com.myApp.app</string>
…
<key>CFBundleVersion</key>
<string>3.1.5</string>
…
<key>CFBundleShortVersionString</key>
<string>3.1.4</string>
Running xCode 7.0.1
Update XCode to 7.1, it is posted yesterday.
Use the newest XCode to submit will be OK.
==================================================
As muyexi said, I delete TencentOpen SDK info.plist,then submit success.
Check if the third-party's has plist file.Apple may mixed the third-party Sdk plist with the local plist file. Delete the third-party's plist file then upload success.
I solve this by following this link, add Bundle identifier which is missing in info.plist of TencentOpen SDK.
If you are using cocoapods, make sure you do a
pod update
That will update all your pod files and solved this issue for me!
I'd like to expand an answer given by #silvon and link more keywords to this question.
Apparently, iTunes Connect backend now validates every single bundle shipped with your app. If a bundle contains Info.plist file, it must have CFBundleVersion and CFBundleShortVersionString keys.
So, if you are using any 3rd party frameworks (specifically, with Cocoapods), make sure that Info.plist in each framework bundle (if exists) contain these keys.
For all of you using CocoaPods, simply try to
pod update
In my case, it was a third party library loaded via cocoapods, but the update did the trick. BTW, none of the libraries had new versions, the update seems to repair some bad things too.
iTunes Connect is currently experiencing major issues. I can't post any citations as I'm unaware of an iTunes Connect support status page, but I spent a while on the phone with them earlier today for a similar issue.
There seems to be some Issues from Apples's Side, I am experiencing the same issues, I would suggest to wait for some time before making any major changes.
This seems to be happening a lot lately, after some time, It starts working again .
I did the same step as Silvon mention.
Removed all third party lib's info.plist (pods as well) with xcode 6.4. Works for me.
Similar to the answer with top rate , but you need to check every SDKs in the project . in my case, it's cocoapod has info.plist. I deleted it and everything works. Xcode 7.1 still has this problem.

Various ITMS errors when trying to submit archive to App Store

So this is a weird one — I get the following errors when trying to submit my archive to the App Store:
ERROR ITMS-90049: "This bundle is invalid. The bundle identifier contains disallowed characters. [See the section of the Application Programming Guide entitled The APplication Bundle.]"
ERROR ITMS-90049 "This bundle is invalid. The bundle identifier contains disallowed characters
ERROR ITMS-90056: "This bundle is invalid. The Info.plist file is missing the required key: CFBundleVersion."
From my plist:
<key>CFBundleIdentifier</key>
<string>com.myApp.app</string>
…
<key>CFBundleVersion</key>
<string>3.1.5</string>
…
<key>CFBundleShortVersionString</key>
<string>3.1.4</string>
Running xCode 7.0.1
Update XCode to 7.1, it is posted yesterday.
Use the newest XCode to submit will be OK.
==================================================
As muyexi said, I delete TencentOpen SDK info.plist,then submit success.
Check if the third-party's has plist file.Apple may mixed the third-party Sdk plist with the local plist file. Delete the third-party's plist file then upload success.
I solve this by following this link, add Bundle identifier which is missing in info.plist of TencentOpen SDK.
If you are using cocoapods, make sure you do a
pod update
That will update all your pod files and solved this issue for me!
I'd like to expand an answer given by #silvon and link more keywords to this question.
Apparently, iTunes Connect backend now validates every single bundle shipped with your app. If a bundle contains Info.plist file, it must have CFBundleVersion and CFBundleShortVersionString keys.
So, if you are using any 3rd party frameworks (specifically, with Cocoapods), make sure that Info.plist in each framework bundle (if exists) contain these keys.
For all of you using CocoaPods, simply try to
pod update
In my case, it was a third party library loaded via cocoapods, but the update did the trick. BTW, none of the libraries had new versions, the update seems to repair some bad things too.
iTunes Connect is currently experiencing major issues. I can't post any citations as I'm unaware of an iTunes Connect support status page, but I spent a while on the phone with them earlier today for a similar issue.
There seems to be some Issues from Apples's Side, I am experiencing the same issues, I would suggest to wait for some time before making any major changes.
This seems to be happening a lot lately, after some time, It starts working again .
I did the same step as Silvon mention.
Removed all third party lib's info.plist (pods as well) with xcode 6.4. Works for me.
Similar to the answer with top rate , but you need to check every SDKs in the project . in my case, it's cocoapod has info.plist. I deleted it and everything works. Xcode 7.1 still has this problem.

Installation Failed "Invalid argument" when trying to run Today application extension

I added a vanilla Today Application Extension and run with the new scheme created by XCode.
After it finishes building ("Build Succeeded" pops up), it failed straight away with this error:
Installation Failed
Invalid argument
I've been trying to find answers for 6 hours now, no luck so far.
Please help!
Check if the Bundle Identifier isn't empty in the Info.plist
Try this:
Quit Xcode
Clean out ~/Library/Developer/Xcode/DerivedData manually
rm -rf "$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache"
iOS Simulator > Reset Content and Settings
Maybe you are bundling a conflicting "contents" referenced (blue) folder.
Hint: change the name of said "contents" folder :)
This issue occurred in my case when the phone's memory was too low to install the app. I've cleaned up the phone and voila!
Another hint might be this post.
This can also happen in Xcode 7 because "Upgrade to recommended settings" will change CFBundleIdentifier to point to $(PRODUCT_BUNDLE_IDENTIFIER) instead of the old $(BUNDLE_IDENTIFIER).
Apple says in the Xcode 7 release notes that PRODUCT_BUNDLE_IDENTIFIER is now "the recommended place to set the Bundle Identifier for a target." So if you're using BUNDLE_IDENTIFIER anyplace else in your project, be sure to change it to PRODUCT_BUNDLE_IDENTIFIER to keep things in sync.
I was getting the same error - although in different conditions - and it took me a while to realise that I had inadvertently messed with the Info.plist (thank you user2866588!) via a Search & Replace operation.
Once fixed that file, the error went away. It's a long shot, but you never know...
I got this error when my test phone had low memory (around 288MB free). After restart and clearing some cached data, I was able to install my app.
Image description here.!! I got this Error Just Enter Bundle Identifier. (You can get bundle identifier by right click on info.plist and go to Open as than Source Code here just find this CFBundleURLSchemes below this name a string tag contains your bundle identifier) Copy Bundle identifier and past it on TARGET select General now on Identity you will see Bundle Identifier paste there and enter. then just run the code. Happy Coding!!!
What I found is that info.plist file should never been localized! I tried to localize my project and tried to tap Localization on all plist and string files. As a result, I could not install my app to Simulator, invalid argument error.
I spent 1.5 days trying to find out reason. I tried all the solutions as listed above, but with no luck. Finally, discard all my localization changes and redo it again. This time, I tried to localize one file first, and then compiled codes and trie to run my app on Simulator.
The issue is info.plist file. You could localize it. The result is that en version is moved en.lproj folder. That is to say, no more info.plist file in the project folder. As a result, Xcode could not find it and exception raised.
Another way to verify it is to check your project settings. Select your target and general tab. The Identity should be like:
If your project settings are something like this, you have to locate info.plist, that means info.plist is missing.
You just cannot locate localized info.plist in en.lproj folder from project settings.
Don't localize info.plist file directly. You can localize it by localizing infoplist.strings file.
This may be one of reasons to get invalid argument exception, as in my case.
I also wrote a blog on this.
I got the same issue and it was because of low memory on phone.
I deleted some apps and restarted the phone which brought by available storage.
I got this error after installing new pods (AWS) to my project. Somehow the entry in the Build Settings for Info.plist file was cleared. Entering the correct filepath (find in finder) my project finally compiled again.

Resources