Invalid Binary on Itunes in ios sdk - ios

I just try to upload a new version of my app with some bugs fixed.
I check all the icon files & version history are set in plist file.
App is passed the Validation & shows me as submitted & also shows me Upload received.
But after 2 minutes it shows me Invalid Binary.
I can't able to find the problem.
Help me to solve this.
Thank you,

First Please Check Your Email Account (Developer ID) Email Address. In My Case i Got email form Apple with diagnose information.
Here is the All Details In the Email.
Invalid Code Signing Entitlements - The signature for your app bundle contains entitlement values that are not supported. For the com.apple.developer.ubiquity-container-identifiers entitlement, the first value in the array must consist of the prefix provided by Apple in the provisioning profile followed by a bundle identifier suffix. The bundle identifier must match the bundle identifier for one of your apps or another app that you are permitted to use as the iCloud container identifier.
Specifically, value "KD8JU7654H.*" for key "com.apple.developer.ubiquity-container-identifiers" in ProductName is not supported.
Invalid Code Signing Entitlements - The signature for your app bundle contains entitlement values that are not supported.
Specifically, value "KD8JU7654H.*" for key "com.apple.developer.ubiquity-kvstore-identifier" in ProductName is not supported.
In another option Revoked all of your certificates. then add new app id and provisioning then try to upload application.

Related

After including Contact Note Field Access entitlement

When we try to update on top of production build, we are getting the below error:
"This application’s application-identifier entitlement does not match that of the installed application. These values must match for an upgrade to be allowed."
updated....
When i requested for Note Field access we got below response from Apple.
The Team ID and Apple ID you requested have now been given the Contact Note Field Access entitlement and is available for use in your app. The entitlement key and value are listed below:
Entitlement Key: com.apple.developer.contacts.notes
Entitlement Type: Boolean
Entitlement Value: True
To use this special entitlement you must create a new provisioning profile in the Certificates, Identifiers & Profiles section of your developer account and select the entitlement after the “Do you need additional entitlements?” page.
After following the above steps. When i downloaded production build and try to update current version we are getting the above error.

How to get iTunes Connect to recognise a new Bundle ID

I’m having trouble getting iTunes Connect to recognise a new Bundle ID. On the iTunes Connect Developer Help page, in step 4 it says
Bundle ID shows two options: Choose and Xcode: iOS Wildcard AppID -
*
This is the step I'm missing. I found no way to enter the app Bundle ID as shown here.
Underneath the text window I clicked the link in Register a new Bundle ID on the Developer Portal which creates the new certificate. I then Build for a Generic iOS Device and when I tried to validate the certificate got this message
iTunes Store operation failed. This bundle is invalid. The value for
key CFBundleShortVersionString [1.0] in the Info.plist file must
contain a higher version than that of the previously approved version
[1.0].
Obviously it is invalid as I never got past step 4 to complete the form for the first app record. I tried logging out of iTunes Connect and logging in again and yes, the certificate was there (highlighted). The form just doesn't recognise it (and yes, I tried the other one).
Has anyone else seen this ?
iTunes Store operation failed. This bundle is invalid. The value for key CFBundleShortVersionString [1.0] in the Info.plist file must contain a higher version than that of the previously approved version [1.0].
I had same problem when i submitted my app second build with version number "1.0". In next build, I forgot to change version number from "1.0" to "1.1" and got this error.
I changed my new version to be "1.1" and the submission worked.

WARNING ITMS-9000: "Potential Loss of Keychain Access"

I've got the following warning while uploading a new version of the application:
WARNING ITMS-9000: "Potential Loss of Keychain Access. The previous version of software has an application-identifier value of ['52T2NMS37N.com.(my-app-id)'] and the new version of software being submitted has an application-identifier of ['FCGA72C62G.com.(my-app-id). This will result in a loss of keychain access. For more information, please consult (url)".
The issue may be because the application was transferred into another account.
The build was uploaded with the warning, but what does it mean?
From Apple's Documentation Archive, on Resolving the Potential Loss of Keychain Access warning
Potential Loss of Keychain Access. The previous version of software has an application-identifier value of 'A1B2C3D4E5.com.company.app' and the new version of software being submitted has an application-identifier of '5E4D3C2B1A.com.company.app'. This will result in a loss of keychain access.
Note: This is a warning, not an error. You have the option of proceeding with the submission regardless of this warning, however this document should be used to determine whether you can safely ignore it.
This warning indicates that the App ID prefix of the pending submission differs from the App ID prefix of the live app in the app store.
Important: The only apps that can safely ignore this warning are those that do not use technologies that rely on the App ID prefix, like keychain access, Handoff, and UIPasteboard sharing.
Note: Apps that are migrating their App ID from an arbitrary Bundle Seed ID to their more-modern Team ID should expect this warning, and proceed with the submission.
For apps that do utilize technologies that rely on the App ID prefix, this warning should not be ignored. The Potential Loss of Keychain Access warning is an indication that the app was code signed with the wrong provisioning profile.
To resolve the problem:
You must locate or re-create a provisioning profile that uses the correct App ID prefix on the Certs IDs & Profiles website.
Click Edit on the profile to be certain the prefix is correct.
Click Download and save the profile to disk.
Optionally double check the App ID Prefix on the downloaded profile using the Terminal command in: How do I check the entitlements associated to my Provisioning Profile?
Drag the profile onto the Xcode icon on your Dock to install it.
Re-submit the app and code sign it with the newly restored profile that is associated to the right prefix.
"Keychain access" refers to all the functions in the Keychain Services Reference.
I think that the prefix is relationship to Apple Id. I migrate my App to other Apple Id and when i re create the App Id, was created a new prefix Id.
This error happened when I tried to submit an update my app. I got this working by setting the Provisioning Profile to a specific one instead of the default 'Automatic' setting which seems to use some default XC one.
If you have transferred your app from once organisation to another :
Note : A one-time loss in keychain data will occur if you switch your App ID prefix
https://developer.apple.com/library/archive/technotes/tn2311/_index.html#//apple_ref/doc/uid/DTS40014135-CH1-A_ONE_TIME_LOSS_IN_KEYCHAIN_DATA_WILL_OCCUR_IF_YOU_SWITCH_YOUR_APP_ID_PREFIX
I had same issue, finally resolved by deleting the provisional profile at ~/Library/MobileDevice/Provisioning Profiles. and then downloading new from developer profile.
Go to the Finder then List item From the “Go” menu navigate down to “Go to Folder”
or Hit Command+Shift+G from the Mac OS X desktop or a Finder window
Search below Path ~/Library/MobileDevice/Provisioning Profiles
Delete the profile which has wrong Bundle ID, if you click on file MacOS X will show details. You can verify the bundle ID.
I had the same warning. In my case I have a wild card application identifier.
So first of all I found this appID '5E4D3C2B1A.com.company.app' and removed it. Then I created new appID, but change teamID to 'A1B2C3D4E5'. As result I got a correct appID like this 'A1B2C3D4E5.com.company.app'.
Then I regenerate all provision profile and everything works well. App didn't have strange behaviour in production.
But, pay attention please, I did it with wild card and I'm not sure if everything will be well with explicit application identifier.
This is a warning not an issue, when i got this error my build was
published to test flight by the way.
Scenario - When you transfer app from one account to another and then publish a build to appstore you get this error

Submitting app with iCloud enabled: is it possible? Apple: Invalid Code Signing Entitlements

Two apps, say, AppX and AppXLite, use the same iCloud key-value storage with the same Store Identifier and in entitlements file I see $(TeamIdentifierPrefix)com.company.AppX
Everything works in adhoc and debug builds. But when I try to upload AppXLite to appstore, I get an error:
Invalid Code Signing Entitlements - The signature for your app bundle
contains entitlement values that are not supported. For the
com.apple.developer.ubiquity-container-identifiers entitlement, the
first value in the array must consist of the prefix provided by Apple
in the provisioning profile followed by a bundle identifier suffix.
The bundle identifier must match the bundle identifier for one of your
apps or another app that you are permitted to use as the iCloud
container identifier. Specifically, value "YYXXXXXXYY.com.company.AppX"
for key "com.apple.developer.ubiquity-container-identifiers" in
AppXLite is not supported.
Agree with this letter, but then everything is ok: prefix, provided by Apple, bundle identifier. If not, this won't work in adhoc build. But why do they say that things aren't right?
Yes, I know that there are tons of answers here, I read them. People say that one should disable iCloud support in app in provisioning portal to fix such issue. If I do this my apps will no longer see iCloud, but this is one of key features!
I have an idea that I should upload AppX first, before AppXLite, as both apps use AppX's bundle id as Store Identifier. But I've added both apps on provisioning portal, so appstore should know "the bundle identifier for one of my apps" as Apple stated in the letter.
Do anyone have experience of uploading iCloud-enabled apps to Appstore?
If you faced the same:
Kill all profiles in provisioning portal
Kill all profiles in Xcode and devices
Recreate all needed profiles (I've created dev, adhoc and appstore for each)
Download them manually and drag to Xcode.
Clean and rebuild all apps
Submit first app, which bundle id is shared between them as a Store Identifier of iCloud.
Submit all the rest apps.
Result: everything in "Waiting for review" state.

Submitting an App to the App Store that uses iCloud, invalid entitlements

I have an app I tried to submit to the app store. Like many others I'm getting the following e-mail from the app store approval process. The answer to the other questions seems to be, uncheck iCloud from the App ID, but my app uses iCloud and I wouldn't want to lose that functionality. Has this been solved yet?
I did double check that my App ID's Bundle Identifier matches the value of the items that are entered in the Entitlements area of the Target Project. Thanks for your help!
Dear Developer,
We have discovered one or more issues with your recent binary
submission for "XXXXXX". Before your app can be reviewed, the
following issues must be corrected:
Invalid Code Signing Entitlements - The signature for your app bundle
contains entitlement values that are not supported. For the
com.apple.developer.ubiquity-container-identifiers entitlement, the
first value in the array must consist of the prefix provided by Apple
in the provisioning profile followed by a bundle identifier suffix.
The bundle identifier must match the bundle identifier for one of your
apps or another app that you are permitted to use as the iCloud
container identifier.
Specifically, value "XXXXXXX.com.xxxx.xxxxxx" for key
"com.apple.developer.ubiquity-container-identifiers" in WeHeartApps is
not supported.
Once these issues have been corrected, go to the Version Details page
and click Ready to Upload Binary. Continue through the submission
process until the app status is Waiting for Upload and then use
Application Loader to upload the corrected binary.
Regards,
The iTunes Store Team
Found the answer, it seems as though my Provisioning and Distribution Profiles were out of sync. When in doubt;
delete your provisioning and distribution profiles on the iOS provisioning portal
recreate them on the iOS provisioning portal
Delete the old ones locally.
Download the new ones from the portal.
Clean the project
Drag the new profiles onto the xcode app
Do a fresh "Build for Archiving." ( Make sure iOS device is selected for this to be enabled )
Finally archive
Go to the organizer and Validate the Archive
Submit to the app store!
Cheers
For others who have apps sharing data between both Mac and iOS devices via iCloud, you will also run into this problem if you try to submit the platform which depends on the other's bundle identifier first. This is because the bundle identifier you're trying to share data with has not yet been registered as an app.
The solution is simply to submit the app whose bundle identifier you're using as the com.apple.developer.ubiquity-container-identifiers entitlement first.
For example, if you're sharing data between a Mac app with a bundle identifier of com.mycompany.osx, and an iOS app with a bundle identifier of com.mycompany.ios, you will likely choose one as the mutual data store. If you choose the iOS version, the your Mac app will have the value "com.mycompany.ios" set as your ubiquity storage and iCloud key-value storage. In this case you just need to submit the iOS app first so that the "com.mycompany.ios" bundle identifier registers as a valid app on Apple's side.

Resources