Retrieve App Store ID after Sign In with Apple - ios

I'm working on a social media project where users can sign in with their different profiles on different platforms (Facebook, Twitter etc.)
Currently, the app hasn't got a sign in option via Apple. The thing I want to achieve is, after signing in with Apple, storing that respective user's app store id(s) (if there is any) to later make it possible to query (and show) the reviews made under user's particular applications.
I search through app store connect API documents, but cannot find any solid info. And, run into some outdated discussions, thus cannot be sure about the questions in my mind:
Is it possible to retrieve an Apple User's app store ID(s) after make her signing in with Apple?
If yes, what is the necessary endpoint to retrieve app store IDs?
Lastly, I understand I also need to create an account on Apple for my app to make these sign in features possible on my app. Should I require to pay for my Apple account to make these kind of features (signin in, making API endpoint calls etc.) activated on my app?
Thank you in advance.

Related

Publishing an application with an account login, but without registration, in the App Store

I have created an app for my company. To use the application, you need to log in to the account that We ourselves create for each specific employee, registration of new accounts in the application is not available now and will not be available in the future, since only We can create new accounts for new employees and delete old accounts on our server .
Can such an application be published in the App Store, given the new requirements of Apple?
Is there any way to avoid this? Maybe if our application is unlisted, then it will be allowed to be published without explicitly registering new accounts?
We tried to submit our app for review and provided a demo account, but we were denied publishing due to implicit registration in the app.
As I know, you can create test account from your backend and provide this account authorisation info to the apple review team, so they can authorise and test your application
It is not the lack of user registration that is causing your app rejection.
For an App to be made available in the App Store it needs to be applicable to a broad audience. It sounds like your app is only for a very limited set of users; employees of your company.
For these types of apps you can use custom app distribution or unlisted app distribution.
Custom app distribution works well when an app needs to be made available to one or more organisations who manage their devices. (You can use it with unmanaged devices, but distribution is more complex).
In your case, it sounds like an unlisted app would be the best approach.
In both cases you still go through app review and will need to provide a demo login.
A third possible approach is to use an Enterprise developer program. Due to abuse in the past, Apple discourages these now that custom and unlisted app distribution is available. Enterprise programs are more expensive and are not granted to smaller companies.

How to access info in a users app through your app in Obj-C?

How would you pull info from another app on the users phone. For example if I wanted to take all the emails a user has on their google inbox app or all the transactions from the users chase app and display them, how would I do that?
I understand first you'd need the user to sign in to their app Im sure I can manage how to figure out that. But how would I pull their data to my app and display it?
You would have to use an API for the app you are trying to pull information from. Google offers an API for Gmail and it is possible to access bank information through an API (see Is there an API to get bank transaction and bank balance?).
Although, if you are developing two apps on the same team you can use Keychain Sharing and App Groups to share data between your own apps.

is it possible to distribute different version of app to different client by store, by Enterprise or B2B?

I have an app on store and all client are used it. Sometimes some client needs additional feature that isn't wanted by others so in that case I make AdHoc build for that particular client, but it is not proper solution.
I think on Enterprise solution but apple not allowed to distribute outside the organization in it and I have all users are clients.
If your app has a user login, download a user specific configfile directly after login and check in code for feature availability by looking into it. Large companies like Spotify and also startups do it this way to test new features without releasing them to all.

My app got rejected because lacking " significant account-specific functionality from Google"

I made an app using firebase and I have implemented Google account based logIn system to my app because I thought it would good and also helps me for Firebase Invites but my app got rejected by the apple app review team and they are telling that I have to implement "significant account-specific functionality from Google".
My app is like a social networking app something similar to Facebook. Users in the app can invite friends, share content with friends to achieve this I used the Firebase features like real-time database, Storage, Firebase Invites etc... I really don't know what else I should implement to eligible for "significant account-specific functionality from Google."
I have sent an email for help but they haven't responded yet.
Using firebase is perfectly fine in iOS.
1.1 LEGAL: PRIVACY - DATA COLLECTION AND STORAGE - significant account-based features
Read section ii) https://developer.apple.com/app-store/review/guidelines/#data-collection-and-storage
If your core app functionality is not related to a specific social
network (e.g. Facebook, WeChat, Weibo, Twitter, etc.), you must
provide access without a login or via another mechanism.
Since your app is not using any specific social network feature ( facebook,twitter - which demands a login ) you must allow users to provide functionality without login.
You might want to appeal to Appeal board with explanation why user must login in order to use the app ( give examples and screenshots of specific functionality which cannot be used without login ).
If your appeal is rejected you don't have any option but to redesign the app to follow what apple is suggesting. What we have done in past is provide a basic flow without login but once it reaches point where login is must we force user to login ( something like anonymous user).
After 3-4 rejections I found the solution for this problem. I have have implemented a feature called Firebase Invites and for that they must sign in with their Google Account.
According to Appstore guidelines we even can't use third party login for sending invitations. In that situation, I have convinced them that "with this Firebase Invites I can able to see my friends in my Google Account and send them invitations personally". With that answer (they called me by phone) it seems they have convinced and accepted my app.
I had the same rejection this week because I have a Facebook login.
My app was already live, and this is rejection for an update.
There is a change in their guideline. This is new on Sep 1, 2016:
If your core app functionality is not related to a specific social network (e.g. Facebook, WeChat, Weibo, Twitter, etc.), you must provide access without a login or via another mechanism. Pulling basic profile information, sharing to the social network, or inviting friends to use the app are not considered core app functionality.
In essence, they are killing many apps that simply use social networks for single sign on.
A solution right now is to implement your own login account mechanism.

iOS App rejected iTunes 17.2 clause

I've recently had an app rejected due to the 17.2 clause
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
My app requires users to create a user account before they are able to use the app. All data in the app is tied to a specific user. Rather then create a custom login, it seemed simple enough to get users to signup with Facebook for "one-click" account creation instead of having to fill out a new account form. So I used the Facebook Graph SDK for iOS to accomplish this. However, I did not use any other features from the Facebook SDK and as a result of doing so, my app was rejected. I have a couple of uncertainties I was hoping could be answered.
Can I just implement a custom create account without the risk of getting my app rejected? The custom create account will require fields such as a userName, email, and account passWord.
I read somewhere that in order for Apple to approve custom account creation, the app must have some sort of Privacy Policy. Is this true?
What would classify as a "significant" use of Facebook services to justify the use of Facebook authentication? Would using features such as Share to Facebook and Invite Friends be significant enough to use in the app to get approved?
I'm curious to know how others have solved this problem and any advice or tips would be appreciated.
Facebook is very annoying with this clause. It isn't about how you are using the Facebook SDK, it is about asking users to create an account via any means. You have to justify your features so that they are user-oriented. You can bend the world in your favor on how you do this, though.
For example, even though a feature seems to be completely okay if user doesn't register, you can argue, "for better user experiences, we calculate user's performance on these features, and associate it with the account."
Or, you can go about saying "although this seem to be not user-related, we use the gender information to serve correct content."
Privacy policy is a must. You definitely need that accessible through the app and through the App Store page.
While working to get our app accepted after it got rejected by the same clause, my team spent a whole day trying to relate every major feature to something such that an account was necessary. But the good news is, it got accepted!
On another note, Facebook friend invites are fine, but making users upload a profile picture and create their own contents also need to be explained. They will ask questions such as "who will be able to see these contents?"
It is a tedious process, but more of a, "provide information and I'll let you pass" kind of thing. Good luck!

Resources