DEV Community

Ad Hoc distribution for iOS

Gualtiero Frigerio on November 12, 2019

I want to share my experience building and distributing apps with xcodebuild hoping to help some iOS developer struggling with automating build and...
Collapse
 
mightypanda profile image
mightypanda

Hello Gualtiero,
Thank you for this useful article!

I have the possibility to have all iPads of my customer, so i can just use XCode and start a Debug to have the app installed, that is usually simpler in my case.
However i have two doubts:
1) how can I run the app in Release mode, so that the compiled binary is release and not debug?
2) how can I be sure of the expiration date of the deployed app?

Thank you for your help!
Regards

Collapse
 
gualtierofr profile image
Gualtiero Frigerio

So you're installing the app via Xcode without paying for a developer account? I'm not sure it is possible to send push notifications this way.

Collapse
 
mightypanda profile image
mightypanda

I do have a paid account, however since all iPads are in-house at the customer headquarter, we usually compile directly on the devices (4 in total) through XCode.
We do not need push notification, however the build this way is a "debug" build, and also we are not completely sure of the expiration date.

Thread Thread
 
gualtierofr profile image
Gualtiero Frigerio

The app needs a provisioning profile to run on a device. Xcode can create one for you even if you're not a paying member but I guess it lasts only for a few days.
Since you have an account you can register the iPads and create a provisioning profile either for development or ad hoc distribution. The profile expires after 12 months, after that you'll need to sign the app again and install it on the devices. That's why I prefer ad hoc, I create the archive, sign it and send a link via email to the customer so I can handle it remotely.

Collapse
 
jcastilloh profile image
jcastilloh

Thank you for this useful Post

when you said: This is the plist file you need to provide, where is the place to provide it?

and I don't know what is the correct way to use these fields and how create or to obtain the distribution manifest, what I need is to distribute my app to de QA teams for the test.

Thank you for your help!
Regards

Collapse
 
gualtierofr profile image
Gualtiero Frigerio

You can upload the plist in your intranet so your QA can access it.
It is important to have HTTPS, otherwise iOS won't download the IPA. If you don't have an HTTPS server with a certificate in your intranet you can use a third party service, like Dropbox.

You need the distribution manifest only if you want to automate the build via script, if you export from Xcode you only need to upload the IPA and the Plist

Collapse
 
rambodroid profile image
rambo-droid

Nice post!

I have a silly question: I am new to this game, and I am trying to distribute an app. I can install it on my device through Xcode but is it possible to share it without a dev account?

I know websites like diawi.com/ can publish it, just with the IPA file, but I am having some problems generating it.

Do you have a clue?
Thank you.

Collapse
 
gualtierofr profile image
Gualtiero Frigerio

I didn't know diawi, but if you want to distribute an app to a client or a friend you need their UUID, so a paid developer account. Otherwise they need Xcode to install the app on their device like you did, but you need to send them the project.

Collapse
 
rambodroid profile image
rambo-droid

Grazie mille!

Collapse
 
mikehowey profile image
Mike Howson

An alternative to diawi.com is appstage.io. It has a free account and provides a shareable page with a QR code you can give to people to install the app directly.