Make installation link for enterprise iOS app - ios

I have an enterprise account and could successfully create .ipa file with this account. Now our partners can install it by putting the .ipa file to the iTunes and sync their devices.
I have seen that we can put the .ipa on a direct link and users can download the app from that direct link and install it on their devices.
I upload the .ipa to a server but it is not working. It would be much easier for our partners to use a direct link instead of iTunes and sync. I searched about it too but finding results was not clear. Does some one know what I should do? Should I create the .ipa in other solutions? Or maybe adding some files to the server?

You need to:
Decide the URL of the .ipa file on your server
Generate a manifest file. Xcode can now do this for you when you export the .ipa for enterprise deployment, or you can create it manually (see link below for details)
Place both the manifest and the .ipa on your server
Use an URL constructed like this:
itms-services://?action=download-manifest&url=<url of the manifest>
The URL should be URL-encoded if necessary.
More details here:
http://help.apple.com/deployment/ios/#/apda0e3426d7
However, please note that the Enterprise Developer program only allows you to distribute apps to employees of the company that holds the subscription. If you want to deliver the app to third parties, you should go through the App Store, possibly via the B2B/VPP program to only allow specific customers to get it, or they should be subscribers to the Entreprise Developer program and you should use bundle IDs/certificates/profiles registered on their account. This is valid whether your distribute "over the air" (via a website) or via iTunes.

Related

Distribute ios app to selected devices without paying for developer program

I am using Xcode 10.1 and I am trying to allow a third party to test the app I have built but don't want to pay for the developer program.
I saw https://www.diawi.com/ but I can't see how to generate a .IPA file for diawi.
I followed the instructions for Fabric but it doesn't auto-detect the product archive file .xarchive.
Any suggestions appreciated
You can't distribute your app to third person without paid apple account. Because you need to add that third person's device's UDID on your apple account and generate new certificates. So yeah, even if you generate ipa of your app and distribute it via Diawi, the other person won't be able to install it, so there's no way to achieve what you want. You can visit here to see more details about different membership programs and features provided by them.

Distribute Enterprise app in house

I built an app for a company, then they bought an Enterprise license and are now ready to distribute the app. I have been following this article: Distributing Your Application In-House I have successfully created the .ipa file, but then it just says "Distribute the iOS App file using MDM." with no link or any explanation of what that means. Further research is just making me more confused. I've found articles like this: Add MDM servers which uses terms like "MDM Vendor". What the heck is an MDM Vendor? Surely the Apple Enterprise program comes with a method to distribute an app without having to buy 3rd party software, no? Is there any kind of tutorial out there that can tell me step-by-step instructions for how to distribute this app in layman's terms that I can understand? Thanks.
You can distribute your Enterprise app without MDM. The way it works is basically you upload the .ipa file and a manifest .plist file to a website somewhere. Then you just put a hyperlink that connects to the .plist file. The end user uses a browser on their device, taps the link, and it installs the app on their device automatically. An easy-to-follow tutorial can be found here. The only problem is that the tutorial uses an older version of xcode that generates the .plist file for you. Xcode 6 will not generate the .plist file, but you can find a sample file here. Just replace the URL of the .ipa file, the bundle identifier, bundle version, and title with your own values.

URL used to deploy ipa with Enterprise Certificate

I have an Apple Enterprise Certificate and want to deploy my app wirelessly to testers. Of course, I need to specify a URL of my ipa file. My question is, is any url OK?
Currently I put my ipa in the Amazon S3 server, and made a simple website with a link
<a href="itms-services://?action=download-manifest&url=itms-services://?action=download-manifest&url=https://s3.amazonaws.com/test/test.plist" id="text">
When you open my website on your iPhone, you can easily install my app by a tap.
However, my concern is, since the URL is public (you can download the plist file, open it with a text editor, and see the URL of the ipa file), and anyone who have the URL can download it, is there any potential danger?
From Apple's support center:
The iOS Developer Enterprise Program only allows you to distribute
your apps to employees or members of your organization through Ad Hoc
distribution
As far as I understand from enterprise license legal agreements, you must care about security by yourself. The link on ipa file is intended only for your employees and you mustn't make it public.
I think you should use a sort of redirection management of your url in relation to a session login parameters...
Anyhow I agree with #Alex Peda

How do I (the designer) test and use an iPhone in development if I don't have access to computer in which the code is being written?

Hi I'm intending to have an iPhone app developed by a coder from the US. I live in the UK. When the app is being developed, is there a way that I can preview and use the app as its being developed, so that I see if all the designs and functionality are correct?
Basically the app equivalent of seeing the developer URL of a website being developed.
-Thanks
You will need to give the developer the UDID of your device. You can find it via iTunes.
The developer will add your UDID to his developer profile. Then he can create install files (the file extension is .ipa) that your device can use. He sends you the IPA file and you use iTunes to install it.
Another approach is to use TestFlight. You can register your device with this site and with your developer's account on the site. Then the developer can get your UDID from the web site and upload the .ipa file to the site. Once he's done that, you can install the app directly from the web site without downloading it to a Mac or PC first. Note that this is still reasonably secure because the app is encrypted and can only be run on the devices that are included in the developer's profile.

IOS Enterprise Distribution Through OTA

We have build an enterprise iPad App and now we want to give it to our employees. Initially when testing, we used ad-hoc distribution collecting all the test device's UDID and then creating the profile.
Now going live we want this app to be deployed in a secured web server and send the link to our employees, so that they enter the username and password before accessing the link.
There are around 500+ devices we need to install this iPad App. Do i need to collect all the UDID and then deploy the .ipa file, because Apple documentation says:
Create an enterprise distribution provisioning profile that authorizes devices to use apps you’ve signed.
If not that way, do the user needs to install the profile.mobileprovision file and then install the .ipa file?
We are still unable to decide how to deploy our app because of this issue. We would like to avoid the app approval process because it App handles a lot of sensitive data.
Can some one help me on this, how to do a OTA deployment for enterprise Apps?
As of December 2011, these are the steps:
Create a provisioning profile in your Apple Enterprise account
Set this as the Code Signing Identity under the Build setting of your app.
Make sure the Bundle ID matches that of the provisioning profile.
Select Product > Archive to build IPA file.
Click Share (aka Distribute) button after selecting your Archive.
Set Contents radio button to iOS App Store Package (.ipa)
Make sure Identity in dropdown is the one used from Enterprise account.
Click Next
Select the check box "Save for Enterprise Distribution"
For Application URL put in the URL that points to where the ipa file will be placed (example: http://oursite.com/myApp.ipa)
Click Save. This will save a plist & an ipa file for you.
Place these files on your server with a link formated like this:
<a href="itms-services://?action=download-manifest&url=itms-services://?action=download-manifest&url=http:/oursite.com/myApp.plist" id="text">
Go to this page from your device and click the link to install the app
Probably the best way to distribute your enterprise mobile app and then securely manage users, groups, data and devices is using a Mobile Device Manager (MDM) tool suite.
iOS provides specific APIs that support enterprise deployment via MDM products with API level features like Per App VPN connections that allow you to firewall a DMZ application server to only connect to a specific signed client iOS app. The vendors also provided authentication SSO integration and encrypted storage on the devices to sandbox your enterprise apps from other untrusted personal apps on a BYOD device.
Here's the Gartner 2013 review of MDM products:
http://www.business.att.com/content/whitepaper/Gartner-MDM-MQ.pdf
The 3 major players are now: Air Watch, Mobile Iron and Citrix XenMobile.
NOTE: I don't work for or have a vested interest in any MDM vendor.
There are two solutions
Try testflightapp.com
It does everything for you. It even has a SDK which I found very useful in debugging scenarios with logs and crash reports.
If you are looking to have your own hosted solution for the enterprise then
http://hockeykit.net/ is the best bet.
It has a client application which makes the upgrade process painless. It also have a server side code which you can deploy on your server.
https://github.com/TheRealKerni/HockeyKit
Update 2013-11-23:
We have been using Diawi happily for quite some time.
You can also use my shell script that will help you a long way with generating the necessary files and links:
https://github.com/sveinungkb/ios-ota-buddy
You do not need to manage UDIDs if you are using an enterprise profile.
To install an enterprise app you need a provisioning profile built with your distribution certificate on each device. See Does an iPhone Enterprise provisioning profile need to specify phone UUIDs like an ad-hoc provisioning profile does?
I've created tool (it's beta, so please be patient with it:)) for generating manifests from ipa file online:
http://manifest-generator.knejzlik.cz/
It generates plist with index.html file. All you need is to put content of downloaded archive to your site.
You can use InstallFish.com for this.
It allows OTA distribution for both IOS and Android. It also has a feature to automatically get the UDID and create your own appstores.
You will still need to provision them via your enterprise account but it makes the whole process of OTA installs much easier, especially for enterprise distributions.
You can use hockey, diawi etc. but sometimes you just want something simple that allows you to host it on your server. I was searching for a simple, basic php script that can do this but did not found any that suited my needs so I wrote a simple single php file server by myself and you can find it here:
https://github.com/leszek-s/LSIPASERVER
It has a list of all uploaded ipa files, upload page with password protected upload and each uploaded ipa has it's own page so you can send a link to specific uploaded ipa to someone. Feel free to use it on your own server.

Resources