I know in iOS developer program, a developer can use an ad hoc distribution profile to build an app, and this app is for testing purpose and can be installed on up to 100 devices.
Is there such a limitation for app developed with a Enterprise program account?
And since this app is for internal use, does the employee's device need to be configured somehow to use this in-house app?
And is there any technical problem if I distribute the in-house app (for free) to a larger audience via a web link or email? I know this can be interpreted as violation to the Enterprise program, I am just wondering if this is technically doable.
There is no limitation on how many devices you can install the enterprise app. All you need is properly configured provisioning profile and signing identity and the UDID in the provisioning profile. I do believe you can distribute ad-hoc similarly as with normal iOS developer account, even easier.
There is much information available on StackOverflow already:
IOS Enterprise Distribution Through OTA
Enterprise distribution of iOS applications
iOS Developer Enterprise Program
iOS Enterprise Deployment / Expiration
iOS enterprise account for distribution
iOS Enterprise Developer Program
Deploying ios apps wirelessly .Enterprise apps
And many more: https://stackoverflow.com/search?q=ios+enterprise
Please read through those first and you will get most of the information you need.
Beginning iOS 9, another important consideration is on first install Apple prompts you with an 'Untrusted Enterprise Developer' prompt. This requires you to go to Settings: General > Profiles and select 'Trust X' for the correct profile.
Not a show stopper. However, an important consideration if you need to do a large distribution as testers need to be informed.
Related
My employer doesn't have an iPhone for testing, they are also not enrolled into Apple's developer program, but they recruited me as an iOS developer.
I was told to create an app and I did it with the help of simulator.
Now, they want me to generate an IPA file of that application for their client who is in another country to test, in his iPhone. Is that even possible?
You will certainly need a developer account if you want to run your app on a physical device (unless that device is jailbroken, which I wouldn't recommend). If your employer hired you as an iOS developer, you need to inform them that a requirement to doing iOS development is a developer account.
If you are going to be writing iOS apps to deploy on client device (which you won't have physical access to), you have a couple of options.
You could have your employer pay for the enterprise developer account ($299/year). This allows you to have an In House Distribution profile, which lets you build an IPA that can run on any iOS device without the need to register the UDID for each device in the provisioning profile.
You could use Apple's TestFlight to deploy the app to your clients' devices. This still requires a paid developer account as you are basically creating an app store build and distributing to others as "beta testers". The app goes through a more lax review process, but it still must have been signed with a distribution certificate, which you only can get with a paid account.
Bottom line, if your company is asking you to develop apps professionally, you need to get them to understand that the $99/year fee is part of the process. IF they can't justify that, they shouldn't be hiring out iOS development jobs.
Without Apple developer's account it is not possible. You would not be able to archive your code either. Have a look at these documents :
Apple's documentation : Exporting Your App for Testing (iOS, tvOS, watchOS)
Stackoverflow : How to export an ipa in Xcode 7
you have to enrolled into Apple's developer program, and add all UDID into you app device ID than generate a provisional profile. install it in xcode than create an archive, zip it and upload to diawi.com. Diawi( https://www.diawi.com/ ) is best solution, It will generate a link which you can give to client and they can install it on their device directly.
I have faced same problem at start of my job :)
- but it is not possible to generate ipa without apple developer account.
- and even if you connect device to deploy then device iOS version and XCode iOS version must be same.
you have to enrolled into Apple's developer program and this is not enough. For over-the-air installation you have to use apple's testflight or hockeyapp like third party apps.
I am new to itunesConnect and iOS app development & distribution.
I have an application that is developed and tested using the provisioning certificates that are generated by using an account of Account Type : In-House. Now the application is ready to distribute.
But, I got stuck in distributing the application. Tried to upload in iTunesConnect, but some link says that iTunesConnect will not help to distribute in-house apps. What shall I do now to distribute the app.
I got stuck in this stage for the last 2 weeks.
You can't distribute apps on the App store with an iOS Developer Enterprise Program account (see the Enterprise account FAQ).
If I am enrolled in the iOS Developer Enterprise Program, can I distribute my apps on the App Store?
No. The ability to distribute apps on the App Store is only available
to developers enrolled in the standard iOS Developer Program. The iOS
Developer Enterprise Program only allows you to distribute your apps
to employees or members of your organization through Ad Hoc
distribution.
If your company is enrolled in the iOS Developer Enterprise Program
but would also like to distribute your app(s) to customers on the App
Store, you will need to enroll in the iOS Developer Program.
Only iOS Developer Program can create provisioning profiles which can be used to submit apps to the App store.
You should sign up for a iOS Developer Program account and then you will have the following option when creating a provisioning profile.
If you want to distribute your application (make sure you don't break the license agreement - ยง2.6
No Other Permitted Uses) you should use the middle option when creating an IPA in Xcode.
The offical Apple process for deployment and distribution can be found here (This is probably the better document to look at on that page).
I have a customer who is using an app on their iPads that was developed by a third party who is no longer around. The app is not in the AppStore. They were explaining to me how once a year they need to login to TestFlight.com to reset something. I looked at Testflight at as far as I can tell, its a testing platform, not for production use. I assume they are renewing the dev certificates or something similar.
Does this make sense? Is this a legal way of running a native app on an iOS device?
What are the benefits of services like TestFlight?
Your Enterprise Certificate
Enterprise apps must be re-provisioned once a year. You will need to login to the Apple Dev Center, refresh your Provisioning Profile, resign the app, and re-upload to TestFlight.
TestFlight And HockeyApp
In addition to Testflight there is also HockeyApp.net. These are services that allow you to manage an app either during test using Ad Hoc certificates from Apple or acting as a managed AppStore when developing Enterprise apps.
It also has a number of great features, including, crash report collection, managing of testers and their feedback, update notifications on the client, test device UDID management, and verifying that the tester has actually installed the correct version.
All these things are incredibly useful to someone that has to deal with these sorts of things professionally.
Enterprise vs. Ad Hoc
Enterprise certificates from Apple allow you many of the same privileges as the AppStore. This arrangement requires you to be a business with a DUNS number and you must sign a contract with Apple that states you will use this exclusively in adherence to their terms. This costs about $299/year and the app is good for one year once correctly signed. You can install it on any iOS device in accordance with the contract you signed with Apple.
Ad Hoc is what is used for in-house testing. Each device UDID has to be added to the Apple Developer Portal, attached to the provisioning profile, downloaded, and resign the app with the new provisioning profile. Cost is $99/year, maximum of 100 devices, and devices can only be removed once a year. Each app expires after a few months.
Test Flight is an apk/ipa (app binary) distribution mechanism. So they may be accepting testflight's profile on their phones if their UDID was registered to receive drops of a particular app.
TestFlight can be used for distributing apps signed with Enterprise Certificates, i.e. apps that can't be distributed through AppStore.
Another possibility is that the app is run on only a few devices, registered as test devices on a regular Developer Account. If that's the case, the limit of numbers of devices should be noticed: 100 devices.
I'm development a app for iPad that will be used within the company only.
As the devices that will use the app will be more than 100, the company need to join iOS enterprise program.
How works the distribution for In-house distribution?
I need to register all the devices to generate one Certificate for the app? Or I can generate one Certificate and the app will work on every devices?
Apple need to approve the application for In-house distribution?
The company's objective for distribution will be deploy the application on their website so the employees can access the web site, login, and download the app for theirs devices. There is any roles from apple that does not approve this method? What is the best method for distribution In-house app?
Answers to your questions:
1)You don't need to register devices on provisioning portal for
"in-house" distribution. Apps built with these profiles can be
installed on any iOS device.
2)Enterprise apps don't undergo Apples's review process as they are
not meant to be distributed through the app-store. In fact Apple
doesn't have any role in enterprise app distribution cycle.
3)You can distribute app through any medium you want, within your
enterprise, OTA, Intranet or mail(I have seen distribution through all
these mediums in my enterprise).
However the license agreement says that you can't distribute enterprise apps to anyone outside your enterprise, not even your clients. You can demo the app to people who don't belong to you enterprise, but they should only be installed on devices owned by the enterprise or employees of the enterprise.
I am facing some issues related with iOS Developer program and iOS Enterprise Program. One of my client ask me to suggest one of them. Please answer my questions related to iOS Enterprise Program-
If i purchase an iOS Enterprise account so when it is available for in-house application distribution?
How many device i have on which i can install my app?
Do i need UDID of all devices?
What if i want to add some new devices?
If it is same Ad-hoc distribution the what is the expiry date of Ad-hoc certificate?
Thanks
As soon as you sign the contracts and make the purchase and Apple verifies all the information, you can create your distribution certificate, provisioning profile and then sign your app with the certificate, and distribute your app with the profile.
There is no limit to the number of devices.
No, you do not need to get the UDID's of the devices for Enterprise distribution.
Just send the app and the distribution provisioning profile to the user who has the new device.
The certificate is used to sign the app - to my knowledge there is not an "ad-hoc" vs. "distribution" certificate.
Hy Rayfleck,
I'm not sure about that..
Reading this post: http://www.linkedin.com/groups/Has-anyone-had-experience-iOS-72283.S.52864455
made me realize that:
Enterprise license can do 2 different kind of release:
release for internal distribution
release for a third party distribution
The internal distribution has no limit of devices
The third party distribution is limited to only 100 devices..