Iphone - clarification on app rejection guidelines - ios

I have a website which offers (FREE) account based services. Iam working on a iphone app for the site. Can somebody help me with these questions?
1) Registration: In my case, the app is meaningless without an account/registration (all free). There is a lot of chatter in the internet that apps that do not offer a "registration-free" experience will be rejected. (example : http://readitlaterlist.com/blog/2010/08/version-2-2-rejected-new-rejection-reason-from-apple-may-have-major-implications/) Thoughts?
2) Email Verification: On my website, a user has to "Verify his email" before he can login.
Basically, can I do this one time only thing in my app: (a) ask email -> register (b) ask user to copy verification token in email & paste in the app (c) Hit verify & let them inside the app upon success. Is this alright?
3) Is it against Apple's rules if the iphone app only supports existing users(who already signed up via website & have a user name password)? This way I need not worry about 1 & 2 for now & still have a full fledged app.
Please note that I have read the guidelines but still cannot come to a conclusion.
I am aware that "will Apple reject my app" - is a question nobody can answer
All I am looking for is your opinion based on your prior experiance & your interpretation of guidelines. Thanks much.
UPDATE: To all users who land here: Apple approved my app few weeks ago. All I did is explain(in review notes) that my app is truly account based & would be meaningless without an email. On my home screen, I have 2 buttons, "I have an account" & "Create an account". There is no registration free experience other than a series of graphics focused on "what is " & indirectly emphasizes that it is an account based appln. Apple seem to be convinced & approved the app the first go. Hope it helps.

I made an app that sounds very similar to yours. I host some websites that are basically forums (they require registration). So my app is an app that allows the user (once they have logged in) to read, post, edit profile etc. Without logging in they get nothing, they see a login screen/Signup button. Which takes them to a form to sign up, it then sends out an email and they approve it via the link it then allows them to login. So as you pointed out No one can really tell you if your app will be rejected or by apple, but my app was very similar to yours and made it through just fine. Also think about a service like Spotify, gmail, or facebook. They require the user to login/register before the app works at all. I believe these rejections dont come from the fact that they are requiring users to login, but they are making it difficult for them to login in or they did not have a website that this was tied to, they just want the user to login to use the app. Its a very fine line, and again apple will be the judge of this in the end.
*Apple very well could have changed this since I submitted my app, but this is just my experience.

In general this sounds fine. The most important piece of advice I can give you is to make sure that you create an account for the reviewers to use - use the 'review notes' box to give them a login and password so they can type it straight into the app. You'll probably get rejected if you don't do this (reviewers dont' have time to check out your site, sign up, wait for the email, click .. etc).
EDIT: Also you should ensure there's a link to the registration page on the web from the front-page of your app (or at least somewhere very obvious).

If your submitted iOS app requires email verification from within the app for the app to function, this sounds it could very likely be a strong reason for a rejection by Apple (apps are not allowed to require personal identifying information.)
If your app requires a pre-existing login/password, and you give Apple a pre-existing fully functional working login for review purposes, what any user has to do to get this login outside and before running your app may be outside Apple's purview (for instance, joining some club or professional organization, opening a bank account, etc.).
But the only way to know for sure is to submit an app for review by Apple.

Our empirical knowledge is that we had submitted a fully featured app with more then one reasen to get rejected. One of them was, of course, that we enclose a way to get balnce in the app without using the IAP (https://developer.apple.com/in-app-purchase/) from apple. That thing was a killer. I think, because of this feature, the reviewers told us even more reasons to get rejected. One was the signup button in the login screen. After we disabled the topup and the signup feature, the review was fine and we're happy and online. Since that rejection, over a year ago, we had never tried to enable signup and upload it again. Now, we'll do that and I will report here what is happaning...
Update #Ravi Jul 31 at 16:18
It's like what I said! We're now online with a singup button at the start screen of the app. Apple does not disallow it. FYI

Related

Application rejected - no demo account

I have an application with banking domain (UPI) the very first step or screen the user is presented with a button titled "SEND SMS" to login/register when user clicks on it, a SMS is send from the device using the MFMessageComposeViewController, and based on the mobile number the server respond with weather the user already exists or its a new registration.
Since this is obvious that a valid phone number is required to send SMS or use the application, I am unable to provide a demo account to them.
This is second release of the version, for the first release we have submitted the video of production application and it was live on Appstore, not only this app but I have submitted few other without a demo account but using a video, this time too I have submitted the video, still they ask for the demo account, I have tried to explain them whole process using telephone conversation but no luck. Also did asked them to use there own mobile number on their testing device but they refused to do so.
How can I move forward with this release?
I went through some similar question but didn't find any help.
Apple rejects app because test account not given (as App login via OTP only)
Is demo account mandatory for apple submission?
App meta data rejected , requires demo account.
Note: I don't have OTP functionality in my application, the only way to register is by sending the SMS.
In this annoying situation.
The fact is, generally you have to:
change your app, so that it does have a demo mode, which Apple can use.
It's a total pain in the ass but that's how it is.
Some points,
For example, you could have a "special" number (666-777-8888) which is entered. When that one is entered, the app unlocks and you can see how it works.
It is really bad luck when this happens. It's just one of the reviewers being an idiot. Sometimes if you just submit again it will sail through.
Note that you CAN IN FACT email them and explain the situation, they will give you special handling and they will "actually test it" with a phone number. However, of course this can take time, it takes a long time to get special handling. (Unless your app is already popular / well-known, then they will help you instantly. It's not fair but that's life.)
An important point is this: for the demo mode, note that you do not have to go overboard showing every feature. Apple's review process is a joke anyway. In 99.9% of cases they just glance at your app. If you do have to make an 'Apple demo mode', it's normal that the demo mode only has a few of your features. They are really just checking that it does not crash-upon-launch and that it generally works ok.
{Regarding the last point - indeed they only carefully review your app for policy problems etc once it is popular. This leads to the infuriating situation where controversial apps are approved at first, but then once they "actually look at it" they say you're not allowed to collect donations or use that payment model or whatever the case may be.}
Regarding having a "special demo" mode. It's a nuisance but sometimes you have to do this:
Have a URL like "yourCompany.com/DemoCheck.txt".
When the app launches, see if that exists.
If it does, allow "pain in the ass Apple demo mode"
Now, after apple approves it, in fact remove the URL from your web server, so your app now knows to run in normal consumer mode.
(Note that if you are using any sort of backend, which you probably are, you can do the same thing just using your back end. So just have a value in Firebase or whatever that indicates "Apple demo mode". Once the app goes to production, turn it off.)
Once again, if you're truly doing something important like "a banking app" you, obviously can't have a security hole like an idiotic "apple test version". In that case you can actually contact them and carefully explain the situation and they will, in fact, test it "properly" using a phone etc. But that takes a really long time and is just not practical - consider, you'd have to do that every single time. In practice you need a "apple demo mode".

App rejected because asking user registration (Guideline 5.1.1)

My app is a catalog of ebook-like content. Some of which are free to read, and some other are paid. I need to ask for user email / password to be able to retain the information of which content was successfuly completed, or until which chapter it was completed so the user can have his information synced accross all platforms.
However I got this rejection message :
Apps cannot require user registration prior to allowing access to app
content and features that are not associated specifically to the user.
Next Steps
User registration that requires the sharing of personal information
must be optional or tied to account-specific functionality.
To resolve this issue, please make it clear to the user that
registering will enable them to access the content from any of their
iOS devices and provide them a way to register at any time, if they
wish to later extend access to additional iOS devices.
Please note that although guideline 3.1.2 of the App Store Review
Guidelines requires an app to make subscription content available to
all the iOS devices owned by a single user, it is not appropriate to
force user registration to meet this requirement; such user
registration must be made optional.
Please resolve 5.1.1 issue and resubmit your revised binary to iTunes
Connect.
I am very surprised as I know apps such as Feedly which do not allow you to subscribe to RSS feed unless you create an account.
How should I get this problem solved ?
I have faced the similar rejection. As per the guide lines app is not supposed to force registration. So I ended up adding a skip button on the registration page. You need to add some content that users can view without registration. For example a user can preview a FREE book (maybe first page only) but can't read the full book without registration.
You can keep asking user for registration later when user is browsing the content.
There are some apps with forced registration and are available in AppStore like WhatsApp. But you need very strong arguments to convince Apple review team to consider and it's only possible if your app is really can't work without registration. In your case I don't think that's true.
For registration and login, your app must Serve contents/data user wise. e.g. Specific user settings, profile or follow topics etc. If your app does such things then Apple wont have any problems for your login or registration.
This is because of some apps have Registrations just to collect the email addresses of users.
If i will add "Guide" screen, then this issue will be resolved or not!

Will apple reject my app for telling that they can register to the site?

I got my app rejected because it had a registration form that required too much information that the app never used. The simplest solution would be be to remove the registration and just let the user login inside the app (it can also be used without login but with less functionalities). What I was thinking was to remove the registration button and just add an UILabel where I tell the users that if they want to register they can visit the site (I won't provide a link for registration).
Does anyone know if my app is going to get rejected again just for telling the user to register on the site?
This is the reason Apple review team gave me:
17.2 Details
We noticed that your app requires users to register with personal
information. Apps cannot require users to enter personal information
that is not relevant to the app features.
We've attached screenshot(s) for your reference.
The screenshot was of the registration form that required some informations that weren't used inside the app.
The message in App Store Review Guidlines is quite clear:
Apps that require users to share personal information, such as email address and date of birth, in order to function will be rejected
which, of course does not stop you from asking for it while letting the user register, however - you MUST have a good reason for it, like:
Apps may ask for date of birth (or use other age-gating mechanisms) only for the purpose of complying with applicable children's privacy statutes, but must include some useful functionality or entertainment value regardless of the user's age
OR
Apps that include account registration or access a user’s existing account must include a privacy policy or they will be rejected
So my guess is that they think your registration is slightly fishy. I would suggest really making sure that the reasons for collecting that personal information are very visible to the Apple reviewers. They probably thought that your reasons for collecting a lot of info from the user is unnecessary for what your app does.
My recommendation is - take out what you don't really need and justify why you need what you're asking your users for and let Apple know in the notes for the reviewer.

Rejected App: 17.2: Apps that require users to share personal information

Preface:
I know this issue has been raised here before on SO, but those posts are old and I believe not currently relevant to Apple's decision making.
Rejection reason:
17.2 Details
We noticed that your app uses Facebook login for authentication purposes but does not include account-based features offered by that site, which is not allowed on the App Store.
Next Steps
Please modify your app to include account-based features of that social network or use your own authentication mechanism.
My App:
My App implements Facebook authentication and grabs the user's first name and profile picture only and displays them at the user's discretion (when the user performs a certain function).
I stated this to Apple twice and they replied that this was not enough.
They kept parroting that I needed to add "account-based features" of Facebook. I asked them to elaborate and these were the examples I was given:
"It would be appropriate to implement friends lists, social graphs, and game scores when applicable. "
So these questions arise:
What if my app doesn't benefit from the above examples?
What's wrong with using Facebook as an authentication method and for grabbing basic data?
And the kicker - what are more examples of "account-based features" of Facebook that I could implement that would qualify for the privilege to use Facebook authentication?
I'm sure I won't get any straight answers from Apple, so I am appealing to the experts here to hopefully enlighten me.
Thanks in advance.
Based on my experience with the Apple Review Process, what bothers them most in this case is:
If your app "forces" the user to login with Facebook and doesn't allow him/her to login any other way (or not login at all).
If your app has no "account-based features" as they indicate in their rejection details (even if these features are not specifically related to Facebook.
Things you can do to pass the review process without damaging your app's user experience:
If you don't already have an option to use the app annonymously or login with an email address or any other non-Facebook method of authentication, you should definitely add one. Not only will that increase your app's chances of being approved by Apple, it will also provide your users a way to try your app without providing you with their Facebook information. A lot of users need to gain trust in an app before logging in with their precious Facebook account, so this can actually help your on boarding process and is highly recommended.
Add some account specific features to your app. It doesn't necessarily have to be Facebook specific data. It can be anything that will convince the review team that you're not just collecting data about your users, you are also providing them with some sort of benefit because they logged in. Examples for this can be game related features, like Apple suggested: score count, leader boards, friends list, invitations, rewards, chats, etc. It can also be non gaming related. Things like: content management (allowing the user to save data based on his/her account and accessing it later, "liking" certain elements in the app, saving app related content in one place, sharing content on Facebook, etc.
The best thing you can do (if it works for your app) is just find some significance to a "user" in your app. Something that will give meaning to the user's having to login. If you have that, even if it's not necessarily Facebook related, you should be good to go.
An example that can be good for both the review team and your app's chances of going viral, which is relatively "cheap" to implement, would be to add the ability to invite friends to use the app. This would justify logging in with Facebook and give your users an extra value. However, I would highly recommend not forcing the user to login unless it's absolutely necessary. Let him/her learn about your app, learn to love it and then, when he/she trusts you and is willing to "commit", then you give them the option to login. When it comes from them and not because they had to, the chances of your user feeling good and safe about logging in to your app, is significantly higher.
I hope this helps, even a little. Good Luck!
I had the same problem and I told them about the UI experience and basically the issues you mentioned. They approved it shortly after I explained it. When did they approve it? About 8 hours ago. So while I do think Apple is still strict regarding these requirements, I do think they are understanding if you can explain yourself well.
The changes I made:
Added a HUGE "login anonymously" button, to make it clear you don't need to login to use the app.
The app was for "voting" for businesses, and I said that logging in with Facebook is the best way to accomplish this without killing the user experience.
This worked for me. Hope it helps. But I think the bottom line is, if you use Facebook connect for authentication and you are using it in a good and valid way, then Apple will most likely accept it.
Good luck!

iOS Apps that require a membership to use

I'm developing an iOS app for companies that will help them track their sales rep's progress throughout the day. Tracks a lot of different info and helps with time management, etc.
The service requires that a company sign up for the service through the website. Then they will have their sales reps download the app and sign in using their company account/login information.
So if a general user downloads the app, without first signing up for the service, the app won't work.
Is this a problem? I can't find anything in the iOS documentation and Apple Developer Support is no help.
Does Apple require the the user be able to create an account within/through the app itself? Do I need to provide some kind of content to someone who downloads the app but does NOT have a membership? Like in the login screen?
Any input you might have would be helpful.
Thanks,
Because you are having a sales rep login with company info, I would imagine that when the app first launches, there will be a login screen. And most login screeens have hyperlinks like "Create an Account" and "Forgot Password?" That redirect users to a website in safari
Nothing you described seems to violate Apple's terms of service. You should be fine and your app should be approved. But then again, Apple always has the final word.

Resources