Best practice to build IOS app with restricted access - ipad

they asked me to build an iPad app for a clothes company, the client asked to have the application available only to resellers:
Since I think it is not possible to submit on the app store an app with usage restriction only to few allowed people, I thought about different options:
Bulding an app with some general info accessible by anyone,
and adding a password protected section only for resellers.
Building a password protected web app
What do you think is the best solution?
I've got some doubts about both:
Are Apple reviewers going to approve an app with some password protected content?
Do I need to provide apple the password to access prices information?
If I build a web app, is there a way to cache data to allow the content be accessed when offline? (I noticed that when the iPad is rebooted web app data get lost)
Thanks
Giuseppe

It is likely that such an app will be rejected from the app store because it is for a 'limited audience.'
But, you don't have to release it on the app store, you can instead develop an enterprise app which you can then only make available to your company employees and resellers. You are free to restrict distribution of this app to whomever you want or password protect it as you wish -- in any case it won't be available for download via general app store routes, but your company could make it available on a 'reseller-only' portion of their website for example.
Depending on how complicated you want the app to be, doing a website is another option. You are allowed a limited amount of persistent local storage in a sqlite database (one of the new features of html5), if the app is simple enough, this should work for you.

If the app can have enough general utility (maps to the nearest resellers, for instance), you can submit it to the App store with a demo account (which can have dummy data) for the password protected features.
But a web app that can be turned into a web clipping (custom icon, etc.) for a password protected site is another very good option.

Related

Create e-book standalone app in the iOS App Store - Free with external access code

I'm a long time iOS developer and i've been out of the domain for a while now,
I've been assigned a new task in which i need to check whether it's doable on the appStore or not.
My aim is to create an e-book like application, where the user downloads the app for free from the appStore, and is requested to enter an access code provided separately outside the appStore.
So the app can be free on the store, and once opened an external ajax/php request will take place to authenticate the user.
Previously, apple forbid this kind of transaction, i am checking now to see if this situation changed or/and is now approved by apple.
Many Thanks!

Submit app to App Store with password protection

I recently updated an app for a client and it's now ready for submission to the App Store. But after a talk with my client they told me that the previous version (not developed or submitted by me) had a kind of "password protection" on the App Store. They explained it as anyone could find the app on App Store but when you click "download" the user would need to enter a password (not the Apple ID password, more of a predefined password specifically for this app) to continue the download process.
I am used to submitting apps to the App Store, both paid and free, but I have never done this and don't honestly know how. My closest guess is that we need to upgrade the plan to an enterprise account, but from my understanding (and please correct me if I'm wrong) this will remove the app from the App Store search and only allow download from a link or file?
What way would you guys recommend?
Thanks in advance!
There's no recommendation.
What you think and whatever is running in your mind is completely correct. There's no way to set custom download passwords. The only way to download using appstore is to use the apple id.
Point your client to the apple guidelines and documentation's. Hopefully they should understand.
Very nice concern from security point of view but unfortunately Apple has not provided any such feature yet...
An alternate solution to your query:
You can't block user from downloading your app but you can block user from using you app with the help of AppLock feature (One time password authentication - when user uses your app for first time).
Set a Passcode/Pattern protected lock screen as a first/main screen of your application (immediately after Splash Scree) and only users can unlock your app, to whom you've shared passcode. (Note: Integrate passcode verification using web service/server, so you can reset passcode any time from server)
I hope this may be helpful to you...
Update
Here is more option, if you want to allow/restrict your app usage for specific region/country (listed on Store).
Distribute iOS app for specific region/territory

Can an iOS app be available to public but on a limited basis?

One of my clients needs an app that can be visible to anyone on the app store but not necessarily accessed by anyone? For example: It can be accessed by only those people who are attending a seminar or meeting.
How can we achieve this? Any idea or suggestions.
Is there a way to create this kind of app with restricted access?
Have you seen any app like this on Apple Store? if yes, please provide app name or link.
Will Apple approve this kind of application?
You can't put it in the app store and limit it to only certain people. If it's in the store, it can be downloaded by anyone who has access to the store. There are a couple of possibilities that might work, though:
If you have (or can get) an enterprise license, you can distribute the app yourself outside of the app store. It won't be in the app store, but you can restrict access.
Put the app in the app store but require login credentials to access some or all of the app's functionality. A common approach is that without logging in, people can see whatever is on the event's public web site. Attendee-only features require login. Of course this adds the complexity of managing logins. You would probably need to provide Apple with login credentials during app submission.

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).

Submitting beta iPhone app to store

My company is working on a dynamic mobile app that updates the look and appearance based on webcalls and we would like to be able to test that it would be able to get into the store okay. For the time being we have used the code to create an interal company app where the initial screen is a logon screen where the users log in with their company usernames and passwords. There are only about 20 people in the company that will be using this app for the beta release and the app logon is only available to members of the company.
We want to have this test release to first ensure that the app gets into the appstore and secondly to get a feel for the app review process. Would this type of app be allowed into the store? Or due to its limited user group, would they reject it? Also would apple need to be given a test username/pass to login to the company website itself to check how the app runs?
Any information regarding this issue would be very helpful!!
From the App Store Review Guidelines (developer account required):
If your App looks like it was cobbled together in a few days, or
you're trying to get your first practice App into the store to impress
your friends, please brace yourself for rejection. We have lots of
serious developers who don't want their quality Apps to be surrounded
by amateur hour.
and
2.9 Apps that are "beta", "demo", "trial", or "test" versions will be rejected
Finally, yes, you are required to provide a "demo account" if a login is required to use the entirety of your application.
Regarding your small user base, your application may not be accepted if it will only be used by 20 or so people (as stated in the comments). The iOS Enterprise Program is intended for in-house distribution (a small and limited user base).
2.22 Apps that arbitrarily restrict which users may use the app ... may be rejected
I have worked for a company that did release apps that were secured by a login screen. All you need to do to get it into the app store is provide Apple with a proper login so that they may test the functionality of the app themselves. When updating the metadata for your app in iTunes Connect, there is a section for testing notes, simply put your test username/password in there for apple to use.
One way they can reject an app is guideline 2.12: "We found that the features and/or content of your app were not useful or entertaining enough, or your app did not appeal to a broad enough audience, to be in compliance with the App Store Review Guidelines." If you're concerned about whether or not your app can get to the store, then there is no real problem in just submitting it. Just don't call it a beta test version because they will reject it. If you want, you can always change the release date of the app to a future date once it passes, and then the app will still not be available to all until that future date is reached. And yes you should provide them with a user name

Resources