Distribute Enterprise app in house - ios

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.

Related

Sending Apps for Testing - Enterprise Account

I have an enterprise account. I can test apps on my device from XCode. How do I send apps to other people to test?
I believe TestFlight is not available for enterprise accounts. A long time ago, ipa files used to be the way to go. With ITunes being replaced by the Music app on the Mac, the ipa file route no longer seems possible.
I couldn't find any information either on Stack Overflow or on Apple's documentations. Thanks in advance for any suggestions.
You can use over-the-air installation, by uploading the ipa and Manifest.plist to a server and letting the users install the app using an install link like itms-services://?action=download-manifest&url=Manifest.plist . (See this tutorial for example.)
But it's probably easier to use a 3rd party deployment service instead, like Bitwise, HockeyApp, Firebase, etc.

can I distribute my iOS app to a few people for testing without having a developer account

I have not renewed my developer account since I am just developing an app for a school project. I want to distribute my app to a few folks to get some test-feedback (I think there will be lots of bugs, crashes and other issues detected even if 5-10 friends/family use it and provide feedback).
Since I don't plan to publish this on the app store but use it just to improve my app development skills, I want to distribute the app using appaloosa instead of paying the $99 developer account fee to use TestFlight.
This requires uploading an ipa file. I tried following steps in other posts but I am stuck at the step where they ask to "select the archived app and hit 'Share'". I don see any Share button when I select the archived app.
Is it possible to create the ipa file without a developer account? if yes, how is this done? Also, after creating the ipa file and uploading it to appaloosa, will things just work or are there any other gotchas?
Can someone share a screenshot of how creating the .ipa from the archived file would look like? Maybe I'm overlooking the share button?
No, you can only test on your own device for free. Any other distribution requires a Developer Account.
It is indeed possible. You can create the .ipa by using the method shown in How to create ipa in xcode 6 without Apple Developer account?. The second method (of creating empty Payload folder") is what worked for me. I then renamed the compressed file to .ipa instead of Payload.zip and uploaded to appaloosa. I just successfully installed it on multiple devices and they work! Now I'm ready to get some real user feedback. How awesome is that!

Make installation link for enterprise iOS app

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.

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.

How do third party iOS AppStores (tongbu,sibche, etc.) sign & install Apps?

I've recently evidenced a set of third party illegal appstores that re-distibute iOS apps. These online stores are able to install free Appstore apps (i.e. Facebook, Google Map, etc.) or their own apps on non-jailbroken devices. Regarding the fact that Apple forbids third-party stores, I just want to know how these apps are signed to be installed on Apple devices? Does these Apps first jailbreak the device?
Does apple allow changing/updating the Signature of an app?
Update:
It seems that these Apps are installed on the device by a certificate generated by an enterprise developer license, so it can be installed on any device without any limitations. But I cannot understand how these AppStores install those Apps that are available on Apple AppStore, like Facebook !!!
Update 2:
Is it possible to get the .ipa file of an application hosted on AppStore? i.e. Facebook? If possible, can it be resigned?
Update 3:
These are the certificates installed. Obviously one of them is fake, unverified but at the same time can install apps without the need to jailbreak.
Update 4
I think the Q/A at this link on SO does not reply to my Q as well. If the tongbu signs the apps using an enterprise license, is it really possible to get an enterprise license for each app?
The apps are most likely re-signed with the developers (person creating these so called "cracked apps" own distribution certificate. They will purchase the real app, extract the IPA file, and then re-sign it. These legally signed apps are then uploaded to a website and then downloaded by the user or distributed by some other means. iOS treats these like regular signed apps and doesn't check with the App Store because they were never uploaded. This allows downloading of cracked apps on a non-jailbroken iDevice. Jailbreaking eliminates the need for code-signing. The distribution certificate is normally used for companies wanting to distribute an app designed specifically for their working environment with no need to upload to the App Store. Distributing and using a developer's certificate in this way of making cracked apps of course violates Apple's policies and those certificates will be voided as soon as Apple finds out but that can take a very long time.
EDIT: There seems to be some confusion as to how App Store apps are being installed for free on devices. This process requires jailbreaking but only to create the ipa, installing it is done automatically on the device by iOS. Whoever is uploading the apps goes through this process:
They first download the target app from the app store and install it on their device.
They then copy over the .app from their iDevice to their computer through various file explorers or other means.
They create a folder called Payload and put the .app inside.
They zip up the Payload folder
They rename the zipped file with a .ipa extension.
This .ipa file is then resigned with a distribution certificate through iResign or terminal and then uploaded to the internet.
When a user downloads a .ipa file, iOS automatically installs it if it was signed correctly.
I hope this clears up any confusion. Also, if they are uploading their own app they made in xcode, they can simply use xcode to do it by archiving it first (Product>Archive) with their distribution certificate and Ad-hoc provisioning profile selected to code-sign then opening organizer, going to archives and clicking distribute. Finally they choose Save for enterprise or Ad-Hoc Deployment which automatically makes an ipa ready for upload.

Resources