iOS App Beta Distribution (large scale) - ios

I am developing an iOS app of which my clients would like roughly 50 people to beta test. However, I don't want to have to keep adding UDIDs to my developer portal account and to generate a new provisioning profile each time. Is there a way in which I can distribute the beta without having to go through the aforementioned painful process of adding a new user? I'm thinking something automatic!
Look forward to hearing your responses!

Using a standard individual Developer enrollment, testing any app on stock OS iOS devices requires generating profiles with each device's UDID. No exceptions.
So you have to keep adding UDIDs to your developer portal (or let testflight gather them for you), or tell the client no more. (I would consider charging the client a sufficiently large additional amount for each extra device to be added after the initial batch, that you will become happy to do so, instead of it being a "painful" task.)
The Enterprise program can only be used for employees of the enrolled developer, not clients or customers. If your client has a D&B rating, then they might be able to enroll themselves in this program to allow distribution to their employees without gathering UDIDs.

The developer portal has an option in which you upload a list of your user's UDIDs (look in the device tab and click "Upload file"). Just prepare your beta user's UDIDs and upload once, then you can just generate an ad hoc profile once and wirelessly distribute this.
Note the file format should be (tab delimited):
device_id_hex_40_chars description_text
... ...
The first line of the file is ignored, so you can add a header.

If you're willing to pay the $299, then you can join the iOS Enterprise Developer program and distribute applications using iOS Enterprise distribution. This lets you distribute to an unlimited number of users.
https://developer.apple.com/programs/ios/enterprise/
Otherwise I'd suggest Testflight.

Related

iOS Distribution Method for Free Company App

I've looked for hours at other similar questions, but not sure if the other answers apply in my case, and things have changed since I last did this:
I am a sole trader writing an iPad App for an Agency. The app is ultimately for a Company they are working for.
The app will be distributed free to a small number of employees in the Company (<30);
Its a hybrid app, much of the code running as javascript in a webview. Ideally I wish to avoid Apple review of the app during distribution as this is an unknown to me.
I also do not wish to release the source code to Agency nor Company.
What's my best option for distribution? Ad-hoc? Set Company up with an Enterprise account? VPP?
I would use Ad-hoc, as it seems simpler, but not sure what happens after 1 year expiration...
Be grateful for any pointers.
If you have Apple Developer Enterprise Program (299 USD/year)
Ad Hoc
You can distribute your app to limited number of registered devices, but you need to sign every year before your provisioning profile expires, if you don't sign your app again, it will start to crash on opening after expiration date.
In House
You can distribute your app without any device limit, but you need to sign your app every year.
If you have Apple Developer Program (99 USD/year)
Ad Hoc
Same as enterprise program
App Store
Once you submit and release your app, you don't need to sign again.
I think your best choice is distributing your app via App Store if the company is okey with it. Review process is not a big deal after all, you can shape your app according to rejections reasons.
Apple Developer program - Adhoc Distribution
Cheaper ($99)
No Appstore review needed
Supports up to 100 device (device list can be modified yearly)
Need to rebuild with updated provisioning profile when new device is added
Need to rebuild the app on yearly basis when provisioning profiles expire
OTA can be used to distribute the app to users
Enterprise Program - In-house Distribution
Expensive ($299)
App can be installed into any device without a device limit (no rebuilding required)
Need to rebuild the app on yearly basis when provisioning profiles / distribution certificate expire
No Appstore review needed
OTA can be used to distribute the app to users
I would go with Apple developer program since you user base is around 30 and its a cheaper option.
Have You looked at:
https://www.diawi.com/
Or
https://www.installrapp.com/
?
Note: You must register their devices to your Apple account first

How to demo an iphone app without uploading it to the app store

I have a system which I want to present to potential investors. It is a client / server system and the client runs on mobile devices.
The client can only be used when certain people are connected to the server via another app, so I currently don't want to upload it to the app store for public use.
When I present the system to investors I can make sure that the correct people are logged in and run the demo.
I read online and didn't find a suitable distribution mechanism. I don't want to bother my potential investors with details about finding their device ids so I don't think I can use ad-hoc distribution. I can't upload it to the app store because the service isn't available 99% of the time. Any other options"?
Thanks.
Well you options are limited, you can open a new Apple Developers Account for Enterprise distribution. But the license for these distribution does restrict the distribution to company employees only.
You can use the iOS 8 SDK and Xcode 6 to distribute your app to 25 beta tester, wihtout going thru review. And later Apple will allow you to beta test, with app review, for a 100 users.
But for now AdHoC will be your best option, and use something like HockeyApp or TestFlight for the distribution. But using AdHoc does require you to have the device UDID before hand as they need to added to the AdHoc Profile.
Best way to distribute iOS app for testing or demo is to use Testflight. It is much easier then distributing IPA file and letting anyone install it on their iOS device.
I would suggest using TestFlight as it is simple and reliable. The only thing is, you need to register with the device ID. You can send the testFlight build to your selected clients with this.
www.testflightapp.com
Make an enterprise adhoc of your application. Apple allows you to create adhoc of your applciation with 100 users allowed at max.
And then you can demo your application to 100 people.
If you "don't want to trouble the investors with finding their device ids", then test flight is your best options. Your investors just need to install test flight make there account(with really easy steps) on test flight. And accept your invite. After they are are in your team you can easily get there device id by clicking info button next to there name on screen, under people tab of website.
Check this image for detail:

iOS App deployment without AppStore

I'm developping an App in my company. We want to distribute this App to our customers but without using the AppStore from Apple, is it possible?
I heard about MDM (mobile device manager) but I'm not really sure if it will cover this need?
I heard also about Enterprise developer license for in house deployment but if I'm understanding correctly it means the App can be deployed only inside my company and not to our customers, is it correct?
Thanks for your clarifications.
Seb
If you are trying to get apps to customers without the App Store, you have options, but none of them are awesome.
There are many choices for over the air distribution of the binary, that really isn't the complicated part. You've got MDM solutions, HockeyKit, TestFlight, Manual server manipulation - all are fairly easy and well documented.
Where things get nasty is in the signing. If you definitely do not want to participate in the App Store environment (no app store, no Volume Purchase Program), you only have two real options:
Ad Hoc - Limited to 100 Devices. Devices must be explicitly added to a provision.
Enterprise - No device limit, devices do not need to explicitly added to provisions. In effect, these builds will run on any device; the caveat, you are not legally allowed to distribute these builds to anyone outside your company.
If you intend on developing an application for some other company and their employees, then your only viable option is to sign the final build with a signing certificate attached to said company's development account. The enterprise signing route is a really great approach, if you can get the company to sign all the paperwork to get their own developer account, owned by them.
For stock iOS devices, you really have only 4 choices:
1) Ad Hoc distribution to up to 100 total max devices per iOS Developer enrollment (including wireless Ad Hoc via manifest file & SSL.)
2) Enterprise distribution for distribution to employees of corporations with a D&B rating.
3) Apple's iTunes App store if your app is approved by Apple. (This includes the B2B program and account/password protected apps.) (This now also includes up to 1000 people using Apple's new Testflight service.)
4) Unlimited distribution to other people who have their own individual, company or enterprise iOS/Apple Developer enrollments. The distribution can be either as an Xcode project with source code or a pre-compiled library, or as an ipa or archive file that the customer can (re)codesign with their own Developer certificates. For applications priced at well over $99 per customer, the cost of this annual developer program enrollment might only be a slight additional cost to the customer (and given appropriate legal authorizations, might even be handled as an annual paid service.)
4 b.) ADDED UPDATE: As of Apple's release of Xcode 7 (in late 2015), anyone with just a free Apple ID can use Xcode 7 on their Mac to install apps from build-able Xcode projects directly to their own tethered iOS devices this way, with no need to pay $99 to Apple to enroll. See this answer.
This essentially allows unlimited distribution to anyone with physical access to a current Mac and who knows how to run Xcode.
Options (1), (2) and (4) do not require going through App store approval. There are no other options for distributing apps to stock OS iOS devices.
You could take a look at https://testflightapp.com/.
We use that a lot for customers that only need a app for testing doing the development phase and for apps that are used for conventions (limited time, limited number of units).
Testflight is very easy to use for both developers and end-users, but it is not very well suited for apps that are going to be used on a large numbers of devices, since all devices that are installed to needs to be in your provisioning profile which has a limited number of slots.
EDIT
The testfligt approch is no longer valid. You can now use the TestFlight integrated into itunesconnect. Alternatively you could integrate crashlytics.com, at use their distribution system. It works pretty weill

iOS Enterprise Program and iOS Developer Program

I have a question about the licenses of iOS and my application.
I am developing a application to run on a lot of iPad's for a consulters company. This company will download the (IPA) file from our web interface, and sync the devices on iTunes. Is this possible with the simple iOS Developer Program licence? I think that this is the famous ad-hoc, and not the in-house distribution from Enterprise Program. I am really confused about this licence and the Enterprise Program.
Thanks.
Since iOS 4 was released, you don't have to manually download the IPA and sync through iTunes, you can install by tapping on a link on a web page. You just need to create a plist file and point the link to it with a special pseudo-protocol. The details are in the developer library.
The individual / company developer account can handle that with ad hoc builds, but it sounds like the enterprise program is a better match for your needs. Ad hoc builds expire after a few months, it's limited to a hundred users and getting the UDIDs from the client can be a real pain. I've gone down that path before, and it's not unusual to receive UDIDs as screenshots of iTunes embedded in a Word document or incomplete/wrong, even after you give them step-by-step instructions on how to do it properly.
The enterprise program has its own drawbacks. It can take a while to get set up, and the company needs a DUNS number. However once it's set up, you'll find it easier to work with.
The standard developer program will let you distribute to 100 devices per year. That's the ad-hoc mechanism, and it isn't intended for what you're doing, although it certainly will work assuming you have fewer than 100 users.
The Enterprise program is designed for what you're doing, but costs more and has different details.
With the individual and company plans you have a limitation of 100 devices that you authorize with ad hoc distribution. Besides you have App Store access. If the number of devices is > 100 then applying to this program is not useful and then you must revert to the enterprise program.
The enterprise program gives you unlimited number of devices that can be authorized but no access to the App Store. In such case the consulter company must be enrolled to this program and can distribute the apps only to its employers or members. Finally this program provides other than ad-hoc distribution even in-house distribution, that is a form of automatic app distribution (like a simplified app store but for the company only). Finally note that in order to apply to this program the company must own a DUNS number.
Clearly if you want to have both options, that is in-house distribution and App Store access the company can enroll to the two programs.

query on iOS app deployment methods

Googling this topic I get a sense there are three ways apple allows to distribute the app to end user. However it's still quite vague how exactly each one of these methods actually work and differ.
Ad Hoc Distribution - how does this really work. does this method not require the app to be submitted on app store ? If Yes , then where will the user download the app from and how the installation procedure works.
In-House Distribution - how does this work ? some text i came across suggests we can host the app on a private enterprise server and allow users install from there. If this is true apple would have no way to regulate the app.. not so clear.
App Store deployment - this one i understand how it works as a consumer of some apps i have purchased from app store. In this case the app will have to be submitted to app store first and then available for any number of users to install.
The other question I had on the same context is to be able to deploy the app via one of the ways what type of dev license is required to be procured from apple ?
Ad Hoc Distribution - This is most commonly used for sending the applications to beta testers, you register their UDID in your Developer Portal and then send them the app bundle and a provisioning profile. They drag these into iTunes and can install the application.
In-House Distribution - If I recall correctly this is only available if you have Enterprise license, you can deploy this app to all devices associated with that account (so all of your companies phone for example)
App Store Distribution - This is when your app ends up in the App Store, you submit it to Apple after code signing it, then they review and it gets accepted.
Hopefully that clears things up a bit for you.
For distribution methods 1 & 3 you must have paid the $99 developer fee, number 2 you must have paid $299 (I think that's the right price) for the enterprise developer license.
For the Ad-Hoc thing: You can add up to 100 devices per year to your dev portal. Those 100 devices are then able to install specially signed Apps from you.
To add a device to your portal you need it's UDID. To distribute an App via Ad-Hoc you need to create a special Ad-Hoc distribution profile for the App, sign it with this profile and then send the compiled .app file bundled with the profile to your users. They will then be able to install the app via iTunes, just like they've downloaded it from the App Store.
Note: Removing a previously added device from the list does not increase the device count by.
That's pretty much it, am not familiar with in-house distribution.
Apple's definition of "in-house" distribution basically means: buy an enterprise developer account.
http://www.apple.com/iphone/business/apps/in-house/resources.html

Resources