My testers have problem with an app I had uploaded to Fabric Beta. During normal testing they uninstall already installed app from their devices and they download new version from Fabric. In that case everything works fine. App will download and launch properly.
Problems begins when they want to test situation when future app's users update my app from AppStore. My testers want to check if updated app will not crash.
Test case is easy:
List item
Download app from AppStore.
Launch it.
Download new version from Fabric (new version should override old)
Launch it.
App should not crash.
Problem appears in (4), Fabric shows error "download problem detected". (Note that everything works if there is no old app on device.).
Fabric has problems with overriding apps?
Fabric (1.7.7)
iOS 11
iPhone 6s Plus
PS. This test is important. Crash will appears when I change database model without migration for example.
Paul from Fabric here. Did you uninstall the App Store version of your app first? Since iOS 9, Apple changed its policy to prevent apps from being installed over the existing App Store version by 3rd parties, so you need to delete the original app before installing the Beta version. For more information, see our docs here: https://docs.fabric.io/apple/beta/tester-experience.html.
And the other reason could be if any other app is installing or updating parallelly, Fabric will not be able to install. Just faced the issue :)
Related
We integrated crashlytics in on of our apps and are using fabric beta to distribute the app to testers.
On iOS I remember that there was in the past an alert on startup if somebody installed an old version of an app. Currently this alert does not appear anymore.
Is this feature still available? I couldn't see any documentation about it.
Mike from Fabric here and yes the functionality still exists. The check for a new version of your app happens every two hours. If you update and install a new version of the app before the check completes, then there won't be an update notification. Also, as mentioned here if you've explicitly installed an older version of the app from the Beta app that shows older versions, we won't prompt for an update. The most common cause of this though is updating your app and then installing it right away as you know the build finished.
I have an app which works perfectly on the simulators. This app also worked perfectly on an iPhone* for a couple of months. After a few weeks of this app not being opened, the app crashes when I attempt to open it. It looks like its about to open but it quits.
If I double tap the Home button to display my cached apps I can see it there amongst the other cached apps and it looks fine, displaying on-screen elements and images(which are saved and retrieved from the filesystem) correctly. If I tap it, it again quits before running.
I was hoping to release this app asap as it is finished. I've searched the net for solutions but have not found any. I don't know what particular information may be needed to figure out the problem but please ask and I'll respond with it. I am relatively new to ios development.
*iPhone 5s running latest ios9 update
The latest version of Xcode is 7.3. You need to update your Xcode to the latest version to be able to upload to the latest version of iOS.
EDIT: I forgot to mention this earlier. The latest version of Xcode requires El Capitan (OS X 10.11).
EDIT 2: OP has now revealed that a provisioning profile is being used. These only last about a month. After they expire, the app is no longer trusted and will show the described behavior. This can only be solved by re-signing the code, which requires either a new provisioning profile or a Developer ID. In any case, after the code is re-signed, it has to be reinstalled, and installing onto the latest iOS requires the latest Xcode.
Sources coming soon.
OK, so I seem to be having some trouble finding the site where I found this information in the first place...
However, from the App Store:
Xcode 7.3.1 includes [...] SDKs for iOS 9.3 [...].
When I try to install an app on iOS 9.0 by tapping an itms-services:// URL in Safari, nothing happens. This appears in the iOS device console:
itunesstored[586] <Warning>: ExternalDownloadManifest: Skipping download and install of: XXXXXXX
This also happens if your device has an App Store version of your app installed, and you try to install an in-house version with the same Bundle ID.
When you do this, the device will simply ignore you tapping on your "Install" button to kick off the OTA install, and silently log that annoying message.
ExternalDownloadManifest: Skipping download and install of: XXXXXXX
Nothing gets displayed on the device, you're left to work out what's gone wrong for yourself.
So the obvious solution is to uninstall your App Store version of your app before attempting to install your in-house version.
Seriously, every year, I waste countless hours creating and deploying OTA apps with Xcode, and the Xcode/iOS error-reporting is non-existant.
It's really Apple at it's very worst.
Elaborating on Mike Gledhill's answer:
I had this problem upgrading from a production build to a newer Ad Hoc build from HockeyApp with the same Bundle ID. This was a security change added to iOS 8.4 and above to prevent the "Masque" attack.
Manifest Masque Attack leverages the CVE-2015-3722/3725 vulnerability to demolish an existing app on iOS when a victim installs an in-house iOS app wirelessly using enterprise provisioning from a website. The demolished app (the attack target) can be either a regular app downloaded from official App Store or even an important system app, such as Apple Watch, Apple Pay, App Store, Safari, Settings, etc. This vulnerability affects all iOS 7.x and iOS 8.x versions prior to iOS 8.4. We first notified Apple of this vulnerability in August 2014.
Source
Official solution from Apple:
You should use TestFlight to test upgrades to your App Store app rather than enterprise distribution.
rdar://22088607
This happens when the version you're installing has a different bundle ID than a version already installed on the device.
Seeing this recently with TestFairy builds when trying to install them on top of an already installed build from the App Store (Xcode 7, iOS 9)
TestFlight builds do upgrade properly however (not surprised).
See also Enterprise App Update Distribution on iOS 8
I am beta testing my app, and a few users are getting the error "Unable to Download Application. "Okasio" could not be downloaded at this time". So far 30 users have downloaded the beta of the app, and only 2 are getting the error, so it seems user- rather than app-specific. Does anyone have a suggestion?
The message is identical to the one from this post, but with current iOS 8 formatting:
TestFlight fails to install app and cannot delete partially installed app
The most likely reason is that their iOS OS version is below the app's minimum OS version.
As strange as it might sound the official Apple TestFlight/iTunes Connect beta system does not test the OS version at all at the moment. We faced this issue while we were working on our integration with the new TestFlight system (Bitrise.io, iOS CI/CD service - CTO here).
For example one of our test apps was built with iOS 8.2 as the minimum OS version. It's even listed on the app's card in TestFlight (Compatibility: Requires iOS 8.2 or later) but you can still click on the install button and it starts to download&install it. Then of course you get the helpful error message with Unable to Download App.
Note: Tested on two different iPads, both with iOS 8.1.3.
Another, less likely issue might be the lack of storage on the device but as far as I remember that presents a different error message.
My app has been live in the app store for a while. It saves data locally using NSUserDefaults. Some of the saved data needs to be automatically updated when users install the app update I'm working on.
To test, I install the old app, do a few things to save the data locally, then install the updated app over the old app, and make sure the data updates correctly. This has worked on devices running iOS 7.
I'm having trouble installing the updated app over the old app on a device or simuator running iOS 6. I've received a few different error messages, looked them up, and didn't really find any answers that worked.
Will users running iOS 6 have trouble installing the updated app on their devices?
I'm wondering if the issue has something to do with Xcode 5.1 debug builds. Maybe the issue goes away when users install a release build distributed by Apple.
Edit: I tried the advice in this answer and nothing seemed to work.