How can I distribute an iOS app to 50k users by invitation only? - ios

I have a client who wants to deliver the app to 50k specific users, at start. Then he wants to go public with the app after some time. However, this could not be seen by users as beta testing, since it's just an "exclusive" earlier possibility to access the app, not tests.
We know these users since they are a part of other service users group. We will probably create accounts for them and distribute login/one-time-passwords by invitation or give them the possibility to log in with credentials from the other service.
I've been searching for the solution (e.g. https://www.knowband.com/blog/mobile-app/share-ios-app-without-publishing-on-apple-app-store/) but still, I'm not sure which way to go. We're still in the middle of development so we can provide a possible solution and even make changes in the onboarding/login process. But we have to have a decision on this matter.
From possible solutions:
AppStore - we would not give the possibility to register in the app and just people with credentials could log in. But is it even possible with an iOS app and not be rejected by Apple? I know that many apps don't have registration within the app (e.g. banking apps) - how do they do that? They just say that registration is available only on some www/in person at the bank and you receive credentials to your account somewhere else?
Enterprise distribution - this is probably not possible since users won't be employees of my client. These are regular people.
VPP - I've heard about it recently and never tried it but isn't it just a "simpler" Enterprise solution and shouldn't users be also employees of my client? Can VPP apps be changed to regular AppStore apps afterwards?
I think right now option 1 seem the most possible one since the app will be distributed to all the users after some time (we will add registration then). Any ideas on the matter? How can we not be rejected using solution 1 during a review?

Solution 1 is possible, you provide apple with certs in App Store connect when you submit to the store. Specifically the field 'Sign-in required'
I would do that, it's got very little time overhead as compared to the other two.

Related

Distribution of an iOS app outside Appstore but to public users

We have built an iOS app for another company as a partnership. The tricky part comes now.
The end users are unknown to us from a device perspective but we have knowledge about their ssn for example. This is due to the fact that only registered users are allowed to log in.
This complicates things for us when we soon need to have these apps deployed. Since we cant now for sure when new users will be added to our DB we need to be able to distribute this publicly...
But apple see this as a B2B and has therefore declined us access to appstore.
Any suggestions?

Private set of users for iOS App

I would like to create an iOS App for a limited set of people.
It should be possible to download the app for free from App Store, but in order to use it
the idea is that you are required to be a member of the organization, which in this case is a local sports organization.
To solve the problem I thought of giving away activation keys to members that can be entered when they create an account, and therefore only members will be using the app.
Will the app be rejected by App Store? If so, is it possible to go around this in some away?
Thanks.
No you will not be rejected by the App Store.
During the review you will only need to give the access to demo account.
Your app will be available to anyone but you are free to give the credential to any person you want.
edit
Fyi I have such apps. The AppStore only block 'discriminating' app based on carrier or location (you can choose the countries anyway), but you are perfectly in the rules if you give access only to your clients...
edit edit
2.22 like I said is against arbitrary criterias, not linked to the login mechanism
for 11.1 and so on, I understand the point, but in my case (and I think yours) there is no problem if
you sell your service before, the app is just complimentary
you dont sell anything within the app
you dont charge for the app itself or anything within the app, you charge only the use of the server/back office/whatsoever
I guess that Apple dont care, they just don't want to bypass the applestore but I dont think that it is your case.
You should try Enterprise distribution for such purpose.
Yes your app may be rejected. Check the App Store Review Guidelines. In 2.2 it says
Apps that arbitrarily restrict which users may use the App, such as by location or carrier, may be rejected
There are different alternatives.
You can opt in for the Apple Developer Enterprise Program, this'll cost you 300$ a year and requires you to be a legal entity.
If you want to test it with a limited number of people (<1000) try looking into Testflight it was bought by Apple and is deeply integrated in the development process.
No, there will not. You need to to give some demo account info as test data to review while submitting to app store in the iTunes Connect portal.
Demo use case(worked for me): Implementation is like, there need some userid/unique pin to the registered account holders to start the application. At the time they input this pin, authenticate the user with our server and give the permission to let in to the app.
Otherwise you need to go for enterprise distribution. Find more about enterprise distribution here.

Which way to distribute iPad app

We're a small company and have developed an iPad app we would like to give to our customers. I've read through the B2B option but don't like our customers having to register their DUN info with Apple.
Should I just load it in the App store and put in the description that it's a private App? It requires a login so it doesn't matter if other folks download it.
Currently, we're using it in house via the internal tester scenario.
No one but Apple can say for certain what Apple will do in any specific case, but your description suggests it will be rejected.
From Apple's App Review Guidelines (https://developer.apple.com/app-store/review/guidelines/):
17.2: Apps that require users to share personal information, such as email address and date of birth, in order to function will be rejected
If you don't have a base functionality that applies to the general public, you will, in all likelihood, need to go Enterprise delivery.
Distributing publicly might be the best option, but I don't think you would get an approval if you describe it as a private app in your description.
Without knowing too much about your business or the nature of your app, it's hard to suggest, but possibly you could add some public usefulness on the front-end of your app, even if that's business info, contact information, a news feed, etc... with the real intent of the app being tucked behind a login portal. (all total speculation).
Distributing the app outside of the app store has a lot of limitations as well: http://mobiledan.net/2012/03/02/5-options-for-distributing-ios-apps-to-a-limited-audience-legally/
I would just submit to the app store and see what happens. Apple may reject it, but that is true in any case. I have an app of this nature, submitted with a couple of test accounts, no problem getting it approved. When the app launches, it pops a logon screen, and has a short message about where to get an account (which won't make much sense to people not in the intended audience).

Do contract/vendor developers need to be added to your developer account

I work with a lot of contractors and vendors for mobile app development. They usually ask me to add them to my account and add their device IDs. If they have their own Apple Developer account, I don't think this is necessary. Are they be able to just use their own while developing?
We have an Enterprise account with Apple. We don't do the whole UDID exchange thing for test builds. We build for Enterprise distribution. (We do that because we have hundreds of test devices in geographically disperse locations.) I do give them those signing credentials. Is that enough for a developer to work with?
We deploy the apps ourselves so they don't need credentials for that. They can send us archives to sign.
it really depends on what you want. Truly the developers id should be put under the company account for them to push and also do different security signing measures or app to app talking. However for the rather simple applications this is not necessary maybe around 70% of the time. Something else to think about is who is doing deployment, if you are having a developer or contractor do it for you then absolutely they need your account credentials. As for the device IDs there is no getting around that. You need to add their devices or buy them some because otherwise they are stuck developing on the simulator which does not at all simulate how the application will behave in real life for various reasons.
Hope this helps.
As long as you are responsible for submitting the app to the app store I can't think of a technical reason why developers should be unable to contribute to your app without being invited to join your developer program.
There may however be other concerns or limitations. For example being granted access as a "Member" role is a good way to confirm that you, the client, have accepted Apple's license agreements around pre-release software. Using a certificate issued by your organization to sign builds may also reduce the need to juggle app ids, particularly when testing in-app purchases, and therefore reduce the chance of mistakenly checking in such changes and confusing the team.

change ownership of Personal Apple Developer account

I hope somebody can help here, its an ongoing issue with no obvious solution.
The background
I created my own personal apple developer account back in 2010 to tinker about with iOS development. The company I worked for at that time asked me to write an app as a test to see if we could a) write an app and b) sell it. It so happens both cases were true and the app has flourished into a successful venture.
The issue:
I am leaving this company and we are trying to figure out how I can give them this app, they did after all still pay a salary while I was making the app so I consider it their app really only its tied to me and my personal developer license. I currently forward any funds it makes to them each month.
We contacted Apple and they suggested the company i work for set up a company developer account and then ask for an app transfer. This sounded great and we started the process but then it occurred to me that re-signing the app under a different developer license would effectively kill the existing app on the store. All our ratings would be wiped (and there are quite a few) which is unacceptable. The ratings of an App are extremely important to its success on the store. Apple confirmed that the ratings and reviews do not get transferred across. We stopped.
So, here I am at this block again.
The company I work for even suggested buying my personal account off me so they can run it themselves but I am worried about this, it seems fraudulent as I am the one responsible for contracts on that account and any issue would come back to me. THey wouldn't be able to change the owner "name" on the account either from what I have read.
Any suggestions how we can resolve this?
Thanks
Geoff
it occurred to me that re-signing the app under a different developer license would effectively kill the existing app on the store.
This is false. As long as you transfer the app like Apple suggests (you need to contact them for this), the company just needs to submit a new version from their account and it will work. You don't lose your ratings, nothing. It all gets transferred to the new account including the iTunes Connect side of things. They can sign it with a different certificate and submit. As long as the app ID is the same as before (which it will be), there is no problem.
It sounds like you have old or inaccurate information, because I know somebody who did a transfer like this, and they kept all the ratings etc.
I have faced this same issue, after contacting apple several times, we concluded that there was not other choice, so we removed the app and re uploaded it a gain on the other account
Not only the rating has been wiped, but also users with old app will not be able to update it when you push a new version to the app store
Its a very tough decision, but we had no other choice

Resources