I am making a small app for my colleagues and myself that will contain some calculation tools some manuals and some drawings...
I would want them to be able to download the app from the apple store but since we do not want anyone to have access to the information in the app, I would like only the people with a password to be able to open it and use it.
I don't really want to go the adhoc way, some people are not particularly tech-savvy and I want to keep it as simple as possible...
Neither do I want to distribute the app through an enterprise account..
So is it possible to restrict the access of an app with a password stored locally?
Does Apple allow this?
Basically the first time the app opens, the user will be prompt a view with a password to enter, if he knows it then the app is somehow activated otherwise you can't open it....
I could recommend using TestFlight as a solution. I'm not sure if you're familiar with it but it is part of developer tools. You can give target people codes based on their iTunes account or their unique phone identifier.
If that helps at all let me know! :)
Although it is not clearly stated I think that your app could get rejected if people do not have a possibility to "create an account" and use your app.
An excerpt:
Also, remember that not everyone using your app has an account from
the start. Make sure you explain how to get one, or provide a simple
in-app way to sign up.
Here you can find some more information:
https://developer.apple.com/ios/human-interface-guidelines/interaction/authentication/
Related
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
I am building out a iOS & Android app. My app may not fully scale to support users and have some limited functionality out the gates. I wanted to put an invite list on the front of registration like Mailbox did a few years ago.
I was trying to read the Apple app store guidelines to creating a "waiting list / invite list" and couldn't get a clear picture. I assume Android is more flexible on this, so I figured I could start with Apple's guidelines first.
Here is what I can find.
In Apple's docs, it says under 3.2.2 "UnAcceptable"
(v) Arbitrarily restricting who may use the app, such as by location or carrier.
In this specific case, I am not blocking by location or carrier. I am just putting up a wall to use the app since some of my users can use it in a limited form, but I can't open it up to everyone on Day 1.
I understand I can run a "testflight" release, but I wanted to make our app available in the App Store for anyone to download since it will be publicly available, just not fully ready for a million people to hit it. My understanding is that the testflight release requires a bit more work based on their docs and isn't as simple as just putting it in the public app store so anyone can get to it.
Apple has the ultimate authority for approving and rejecting apps in their app store so nothing on SO can really be perfect advice. If you are really concerned about approval, you can try to contact apple developers support. Here are a few things I would advise:
Make sure in the developer notes for Apple when you submit to them you include a free account.
In the notes for the app store let the users know that it may take up to __ hours for their registration to get activated.
My understanding is you are doing this to handle the volume of users as you are launching the app. Be advised though that if you start restricting users too much you will possibly get poor reviews. Only restrict usage if absolutely required. If you run into issues make sure you are communicating with the users so they understand.
Good luck with you new 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.
The B2B program Apple has isn't available in my country and in looking for another way to give my apps to a business privately so that only that business or the people in it can use the app. I was wondering , is Apple ok with me putting a password on my app so that anyone can download it but only someone who knows the password can use it?
You're not allowed to publish an app that targets only a certain group of users, says the Apple guidelines for publishing on the app store. With that password restriction you're against that rule.
Now, that being said, you could buy an entreprise developer account and simply use the Over-the-Air system, if you're aware of how it works.
If not, look at my brief description here : https://stackoverflow.com/a/26043004/3603502
Problem:
I'm an app developer and my boss asked me how many times one of our iPhone apps was downloaded
What I tried so far:
Apple statistics:There seem to be only daily or weekly data. Furthermore, there seem to be no way to access download statistics from previous years.
Services like www.appannie.com:
This might work, but I don't really want to give them the email and password of our developer account.
Scraping the data automatically (See: automatically-download-sales-reports-from-itunes-connect):
I don't really want to spend time to set up and maintain such a system unless there is really no other solution.
My Question:
Is there a better way? How do other developer find out how many times their app was downloaded?
Services like www.appannie.com: This might work, but I don't really
want to give them the email and password of our developer account.
i use appAnnie, but i didn't gave them my "email and password of my developer account".
in ItunnesConnect apple site you can create a new account with JUST the privilege to see the reports of a single app, and nothing more
P.S.
This may be very useful in case you want to give access to a client or a developer partner to a single app statistics, as you can create a new appAnnie user with access to just an app.
Apple just updated https://itunesconnect.apple.com site you can adjust the date range in the middle of screen (using the slider) or by adjusting the dates on top left corner after navigating to sale and trends screen to see how many downloads you have had.
Well I use Flurry to track installs and session. But you will have to add the flurry to your project.
And We als use AppFigures to track real downloads, but as you stated you can only retrieve so far back as Apple allows it.
AppFigures will also require you to give them your ItunnesConnect account details.
The iTunes connect app has other selection methods, try it.
https://itunes.apple.com/us/app/itunes-connect-mobile/id376771144?mt=8
Services like www.appannie.com:
This might work, but I don't really want to give them the email and password of our developer account.
That, seems like a very good idea!
Why not hire a sales guy to count the numbers for you? But in all seriousness, I'd go with the scraping option. I believe that's the only viable solution for your problem until Apple comes up with an API.
I use AppFigures.com, As #meronix suggested create a new user with privileges you specify. AppFigures gives you daily reports emailed to you every morning, in addition to Nicely done graphs and an entire dashboard of information. I recommend!
Just for your information there is another services called mopapp, it supports several platform.