Submitting a new APK to the Play Store which has changes that Codepush isn't aware of - apk

I am using Codepush to update my React Native Android App so I can make changes without having to submit a new APK.
The problem is, if I change some code and submit this as a new APK without sending it to Codepush, the App downloads a previous version from Codepush once installed. Basically Old Codepush code replaces new APK code.
Is this expected behaviour? Is the only way to avoid this to submit to Codepush at the same time as submitting the new APK?
Is it a case of Codepush matching version numbers, so if I release an APK with a version name of 1.2, Codepush will check its latest "target version" and if it's less not bother updating the app?
Thanks.

Here is what I do.
If my current native version is 1.2.12, my code-push command looks
./node_modules/.bin/appcenter codepush release-react -a <<appname>> -d <<deploymenttype>> -t 1.2* --mandatory
As you can see, my target version has wild character to say update for app having binary 1.2.X.
Next time, I need to generate a native apk. I make sure that I update my minor number in the version. Ex: 1.3.XX
This way my old code-push bundles are not applied on new build.

Related

I get empty version when I upload react native iOS app to App Store Connect

Hello I tried to upload react native iOS app to App Store. the upload is succefull but when I try to see the build in testFlight it show like this
as you see it show me the version but inside it is empty. then after one minute even the version number disappear and it asks me to upload again. I uploaded it many time but still the same thing
The version disappears if there is another upload with the same version number. Change the version and try to upload the app again.
sorry for the late answer. the issue was the firebase npm packages were not the latest version and it was causing an issue during uploading. So remove all firebase npm packages and install them again after that upload the app.

Trubleshooting xcode Upload Issues [duplicate]

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

Uploading new build to Testflight but keeping old build live (Xamarin)

I'm new to this, so please bear with me. I have an app live on the App store, developed in Xamarin. The current version is 1.0.3 and I want to keep it that way. I want to send a new build (i.e build 85) via Application loader with the same version number (1.0.3).
I want to know:
Will it become live as soon as I send it or will I have the option to keep the previous build (i.e 84) live and not this one (i.e 85)? I want the previous build (84) to be live.
Can I upload a build that I got from Ad-Hoc > iPhone => myApp.ipa / currently I'm doing this only or should I generate an ipa from a different configuration like "Release" or "App Store"?
If you try uploading your build with the same version number as your current live build, Application Loader will give you an error message saying you need to create a new app version profile in iTunes Connect.
You should be able to upload an Ad-Hoc build to ITC. However, you may need to tweak your entitlements to enable beta testing via TestFlight:
App "does not contain the correct beta entitlement"

"/Applications/Xcode.app: a sealed resource is missing or invalid" error while validating Xcode installation

Today I got the memo from Apple as probably every other Apple developer about potentially infected Xcode installations. (https://developer.apple.com/news/?id=09222015a)
I followed the instructions and tried to validate my Xcode app using the command mentioned. (spctl --assess --verbose /Applications/Xcode.app) The program ran for a while and exited with a "/Applications/Xcode.app: a sealed resource is missing or invalid" message.
The article says "Any result other than ‘accepted’ or any source other than ‘Mac App Store’, ‘Apple System’ or ‘Apple’ indicates that the application signature is not valid for Xcode." However, I'm actually pretty sure my Xcode copy is legitimate (downloaded and updated via App Store with Gatekeeper enabled) so I thought maybe there could be another problem preventing it to validate as it should.
Do you have any ideas what this error message actually means? Do you think I need to reinstall Xcode just in case?
Thanks in advance for your help.
The false positive validation issue appears to be caused by containing previous iOS SDKs in order to be backwards compatible.
A clean install will completely wipe the SDK directories. When you run the validation test after a clean install it will pass. Once you copy previous iOS versions, which, for us, is iOS 8 for iPhone, the validation will fail.
This scenario was tested after updating to XCode 7.0.1 (7A1001) which was released earlier this afternoon.
In order to avoid a clean install, you can temporarily remove the previous SDK version from their respective location, and run the validation. Then, once the validation passes, copy the files back where they belong.
I was getting the same message "a sealed resource is missing or invalid". However i was able to rectify the issue by going into the App Store and downloading the latest version of Xcode - Version 7.0 (7A220), and this seems to have rectified the issue.
Although i did first try updating Xcode through the updates section on the App Store, but for some reason this didn't work. So i would recommend going into the App Store > Search for Xcode > Then install the latest version available to you.
Depending upon gatekeeper settings.please check gatekeeper settings to allow anywhere and revalidate Xcode.

Is there a way to retrieve information about new app builds from TestFlight?

I am using TestFlight to distribute test versions of my app to a private group of people. As I am making a lot of updates these days I wonder if some of my testers will get sick of the large amount of update emails they receive.
So I thought it would be a better approach to let the app check for updates when started and than showing a small notification that there is a new version out and to only notify the testers about important updates by mail.
So my question is: Is there a way to retrieve information about new builds by RSS or some other channel?
Thanks.
The TestFlight iOS SDK already supports this for beta versions if you have the SDK integrated into your app:
Beta In App Updates
If a user is using a beta version of your app, you are setting the
UDID, a new beta version is available, and that user has permission to
install it; an in app popup will ask them if they would like to
install the update. If they tap "Install", the new version is
installed from inside the app.
NB: For this to work, you must increment your build version before
uploading. Otherwise the new and old builds will have the same version
number and we won't know if the user needs to update or is already
using the new version.
To turn this off set this option before calling takeOff:
[TestFlight setOptions:#{ TFOptionDisableInAppUpdates : #YES }];

Resources