Update In-House Apps -- iOS Enterprise Developer Program
Asked Answered
G

3

13

I am looking for information on the iOS Enterprise Developer Program. From what I read, in-house distribution allows companies to distribute iOS apps internally without knowing the devices UDIDs (unlike what happens with the ad-hoc distribution). Apps built with these profiles can be technically installed on any iOS device (without limits on the number of devices), but the license agreement says we can't distribute enterprise apps to anyone outside the company.

From what I read, we can distribute apps through any medium we want within the enterprise. In our case, we want to put the .ipa and its .pliston our intranet (protected via authentication). Our users can just browse to that site with any iOS device, type in their credentials, click on the link and install the app. That's great.

But how updates work? I can't find information on this topic. If I create a new version of the app, all devices are updated automatically without my intervention?

Gamelan answered 31/10, 2012 at 9:17 Comment(0)
D
9

Updates have two different scenarios - 1) Server driven updates where you don't need to modify your code. In this case your App should be intelligent enough to poll server for any updates, download them, and reconfigured itself. I am doing this for our native Apps. And 2) You have updated the code. In this case you will need to re-install the App on each device to update it.

In your case I think you are looking for solution to scenario-2. You can implement something similar to what Apple does when you submit updated version to Appstore. They display updated apps in Updates section and you re-install the App. You can have some section in your app that check if there is an updates and calls itunes service with your HTML link which will directly give pop-up to users asking for installing updated app. Second option you can use Push notification after you have updated .ipa and .plist file with updated version information.

Damning answered 31/10, 2012 at 9:29 Comment(4)
Thanks for your answer. Yes, I'm referring to scenario 2. From what I understand, so, there is not an automatic way to update in-house apps (like in the App Store where I simply submit a new build). Just a question: if I follow you suggestion (i.e. prompt the user for installing updated app), the application data are preserved? (The app uses an internal Core Data database with some preferences.)Gamelan
Yes Application data would be preserved. We had a same requirements in our Apps. I store many settings in UserDefaults which doesn't get affected by updating Apps. It's the same case with AppStore updates.Damning
I confirm. In the In-House App Development Accelerator Guide document Apple says: "You’ll need to notify employees of the update and instruct them to install the app. If the application identifier assigned to the app in Xcode is unaltered, it will recognize the app as an existing app and install the update while retaining locally stored app data or preferences. For greater convenience, consider developing a func- tion within the app that contacts the server for updates at runtime."Gamelan
The above solution i mean the 2nd case worked for me. But i would like to know if there is a local database change how we can manage that. We are using sqlite for the local database.Felike
B
5

Other options include using an MDM (mobile device management) or MAM (mobile application management) solution.

MDM solutions allow users who have "enrolled" to have new updates pushed, however, users have to request the updates and be prompted to install them manually. There is also no way for users to receive push notification messages unless they install additional client apps.

MAM solutions can provides support over the entire app lifecycle (including updates). One vendor solution that provides this is Apperian EASE, which allows users in an organization to install and run in-house apps. For more information see http://www.apperian.com.

EASE can notify all users who have installed an app that there is a new version (update) via push notification (this happens via the custom native app catalog).

Developers can use the EASE SDK to put in a query to the server to see if a new update is available, and/or required, and if so, to automatically install the update. The EASE SDK documentation is located at https://apperian.jira.com/wiki/display/pub/EASE+SDK+Guide.

Bugleweed answered 31/10, 2012 at 19:23 Comment(1)
Thanks. I did not know EASE, it seems interesting. Just a last question. When you say "[With MDM] there is also no way for users to receive push notification messages unless they install additional client apps" do you mean that MDM solutions prevent the push notifications to work or that MDM solutions don't (automatically) push notifications for updates?Gamelan
C
0

Having updated your app upload it on same location as before. So all the users just need to reinstall.Then it will work properly with new changes made in app.

Claustral answered 31/10, 2012 at 9:35 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.