Can't test iPhone app update as an update - iphone

I have been working on an iOS app update and am ready to submit it, however I am having a small issue I am concerned about. I create an ad-Hoc version for testing and when I try to synch the update over to my phone via iTunes it won't give me the 'update' option next to the app. The buttons in iTunes says 'remove'. iTunes actually forces me to first remove the old version of the app and only after it is removed, iTunes gives me the option to install the new version and then the app works fine. The only problem is that this is not really testing the update process and I am concerned that once I release the app to the app store my users will have the same issue where they will not be able to just update the app, they will have to remove the old app first and then install the new version. Any idea what might be going wrong here?

iOS takes care of updating Apps, as far as bundle identifier in your info-plist is the same, any newer version will show as an update in iOS. But in iTunes things work differently. You don't have to worry about these things.
If you want to test effects of updating an App, Install the old version from AppStore. Connect your device and Run the project from Xcode. Now this will work the same way as updating your app.

There is no problem from your part. Maybe this time iTunes is not smart enough to know that your ad-hoc version is an update one or maybe the version of the app on iTunes and on your phone is the same. I've made a lot of update to my apps, when you submit a new one to AppStore your user won't face this problem. They will find an update button for your app :).

Related

Submitting New Version Of The App To The App Store

I have an iPhone app that was accepted in the App Store almost a month ago. Now i have updated my app with some new features and added iOS 7 support etc.
This is actually the first very first time i am going to submit a new version of the same app to the App Store.
As far as it seems, i have to go to iTunes Connect > Manage Your Apps, select the app and then click on "Add Version" and add the version number and whats changed in the new version. Go back and add the updated screenshots and then using Xcode, i can submit it for the approval.
The question is that is there anything else that i am missing and that i should do in order to submit the new version of the app? As i said i am doing it for the very first time. Thanks!
Things you may wan't to consider:
submitting any new in-app purchases with the new version of the app
make sure your app version and short app version is higher than the one in the version currently in the app store, otherwise you will not pass validation
run validation before submitting so you can see if you get any warnings, sometimes there may be collision with Apple private apis. If they are in your code, I'd suggest to rename your methods
The only thing you need to do now is to update the version number and the build number in your Xcode application, archive your app and submit on the AppStore.
On iTunes Connect you set the new version number :

How to simulate the AppStore update process on device/simulator

We have submitted an update version of our existing applications in the App Store recently. But we have received a issue from one of the users, saying that the app is not functioning properly after the update. So in order to replicate the same, what are the steps to reproduce, so that i can analyse the issue?
Any help will be appreciated.
To simulate this before pushing yoru updated version to the AppStore you can:
Download the old version of your app from the appstore
Run the updated version of your app from XCode on the same device.
What will happen behind the scenes is that your app will be updated in a way similar to the Appstore. Your app will be partially updated while your doucments folder will stay the same. (what usually causes problems)
This solution is better because it lets you check for problems before and update was pushed to the Appstore.
Yeah, I get this a lot. The solution is a bit annoying, but you need to keep a history of IPAs you've submitted so you can put the on your phone through iTunes (so not the simulator) and then, run your code on your device putting a breakpoint on your applicationDidFinishLaunching handler in your app delegate, and start tracing from there. You should be able to find the old app store version in your organiser from the last time you submitted, or, go through your SVN/GIT history and checkout the version tagged to your release version.
Many times in the past that has happened to me where I test a new revision and everything looks fine but when I submit an update and is approved, users start complaining about a crash or lost data.
This is way I approach the problem.
(This is most important step) You need to either have your old code or old binary installed on your actual apple device. (Physical iPhone / iPad)
Now go to iTunes and install your new update.
Attach your physical iPhone / iPad to you computer, Launch Xcode and start debugging it.
NOTE: There have been many times when things work perfectly in the Simulator but break on the actual device. Its always important to test your code on the real thing as that is what the users are going to be on.
All that is required is to have the version of the app that is in the app store on your device, then install the updated version to your device. You can debug it using Xcode when you install the new version.

Check whether app updates work without submitting to App Store

I have an application already on the store and would like to release an update. Since my app deals with databases and I've had to change some parts of it, I would like to ensure that the update does not affect the existing functionality in any way once the user updates from the App Store.
What I did was this - install the first version of my app on my device. Changed the update's version in info.plist to 1.1 and run it via xcode (and install on my device). But what happens by doing this is some of the changes I made to the XIBs do not show up. It looks as if the app was only half-updated (if you know what I mean)
Is there any way to update an existing app programmatically without having to go through the app store and then find out it could lead to a disaster?!
Thanks for any help!
I would double check your build configuration. Between building the two versions of the app, I would recommend a "Clean All" just to be safe. The process you described works to verify updates. The only other alternative I can come up with is to create Ad-hoc distributions of both versions of your app, and install those.

How to reinstall the iPhone app in ad hoc distribution

I am using ad hoc distribution for my iPhone app. It works very well. The only problem is when I update my app or create a new binary and want to install this new version on device, I need to delete the old version. Like although I drag and drop the new version in iTunes application, it does not over write the previous version even after I do sync. It might be becoz the app already exists in the device. So I need to delete it to reinstall it. How do I make sure the app gets updated to the new version and I dont loose the data from the previous app. Data I mean the database. Please note I am just formating the UI and not even touching the database.
I've found that you must increase the version number in your main plist file for iTunes to install a new version of your app.

Consequences of not updating the bundle version for an iPhone app?

I submitted an update for one of my iPhone apps last week and just realized I forgot to change the bundle version in Info.plist before I submitted. The update fixes a critical bug, so I want to get it into the store as soon as possible. The app update has not been approved yet. I am debating on replacing the binary with the updated bundle version or leave it.
What are the consequences of leaving the bundle version the same as the previous version of the app?
Apple may not accept the update as the bundle version is the same as what is currently on the app store
If it gets through Apple, iTunes will not automatically download or synchronize to the phone (you can see this behaviour using an ad-hoc distribution)
I'm surprised it even got through. I forgot to do that once, and itunes connect wouldn't accept my binary. I'd say you should leave it as it is, since you probably did change the bundle version in itunes connect, when you were uploading the binary, and so it should all work out. I'm not exactly sure though, cause I'm surprised it is even possible.