iphone: enterprise account build - ipad

My client give me his enterprise account to build in-house application for his company. He would like to deploy about 200 ipad devices. Is there a way I can build final build without knowing all UDIDs of those devices. Because that would be a time-consume task for my client to collect all over 200 ipad devices.
I would like to build and upload it to one link. All ipads will get ipa from that link and install to each devices.
Thanks

TestFlight offers over-the-air beta distribution of iOS apps, might be that is usefull for you. Testflight use enterprise distribution mechanism.
Following is the link of testflight - testflightapp.com
You can check Kerni's answer in this thread for other options which are available - How does TestFlight do it?

Related

How to generate IPA file without apple developer program and without a connected device in Xcode 7.2?

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.

Downloading iOS Developer Enterprise Program Applications

I'm looking for a mechanism to allow our employees and a select few key business partners to download a copy of our Beta iOS app without having to register for TestFlight or register their device in one of our provisioning profiles to use a service such as Crashlytics.
Can the iOS Developer Enterprise Program achieve this? If we build an app using the enterprise provisioning profile would anyone with a link to the .ipa be able to install this app on their iPhone?
Using enterprise profile you don't need to add UDID of devices in it, you can make build using it and achieve from XCode. Then it can be installed in any iOS device.
TestFlight is integrated in iTunesConnect, so you can use iTunesConnect for managing a BetaCommunity. Advantage is that you keep better control as the apps expire after 30 days.
If you deploy apps build with enterprise certificate you can not prevent abuse ... everyone in the world can install these ipa-files.

AirWatch MDM with Xamarin ipa

We are currently adding some mobile applications built using Xamarin.iOS to our AirWatch MDM entreprise store. Unfortunately it doesn't behave as it should: we trigger the download on the device, it downloads the app but it doesn't install on the device. We checked the device logs and we seem to have an issue with profile or code signing.
Have other persons already used Xamarin.iOS with AirWatch MDM?
If yes, then how do you build your ipa file? Currently we build them for armv7+armv7s, with all assemblies linked, using LLVM and we build using AppStore mode.
When we build the app in AdHoc mode with UDIDs in the provisioning profile and add it through iTunes then it is installing and running fine.
Maybe it is necessary to go the AdHoc way, with this ipa file, with all UDIDs referenced, or, we should go the InHouse way? https://developer.apple.com/programs/ios/enterprise/
I haven't used AirWatch but I do currently use the Enterprise program (with ad-hoc builds) for internal company apps. I had the same issue when I tried using the wrong provisioning profile when signing the application.
Yes I have been using Xamarin with Airwatch for two years. I have no problem deploying applications to the field. I routinely provide updates for the programs and in most cases they are 100% deployed in a matter of a couple of days. The majority of the last forced deployment completed in less than 8 hours.
It sounds like it might be the way you are uploading the application into Airwatch. Are you requiring something that is not on the user's device such as a passcode?
I have about 240 IOS devices deployed with a mixture of OS (6.0 - 8). I do not build the apps for the AppStore. I can see where that could be an issue with the deployment methodology. When you deploy via IPA in Airwatch, it is assuming you are deploying enterprise applications. When I deploy an AppStore program I use the catalog and they install via the AppStore.
Our IPA's work either via iTunes or through Airwatch. Let me know if I can be of any further assistance.

My iOS app just working on my developer devices other phones can't install(Phonegap)

My iOS app just working on my developer devices other phones can't install I'm using phonegap. Other devices can download but when install get full its sticking in install. I think Problem in the Provesion or certificate.
If you haven't added the other devices to your provisioning profile, you will need to.
Also, take a look at TestFlightApp.com to help with the app distribution process during testing.
You need to add all devices you want to test on into provisioning profile you are using.
Here is a good answer how to do it:
How do I add a device to my provisioning profile?
You have to keep list of devices you are using for development only during development phase.
Apple is protecting themselves from you publishing application outside Appstore.
For submitting app to Appstore you need to use Distribution certificated - than everyone can install it - but only when downloading from Appstore - you won't be able to install that build outside Appstore flow.
During development you are only allowed to add up to 100 devices on your account. On enterprise account however there is an option to release "in-house" build - which allows you to install app on many devices - but you are not allowed to use that to distribute an app.

How does TestFlight do it?

TestFlight offers over-the-air beta distribution of iOS apps (on non-jailbroken devices). How can this be done? Is this an iOS feature, or a vulnerability exploit?
This article showed how Apples OTA implementation works and can be used outside enterprises as well: ios wireless app distribution
The complete process is documented by Apple.
Apple also published documentation and sample code for registering devices and get the UDID by using profiles, so your website can detect which device is calling.
Some additional solutions with different strenghts:
iOS Beta Builder, a Mac Application to create the website by using a build. Simply upload the resulting files to your webserver.
Diawi: Simple Web service. Upload your IPA file, optionally set a password and send a link to your testers.
AppSendr: Web service for beta build hosting, similar to Testflight, but does not include the device registration process. But provides deployment utilities to automatically upload new versions.
HockeyKit: Open source project for hosting beta versions on your own PHP5 server with additional functionalities like an client for In-App-Updates, automatic device specific web sites and handling multiple applications. Completely file and directory based.
HockeyApp: Web Service for beta build hosting, In-App-Updates, Statistics, and including device registration, invite and recruitment. Also provides server side crash report collection, symbolication (for all threads) and crash grouping for beta and app store apps (iOS + Mac). SDKs are open source, using HockeyKit, QuincyKit and PLCrashReporter (which is the only safe solution on how to do crash report collection on iOS, see this article.
Note: I am the main developer of HockeyKit and QuincyKit, and one of the developers of HockeyApp.
This was possible before TestFlight rolled out a service. The technique stemmed out of the enterprise distribution mechanism. Since 4.0 devices have supported install from web.
Remember - you still need to sign the beta distribution for a select set of UDIDs you can't just willy nilly install it on any device. All they are doing is taking the email the IPA step out of things.
See:
http://www.alexcurylo.com/blog/2010/08/27/wireless-ad-hoc-distribution/
Update: I want to say that Test Flight is one of the most helpful tools I've used when developing though. Just taking the IPA emailing out of the picture was an understatement- I was just trying to call out the technical mechanism. They do a fantastic job managing the whole beta process. Getting new devices enrolled. Notifying users etc.
Testflight basically uses the normal Ad Hoc as already stated.
For this to work, you need the UDID for every device in order to add it to the Ad Hoc profile, re-compile the app with the new profile an redistribute the new build.
You can get the UDID with the help of the OTA Authentication Request. This is actually a step that is done in MDM before the actual profile is rolled out to the device. It basically asks the device for further information about itself and send it back to a self specified server.
The first step is documented here: Apple OTA Configuration
I guess Testflight uses this right after the registration process to collect the UDID, phone name, ...
Yes this is a core feature of iOS for Enterprise Customers who wish to distribute OTA.
Presumably you would pass your UDID over to TestFlight along with the app and they use their Enterprise Licence to send the app to you. I'm sure I'm missing a lot of the technical details but if you want to know more, Apple has a video on this from WWDC 2010.
Login to developer.apple.com, go to WWDC 2010 Videos and use the link to get to the vidoes. The video you want is "Session 108 - Managing Mobile Devices". It is very informative about what is possible with OTA and the steps you have to take to do OTA provisioning.
Stock iOS devices are "vulnerable" to running the user loading Ad Hoc apps from any developer who has that device's UDID, and registers that UDID among their 100 allowed devices on Apple's developer portal.
OTA distribution is just another way to install an Ad Hoc beta test distribution from an enrolled developer.

Resources