How to distribute internal App w/o Enterprise Account? - ios

We had an internal app distributed as .ipa file signed with an Apples Developer Enterprise Account for our employees for years, suddenly Apple refused to extend the account and forced as to re-apply and is so blocking our business for months now.
App is still working, but APNS is not, also no updates are possible currently and I'm afraid, the app will stop working at all soon.
Although we match all requirements Apple states for Developer Enterprise Account 100% and I spend hours on filling out forms an answering phone calls from Apple, they denied account creation twice without any real reason - just "not eligible"
Some numbers:
900-1000 users/phones
APNS in usage
background location tracking enabled and needed
Is there any other way to distribute our app? As far as I see, there are these possibilities:
Enterprise & ad-hoc/in-house via .ipa: Best - doesn't work anymore because of denied account
App Store: It's not build for that, even as "unlisted" app we get denied over and over because it doesn't follow Apple's guidelines (as it's just an internal app and was never designed for App Store)
Test flight: Also Review needed, so would be denied too - also we would need to re-install every 90 days
Regular Dev Account & ad-hoc via .ipa: Used device UUIDs need to be managed - will not work for up to 1000 devices
Regular Dev Account & firebase distribuation: Same as above
Any other chance?
We're currently thinking about re-creating it for Android, where this is much easier - Apple is really really blocking our business currently.

Related

How Long Will An iOS 8 app Continue To Function On Device Installed By Xcode?

I am relatively new to iOS development. I have recently acquired an Individual Apple Developers Account so I can test an app I developed for an individual in my community on his own tablet.
After disconnecting the USB cable I found that the app continues to function. According to this stackoverflow post I have gathered that I have either 9 or 12 months to get feedback from the user of the app and smooth off the rough edges and add some more features before I have to upload the app to the App-Store.
I wasn't actually interested in marketing the app through the App-Store. I developed it for the learning experience it would provide -- and it was definitely an excellent learning experience. I fail to understand why people cannot develop their own apps and upload them their own devices and bypass the App-Store.
Could someone provide some clarity on this?
I think it's for security reasons that Apple prevents direct installation to prevent unauthorized / malicious software to be widespread and some developers who didn't like this idea broke that security barrier and called it "jailbreaking."
However, this voids your device warranty (most likely if you bring a jailbroken phone to an Apple Store).
Apple probably doesnt want people to bypass the app store, otherwise you could have sketchy apps floating around that didnt get vetted by Apple. and you dont have to upload to the app store, its just your provisioning profile that signed the app that you installed to your device would have expired and then it wouldnt run anymore, so would need to reinstall it to the device with an updated provisioning profile (which could require you to renew your developer licence, if thats what you are worried about)

How can I privately host an Iphone application on the appstore?

I've recently developed an application for the place that I work, and they many colleagues would like to use it.
These colleagues live miles away, and my research has told me it's very hard/impossible to load iPhone apps onto a non-jailbroken device.
So I would like to know if it is possible to put an app on the appstore for free, but only allow people with login credentials to access it or something?
Probably it is not so hard as you thought. You can use over the air distribution, without upload app to AppStore. You can find lots of useful info here.
Register an Apple ID (Or you already have one)
Join the Apple Developer Program (Cost you $99 every year)
Archive your app using AdHoc certificate, every device registered in the provisioning profile will be able to install the app
You can use iTunes Connect and keep your app in preview version or beta version. You can also add 1000 external users for your app and 25 internal users.
Internal users will get update just after you upload new build of your app and external will get after beta review. You just need users name and email This would be helpful for you.

iOS: distribute app for enterprise customer's employees

We're developing an app for an enterprise customer (approx. 1500 of its users are going to use it). At the moment the most likely way we're going to charge them is on a per-usage basis (every time an employee uses the app, we get a small amount), so it's important that the app is distributed only among employees. I'm considering using iOS Developer Enterprise Program ( https://developer.apple.com/programs/ios/enterprise/ ) or releasing an app via a regular iTunes Store with some basic marketing functionality and then letting users to log in and use the real functionality the customer is paying for.
Edit: perhaps the B2B Volume Purchase Program ( https://developer.apple.com/programs/volume/b2b/ ) is the answer?
Are there any other possibilities?
What's the most convenient way of distributing such app?
If I go with iOS Dev Enterprise Program, who should create the account? Us or them? (I'm betting the latter).
I'm pretty sure your per-usage model is against Apple's Ts&Cs in any deployment space (B2B, App Store, etc). I'm also fairly confident that deploying through the App Store will get you flagged eventually when they dive into your code. Either of those deployment models is going to get you shut down and your Enterprise Cert revoked if they ever catch on. Either way you likely want to have someone fluent with legalese look at what you're attempting to do.
The point of using B2B to circumvent the App Store is to allow you to provide a private deployment of an app at a minimal cost without supplying source code. To that point the customer should be the one maintaining the Enterprise account. You would join their account as a Member, compile the code using one of their dev certs and dev provisioning profiles, supply the customer with the .XCArchive file and they can re-sign it with their Enterprise Cert. It's a pretty streamlined process.
The Enterprise Developer program is convenient because you don't need to go through the store review process. Just put up new builds for installation from your own www site. The enterprise whose employees will be using the app needs to get the license. They will need a DUNS number and the application process may take a week or so. They may get a phone call from Apple to verify their intentions and eligibility.

iOS - Can iOS app be deployed for internal company user only

Is it possible to deploy an APP to apple app store, but only allow internal company user to download the APP by their own? Thanks.
Yes it is possible with Apple Enterprise Developer Program.
The Apple Developer Enterprise Program allows large organizations to develop and deploy proprietary, internal-use apps to their employees. This program is for specific use cases that require private distribution directly to employees using secure internal systems or through a Mobile Device Management solution.
Just to augment what others have said there. The Enterprise program is what you want. It allows you to distribute your app to as many devices as you like. But as it's not going through the Apple app store, you will have to work out how you want to do it. There are third party servers out there for doing this sort of thing.
You can also simply "roll your own" by simply creating a web page on your LAN with a like to the downloadable app. The Apple documentation has the details on doing that.
Also note one difference between an Enterprise app and a app store app, is that the Enterprise app certificates will need to be renewed every year. Which means that you will need to update the app every year or it will stop working.

Release an iOS app but not through itunes

I was asked to do a recruitment app that will recruit people for the company, so of course it will be free. When I released it, it got rejected for being very basic.
Now the client want to just release it through their site if apple don't want to accept it.
I know how to create the .ipa file through adhoc disribution which is what I use to give them copy and test it by putting it on a test site so that they can download it on their iphones.
But this is only for testing purposes, only the phones registered as devices on the dev account can download the file successfully.
So is it possible to release an app that will be used by users successfully without submitting it to apple?
With an Enterprise account you can more or less host your own private app store for an unlimited amount of devices and distribute in-house without Apple.
With a Developer account you can run ad-hoc installs via TestFlight or comparable services for up to 100 devices.
The new iTunes TestFlight integration announed at WWDC14 allows for 1000 devices.
The only solution that will look truly professional is the Enterprise App Store and it requires you to have a DUNS and an approval from Apple, but generally with a DUNS you're set. It's $299 instead of $99, but that's not so much money for most companies that have a DUNS. Also you can't use that account for publishing apps to the public App Store.
In general, yes it is possible: you can release an enterprise app outside the app store, provided that your company has the requisite enterprise agreement.
However, this is intended for internal use, and while I haven't read the agreement myself, I believe that distribution to the public at large would likely be in breach. (EDIT: As Zaph points out, this is in fact explicitly disallowed.)
The situation you're describing would fall outside this.
Moreover, from a user experience standpoint, it's unreasonable to expect prospective employees to download an application from outside the app store.
This is not only technically difficult for a lot of people, but it would look incredibly unprofessional, which is the opposite of what you're after in a recruitment app.
No. Apple restricts the apps available to users only to those on App Store.
(Actually, not 100% true - you could release the app on Cydia and target only jailbroken phones, but I suspect this is not what you mean to do.)
Alternately, make a web application, using JavaScript/HTML/CSS. Anyone can use a web application, it can be installed on the launcher screen, and it does not require App Store, just a web server somewhere. If you need persistence, you might also want to look into manifest files and offline apps. Especially if your app is basic, you can make it look and feel almost as a native app using one of the very nice web frameworks such as jQuery Touch.
However, you might just leave it as a webpage - why would you restrict your recruitment pool only to people willing to install your app?
tl;dr: You can't release an ObjC app except on AppStore.
There are already multiple answers to this question, probably because it is not specific enough.
Let's gather all the information that's necessary here:
If you want an app for a company (given that you recruited people through the app, i.e. people who used the app would join the company), you should use the Enterprise Program.
If the app is meant for the general public (in this case, possibly, you would like the app as a branding, promoting app for the company), you cannot use the Enterprise account, since it violates Apple's terms. As an example, see this funny case: http://www.imore.com/how-gameboy-emulator-finding-its-way-non-jailbroken-devices
AdHoc and TestFlight should not be used for a release app. AdHoc only is meant to be used for testing purposes. Introducing non-developer related devices into your AdHoc profile would mean termination of your dev account (e.g. this aggressive and also funny case: http://www.intomobile.com/2012/07/09/apple-goes-after-sites-selling-activations-ios-6-beta/).
Finally, two interesting notes:
There is no limit to the number of devices in an Enterprise Program app. It's not 1K, at least the information out there says the opposite (e.g. the case with the link in 1). The 1k device limit will be for beta testers with TestFlight (according to http://www.neglectedpotential.com/2014/06/testflight/).
An Enterprise account cannot publish apps to the public on the AppStore (see this FAQ: https://developer.apple.com/support/ios/enterprise.html -if it doesn't work, you can load the cached version from Google, etc.). Thanks to Departamento B for this information I didn't know about.

Resources