I have a problem with fastlane when I publish on TestFlight a new bundle that uses the usual version (ex: 1.0.2):
Error This bundle is invalid. the value for key
CFBundleShortVersionString (1.0.2) in the Info.plist file must contain
a higher version than that of the previously approved version [1.0.2]
It seems like I need to publish a new version, but I want to publish a new build instead, keeping the same version ... how is that possible?
Edit Response:
ok, I understand ... although unlike Android, I don't see the usefulness of blocking a new build if there is the same approved version ... but thank you all!
There is no way to upload new build of the previously approved version. So in this situation you should have to create new version in iTunes Connect and then and then you can able to upload new build in Testflight.
Few cases arise:
If you want to keep same version, remove current app from app store and publish your current version.
Now there is already app with same version so you cannot allow to do this, either increase the version or go with point 1, how ever be careful with this point. You need to analyse cases, because it is already on appstore.
You can upload the same version to TestFlight with increased build number. Eg: 1.0.2(1) and 1.0.2(2) Simply increase the build version from Project settings.
Here is my scenario:
We recently created a iTunes app record for our new app which is not yet available to public. So, by default iTunes shows an app(1.0) with status as 'Prepare for Submission'. (I assume we can change this default version number from v1.0 to v1.0.0 on the app record. but for clarity I am leaving it as default in my below explanation)
Now, I uploaded my first build with v1.0.0(0) to TestFlight and after 4 revisions/build uploads, I made the build v1.0.0(4) available for external testers. Now we got few bugs from the external testers and fixed them. Since we did the bug fixes, I want to change the version to v1.0.1(0) in TestFlight. Below are my questions struggling to find an answer for:
1) Since the app is not yet released and the default app record version is still v1.0, can I still upload a new version i.e. v1.0.1(0) on TestFlight ?
a) If I can do the above point(1), will it go through the beta review process again (or) will it simply process and appears on iTunes ?
b) If I can do the above point(1), lets say after 2 revisions again like when version is at v1.0.3(0), can I finally push this build to the AppStore as my first release....I mean will it override the default version v1.0 to v1.0.3 ?
2) If I cannot achieve the above point(1), then what would be the other approach?
Please suggest me how to proceed...
First, yes you can submit your new version (1.0.1) but it will still have to pass through the apple process to get approved for external test.
If I can do the above point(1), lets say after 2 revisions again like when version is at v1.0.3(0), can I finally push this build to the AppStore as my first release....I mean will it override the default version v1.0 to v1.0.3 ?
Yes, when you publish your app, you can specify the version displayed in the store so you can display v1.0!
Every time you want to make a new build available to your external tester, Apple need to approve it!
I'm getting error "Redundant Binary Upload. There already a binary upload with build version'1' for train '1.1.2" at Softwareassets" when trying upload an updated version to appStore.
However, I already incremented "build" version number. as shown below:
Moreover, I notice, one issue, even though I changed build and version numbers, but still Xcode display the old version number when display the error and also in the details under organizer windows:
Notice, actually my app version and build numbers are 1.2 and 1.2.1 respectively on General settings.
I dont know why xcode doesn't realize that version and build numbers have changed.
I am not sure that this will help, becoz even I had faced many unpredicted issues while submitting the apps recently.
But for the basics,
if app is not reviewed yet:
Your Version number must be same as It is there in itunesConnect Account,
and you can update the new build with updating only build number
And if your is reviewed or published:
you need to update both version and build numbers
Also, if possible once try to submit the build from xcode and submit the app from itunesConnect.
Hope this will help,
Thanks.
It seems I asked the wrong question. I'm getting this error because I forgot to archive the project first before uploading to Appstore.
The reason I didn't archive because archive was giving an error which I posted as as another question at stackoverflow.
I rejected a binary i had which was 1.0 (1.0).
The status went into Rejected by developer.
I went to upload a new binary and ran into this issue, i then saw that i needed to increment my build.
I increased both the app version and build to 1.1, this was a mistake.
I got some error about the app version not matching, understood.
Then i tried app version 1.0 and many different build numbers.
1.1, 1.0.1, 1.2, 1.3, 1.0.3..nothing works.
I keep getting this error. There is only one build listed on itunes connect (1.0)
I tried submitting with no binary and it says i need one.
I even tried changing the app version to 1.1 in itunes connected and then uploading
1.1 (1.0) and that fails as well with the same duplicate issue.
Anyone ever have this issue?
The workaround of changing the build number is working for me, with the following context:
the app version status is "Prepare for submission"
the new version number is well saved in iTunesConnect (pressing the save button on version page in iTunesConnect)
the CFBundleShortVersionString is matching the version number in iTunesConnect (e.g. "1.2")
the CFBundleVersion in the Info.plist is incremented (e.g. 1.2.1)
In this way, several build are associated to the iTunesConnect version.
Here is how it looks like in iTunesConnect (1.2 is the short version number, 1.2 and 1.2.1 are the bundle versions):
I was trying for hours with no luck, after waiting a few more hours i got a reply from apple support asking for more info.
When i went to replicate the issue again for screenshots i decided to use a build number of 2.0, i was hoping maybe it wanted the major version to be higher.
This worked!
Everywhere online that i read said that 1.0 to 1.1 would work fine...or 1.0.0 to 1.0.1.
I, for some reason, had to go from 1.0 to 2.0.
Or there is always the possibility that waiting a few more hours did something.
Solved this issue by incrementing build version by 1 instead of sub-version. i.e. 1.0 to 2.0 instead of 1.0 to 1.1
I experienced this also, just increase the build number fixed it for me. I changed the build version to 1.0.1 and it worked. This can be found in the 'General' Tab in Xcode. Make sure you archive and validate again before submitting to App Store.
You need not to change the version number ,just change the Build number. But you should know that the Build number must be higher than last version you had uploaded. For example, your version number is 2.6.8 and Build number is 2.6.8 then you can change the Build number to 2.6.9. If you change the Build number to 2.6.8.0 it will occur a error say that the Build number(2.6.8.0) must be higher than the exist one(2.6.8) . So the key point is Build number.
#Jayprakash Dubey
#Tenaciousd93
Tried many different build numbers myself. The only option that worked for me was to give a 4 figures build number : 1.1.0.1 (1.1 being my app version number on iTunes Connect).
Hope it helps!
I guess, since Apple has integrated test flight into itunesconnect, there is a difference between version and Build (which is the wording they use in project-settings->target->generalScreen) and in info.plist its equivalent is "Bundle Version String short" and "Bundle Version". Here the wording has never made real sense to me.
I have gotten the error with version 2.2 and build 2.2. I changed it to version 2.2 and build 1 (because it was my first upload) and it worked.
For certain reason, Apple provided the build field on the General Tab in Xcode.
I have also encountered this issue and as much as you do, I am getting the same error over and over again even if I was changing the version numbers.
What is suppose to be done here is to update the build number only even using the same version number.
In my case, I have an App version 0.0.1, every time I upload a binary I need to change the build number eg:
Upload build 0.0.0 - Reject Binary and
Upload build 0.0.1 - Reject Binary and
Upload build 0.0.2
I tried ApplicationLoader 2.9.1, it's working for me.
ApplicationLoader 2.9.1 can download from itunes connect.
I've had this problem before and have solved it like you have, by upping my build number every time. It has always worked.
Now however, I am completely stuck. I have just added the Today Extension to my app, and now when I try to upload it always comes back with a 4238, no matter what version / build combination I put in. It's crazy, been at it for 2 hours now.
I'm wondering if there is any way certain build settings could make the uploader think there are 2 binaries?
I have a separate distribution profile for the main app and the extension, I also have 'Build Active Architectures Only' set to NO. That is all I can think of that would mess this up.
Any thoughts?
My issue was that the build number that I was updating in the General tab of Xcode wasn't changing the bundle version in the app's plist - so the uploader thought I was uploading the same build every time no matter what build number I was using. Once I changed the bundle version in the plist, everything worked fine.
I solved same problem...I uploaded a version 1.01 and build 1.1 then I decided to reject this compilation. I Changed on i-tunes version to 1.1 and tried to upload new version 1.1 build 1.1 and I got error. Then I change on xcode to build 1.2 and upload ok.
In my case I had to make build numer higher that last build number I uploaded. I had on iTunes Connect app with build number 3, then rewrote app from scratch and tried to upload new app with build number 1 I got same error, after changing to build number 4 it worked fine.
Check if you have used the run script:
if the answer is yes, then you have to submit your changes to your git server, then the script will increase your build version number automatically!
Solved this problem by Modifying the Build Number under General -> Identity in the Target build of the Xcode project. Afterwards go to the Product menu, select Clean and Build your app.
From Build : 1
To Build : 1.2
Finally, repeat the app submission process by running Product -> Archive and follow the screen prompts.
I have uploaded the app, but for missing screenshots for 3.5", I got the same error.
And could not upload again from xcode.
(So I make an ipa file, in xcode organizer and export as ipa).
But when I press the upload build in the itunesconnect then it take the old uploaded file (give me an option to choose).
And then after saving this, I got the option for submit for review.
(If you go to the pre release tab in itunesconnect, you can see the previously uploaded app.)
I want to update my app. I have a new version of the app and now it says "Prepare for Submission".
Now I want to perform "Prepare for Upload" but I cannot find this in the new iTunes Connect.
I have tried to upload the app to iTunes using Application Loader and Xcode 5.1 but still the status hasn’t changed and when I click on "Submit For Review" I get the following error:
You must choose a build.
It is quite weird but let me show what I have learnt from this new iTunnesConnect layout.
Step 1: You should wait around 10 min to 20 min to see your uploaded binary file in the prerelease section. .
Step 2: After you wait a while (10-20 min) then you would see the below icon
Step 3: Then you could able to see that your binary is ready.
Step 4: Then click on plus (+) sign, you now could able to choose your binary and then click submit for review button to finalize.
Look for it here:
Here's the new binary I uploaded:
Then, don't forget to create a new version and then assign the new binary to it (after process is completed):
I had the same problem, and waited for more than 8 hours without any result. The plus-icon never showed up under the build section!
Then I saw a new (tax-agreement) contract that I had not signed. I signed it, waited for a few more minutes, and then the plus-icon showed up!
The reason could also be that you are still releasing binary with the old TestFlight SDK in it.
A few months ago TestFlight updated their service meaning that it is now included in iTunesConnect, previously a TestFlightSDK was included in the project and various codes needed to enable TestFlight for users. This is all now depreciated. This means if you release a new version of an app which still has the TestFlightSDK included your binary won't appear in iTunes Connect and you will receive an email like this:
We have discovered one or more issues with your recent delivery for "blahApp". To process your delivery, the following issues must be corrected:
TestFlight SDK - TestFlight no longer requires an SDK to enable beta testing, crash reporting and analytics. To continue using TestFlight, set up Beta Testing in iTunes Connect and remove references to the SDK from the following executables: blahApp.app/blahApp
Once these issues have been corrected, you can then redeliver the corrected binary.
You need to remove the TestFlightSDK and also all code linked to the old TestFlight. Once this is done the binary should start being picked up by iTunes Connect as the answer above states.
The tricky thing about this issue is that if you're like me the email could go through to your junk, to an old account or if you're working for a client and don't have access to their personal email it is tough to find. Apple give you no other indication that this is what's wrong.
Hope this helps people with this problem going forward
Just took 19 minutes. If you click the activity tab you can see that the upload is processing.
At this time of writing, binary submission should take only few minutes to appear in iTunesConnect. When my binary did not show up for hours, I can immediately tell that something is not right. Most of the answers I found resolved to waiting. This was not the case for me. I went to ask Apple support and I got the answer. My app was missing purpose string for one of my protected data class (for iOS 10 and later). Once I provided the usage description and resubmitted it, the binary shows up right away.
I thought someone else might be facing the same problem. For a complete list of protected data class that requires descriptions, check out this link: https://developer.apple.com/library/content/qa/qa1937/_index.html