TwitterKit 3.0.4 - ITMS-90535: Unexpected CFBundleExecutable Key [duplicate] - 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

The bundle at 'my_app.app/ResearchKit/ResearchKit/Info.plist' does not contain a bundle executable

Update
XCode Version: 8.2
iOS Target: 9
Hopefully some can point out to me that this is not a bug. Very simply I pulled the latest stable version of researckKit, and I dropped the .xcodeproj file into my new iOS project, added the embedded binary. I created a couple steps that look fine in the simulator. My app builds fine and even the archive validates OK. Upload to app store is fine, but then I am receiving emails from the app store with 6 entries all look about the same, for 6 different Info.plist files inside the ReserachKit framework:
Unexpected CFBundleExecutable Key - The bundle at
'my_app.app/ResearchKit/ResearchKit/Info.plist' does not contain a
bundle executable. If this bundle intentionally does not contain an
executable, consider removing the CFBundleExecutable key from its
Info.plist and using a CFBundlePackageType of BNDL. If this bundle is
part of a third-party framework, consider contacting the developer of
the framework for an update to address this issue.
I have found quite a few answers on Stack Overflow, many people agreeing to do what was suggested in the error message: simply remove the CFBundleExecutable Key from the .plist files. I tried that, but then my archive will not even validate with the following error:
iTunes Store operation failed. Invalid Bundle Structure - The binary
file 'my_app.app/Frameworks/ResearchKit.framework/ResearchKit' is not
permitted. Your app can’t contain standalone executables or libraries,
other than the CFBundleExecutable of supported bundles. Refer to the
Bundle Programming Guide at
https://developer.apple.com/go/?id=bundle-structure for information on
the iOS app bundle structure.
** UPDATE **
Granted I pulled a fresh version of the ResearchKit framework from github for this project. So instead I just tried a copy of a version of ResearchKit from another Xcode Project that I have successfully deployed on the app store recently, i figure if it worked for that app it should go through for this app. But Alas, I am getting the same email error from the App Store about the Unexpected CFBundleExecutable Key.
Again this is an apple-supported free framework. There are simple instructions for how to use it on the github page, which I followed. I have used it before and submitted an app with this framework recently, which had no problems and is currently active in Test Flight Beta Testing. I also filed an issue on the GitHub project page.
I met this problem like yours,and I fixed it by:
Remove Executable file in ResearchKit
Find info.plist in ResearchKit,do:
delete info.plist in ResearchKit.
Or you can add Bundle version,Bundle identifier,Bundle versions in this info.plist,they should be same as your parameters in your own info.plist
check Target - Info - URL Types,check if there is illegal identifier
I contacted Apple Technical Support and they helped me solve the problem. Like I had suspected it was NOT necessary to alter the ResearchKit framework in any way for this to work correctly.
For me, the issue was that I was copying the entire source code, test cases, Xcode projects, and the rest of ResearchKit into the app.
I must have done this at an early step and didn't realize. What was helpful for me was to go to the Build Phases tab in XCode and look in the different sections. My error was that I had the researchkit framework in the sections: Link Binary With LIbraries and Copy Bundle Resources. I needed to remove those.
The correct configuration, which you get by dragging the xcodeproj file to the project and embedding the binary will just add on line to the Target Dependencies and Embed frameworks sections in Build Phases.
Here is a screenshot of my corrected configuration:

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.

Unexpected CFBundleExecutable key

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

Resources