How can I submit a login-required app to the AppStore when I can't provide an account for test? - iphone

I know that an account for full access of all features is required when submit an app for review.
Users of my app are in fact university teachers and students. Actually this app is just a third party one which I developed for iPhone users, for the reason that the original and official website of my university runs pretty bad and sometimes even fails on Safari. Obviously I don't have the access to the database to create a test account.
In addition, the auth server is only open for users inside my university (the IP address of the server is a virtual one for local network.) Even though I provide them with my own account, they will still not be able to login.

You can't. Apple will not review a login-required app if they can't log in to it.

Build a test server that interacts with the app exactly the same as the real client server except for being visible outside your clients secure network (and containing only a dummy data set, no actual private or proprietary data), create test accounts on that, test your app against that, then submit the app to Apple with a working test account on the test server.

Related

App Rejected on 17.2 clause. Asking for email ID

My app is a sync solution (imagine dropbox).
The user needs to sign in to access the app's features, and if he does not have any account already created, he can sign up.
The sign up asks for email id verification, and this email id is also used if the user has forgotten his password to send him one.
but Apple has rejected this app saying:
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
We found that your app requires customers to register with personal information to access non-account-based features, which is not in compliance with the App Store Review Guidelines.
Apps cannot require user registration prior to allowing access to app features and content that are not associated specifically to the user. User registration that requires the sharing of personal information must be optional or tied to account-specific functionality. Additionally, the requested information must be relevant to the features.
Although guideline 11.6 of the App Store Review Guidelines requires an application 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.
It would be appropriate to make it clear to the user that registering will enable them to access the content from any of their iOS devices, and to provide them a way to register at any time, if they wish to later extend access to additional iOS devices
Please help me solve this. Many apps like dropbox/facebook require login.
I don't get the exact reason why they rejected my app.
Also, please guide about the in app purchase, why registering cannot be mandatory
Asked App Store Review people for clarification on their rejection.
They accepted it. and the app got approved :D
Its on Appstore now :)
I also Faced this kind of Problem and my app also Rejected due to this.And Again I Changed my App flow Like User Registration will be Optional. User can See all the Feature of the app with out Registration by skipping this step.If he want to do something user-specific then you can ask to register such as : (user like,comment,photo upload etc) or else he can use the contents and features which are public.
in Case of in-app Purchase You can Prompt user that if He will Register with your app he can able to use this Content in his all devices.
It would be appropriate to make it clear to the user that registering will enable them to access the content from any of their iOS devices, and to provide them a way to register at any time, if they wish to later extend access to additional iOS devices
Apple does not allow apps that require you to share person information to work, like an e-mail address.
You options are, remove the need for an e-mail address or remove account creation form you app and move it to a website.
It also states that you app is asking to create an account to access the full app and even needs the account or acces features that do not require the user to have an account. You can make those features available with out the account creating you might be able to get thru the review.
The reason apps like Facebook and Dropbox got thru the review proces is because they don't have a register option which is in app only. They redirect to a website.
I recently spoke to an Apple Rep over the phone in regards to an app of mine that was also accused of violating clause 17.2.
I explained to him that the email would be used for password recovery, monitoring transactions within the marketplace, and managing any inappropriate behavior (such as users uploading offensive or copyrighted content). The rep responded, "Sir, the clause states 'Apps that require users to share personal information, such as email address and date of birth, in order to function will be rejected'. I cannot allow you to require your users to submit their emails if its not account-based". He did not seem to understand that the emails are account-based for the very sole purpose of security.
I did mention to him that Instagram and Facebook alike require logins at startup. He simply replied, "Yes but those apps are entirely account-based."
Honestly, I felt he was blindly following Apple's Guidelines ("Because that's what it says we must strictly follow!"). He had little understanding of how social networking apps operate, and even less understanding of the law (specifically the DMCA - on a separate issue). Explaining to them how all that works proves to be futile; they wont budge because they are asked to follow Apple's BROAD Clauses as strictly as they do.
My conclusion: I had to compromise the app's user flow such that the app's registration page can be skipped, and all other functions within its marketplace were locked to non-registered users. It makes no sense.
The sign up asks for email id verification, and this email id is also used if the user has forgotten his password to send him one.
Apps cannot require user registration prior to allowing access to app features and content that are not associated specifically to the user.
It seems to me that the point is that you are asking the user to provide his email address as a step towards the creation of a user account. This is different from what dropbox and other apps do (i.e, you provide your credentials for your dropbox account, which is different from your email address, although it can be the same).
You may either remove altogether email verification, or you could postpone it to a later point when you have made clear to the user that this is required to access private information.
I got the same thing last week and this is Apple's reply:
As for the 17.2 issue, a nickname, avatar, or sharing are not inherent or specific features of those social networks, and thus, the user should not be required to register with those services, or provide you with access to their social network accounts. The user should not be prevented from using your app and service if they do not provide this information.
Instead, it would be appropriate use your own authentication method and give users the option to create a nickname and upload an avatar, independent from those networks.
Moreover, we realize that these social networks may be very popular. However, the popularity of the social network is not an appropriate reason to force a user who has not, or chose not to register and provide their personal information to those services, before they can use your app.
Therefore, we ask that you to include your own authentication mechanism to allow the user the option to register only with you, creating an account with only the information needed and relevant to your app's features.
Best regards,
App Store Review
So in short, you have to provide custom authentication and not just use Facebook. Although I've seen many Apps who do require you to login with Facebook.
Thanks,
James
It happened same for me, although the first version was approved, the second version was rejected for this reason, I added the Skip button at the landing view.
It's all summarized in the last paragraph. Apparently, your application doesn't inform the user (in a clear way) that registering is for syncing and from their reply, it seems that your application is useless without the Sign Up.
If that's the case, you should be more specific why you need the user to register.
On a side note, I personally don't like the applications/websites that force you to register before you see or try anything. I hope your application isn't the same.

Sharing app-IDs among multiple developer account

I have an apple developer account using which I have developed an application for one of my clients. Now, the client also has a developer account. Is there anyway, I can create an app ID like com.client.* in the clients developer account and then upload an application's release version using an appID like com.mycompany.applicationname which is created in my developer account.
Or else, there is no option like that??
An app ID is a unique application identifier. Even the exact same source code, built with two different app ID's, would be considered two completely different applications.
In order for you to compile your client's application, you will need to get a copy of their profile using com.client.* and compile the application as com.client.appname.
That would be possible, (as far as I know, apple doesn't check the AppIDs if they are used anywhere yet outside of your program) but might get problems when submitting to the appstore and furthermore, you could not submit with his account, what he probably wants. Here's what we usually do:
1. Create a *. Provising profile for yourself for development purposese.
3. For push notifications, you should be able to create a DEV certfiicate with Appid com.client.appname in your developer program
4. Have your customer invite you into his Program and create the matching provising profile for appstore submission and push notification with this Appid.
You can be in multiple development programs (I'm currently in three different ones..)

Enterprise Developer account or Standard Developer account?

We're developing an iPad application for a client, who wishes to distribute the application to only those customers who have purchased the license from him for 'x' number of users. For example, if an university buys the license from him for say 50 users/devices or another company may buy the license from him for 100 users/devices. What would be the best way to distribute such an app. After doing some research iv come across 2 ways for this but each with its own hiccups.
1) Distribute it through the App Store with a standard developer license and authenticate the users of the app. Only if the users are authenticated by the server, would they be able to access and use the application. This allows my client to restrict the users to only those who have obtained licenses form him.
But i have heard that Apple would reject such apps that provide only exclusive access to some users and not to all.
2) The other option is the Enterprise Developer account where he would host the apps on his site and the clients who have obtained licenses only can download it. However, I believe that enterprise applications can only be developed for in-house employees. i.e if he has the enterprise account, the app can only be used for his employees as it would work only for the devices authenticated with the unique DUNS number.
Anyone has any workarounds for this? Any help would be much appreciated. Thanks.
The client I have just developed an app for has the requirement for users to login to their service before they can use the app. They place the app in the store with a clear indication a login is required. The app is free to download so no one gets caught paying for something they can't use.
We have just submitted the latest app to the store and are waiting for approval*. When submitting we included a full login for the reviewers to test the app with. This was in the review notes and remains confidential. They have an existing app already approved which works the same way.
As part of the app we also included a demo mode with static content bundled with the app which allowed access to all the functionality but only for that very limited set of data.
The client has the Enterprise programme which allowed us to beta test the app with designated users but that was with the usual 100 device limit (with devices able to be removed at renewal time only). Both the individual developer and the company program are allowed the same number of devices but you want to be able to join the clients team as developer so they should go for the Company program. The client will need to be the Agent for the submission and that is fixed as the first account they sign up with. We're trying to change the agent for our company now and it's not something you can do online you have to send Apple a request. They should then add you as a developer for their program. You can be a member or an admin but only they, as the Agent, will get to sign the app for distribution.
I sure hope you aren't correct about rejection because of the login service or I'm going to have a very disappointed client on my hands.
*EDIT: Our application was approved by Apple at the first attempt so there was no problem with this approach.

iPhone Developer account: Multiple Admins?

I am doing some dev work for a client. She has a Dev License should would like to put the app under but since she is non-technical it has been frustrating since she has to be the one to submit the final app.
Is there a way for a Dev License to have multiple Admins? I have it configured so I am a developer but as such I cannot do the Distribution License. Only she can do that. Is there a fix?
If you have a good relationship to your client, you might want to ask her for her login details so you can do it yourself.
There is one other possibility though: For a similar problem I was given the advice to build & archive my app and send the archive to the client. He could then resign the app using his certs, which would eliminate the need for him to do all the building stuff, not to mention it will spare you to surrender your source code. However, this will not eliminate the need for your client to enter all the meta information and so forth while uploading the app.
For the necessary steps to resign an app, see this answer.
To answer your original question: Each developer account has exactly one Team Agent. So you need some kind of workaround anyway.
There is only one administrative or Team leader per developer account. So you really need to plan on the policy for sharing use of that account from the beginning, if the required activities of the agent need to be split up among multiple parties, if you can't have one party capable of doing everything.
A shared account can be created from the beginning (either by the owner or the developer). I recommend an ADC account be created just for this purpose, instead of just using the owner's personal account and email address ( e.g. instead of mary.smith#sample.com, create and use iosdeveloper#sample.com for enrolling as an iOS developer. )
Account credentials can be "loaned" (perhaps with password changes after use).
You can be given remote access (VNC/RDP) into the owners PC or Mac (or more secure yet, a VM session) as or after they log in.
You can talk the owner though the process over the phone (or video chat, etc.).
Or, the owner can learn how to get certificates, and build or resign and submit apps themselves, perhaps using a comprehensive script.

Does my client need a developer account to submit the app I made them to the App Store?

I wonder if someone could offer insight here:
I work for an independent multimedia firm who builds communications material for their clients. We're currently working through our first iPhone app. So, my shop has now completed an app that conforms to our client's brand, and we wish to deploy this app to the App Store on behalf of our client. Looking over Apple's documentation, everything seems to be written on the assumption that you are releasing your own app... therefore, the Apple documentation seems to start one step ahead of where I need it to.
So, as a multimedia production firm, I have set up a developer account for my company that I have been using to develop our client's app. However, I assume my account cannot release my client's application, given that it would cite my company's name as the publisher. Therefore, how do I start this process on behalf of my client? Will they first need their own $99 developer account to publish with, or is there a separate publisher identity that I can set up within my account that represents my client?
Any and all help on this would be appreciated. Thanks!
I typically have the client create their own account. From there most clients will provide me access to their admin account so I can go through the rest of the steps.
I often submit apps through their admin account, however, a team member is an option if the client is not interested to provide admin credentials.