I am trying to upload an app to the App Store and every time I upload a binary Apple insists that my app is using ads when I have never implemented such a thing. I reviewed the docs and removed all code involving ASIdentifier and adIdentifier I'm not quite sure what I'm missing.
What can I do to resolve this issue?
Expo docs for Deploying to App Stores: https://docs.expo.io/distribution/app-stores/
Apple will ask you whether your app uses the IDFA: the answer is "yes." This is because Expo contains the Facebook and Branch SDKs, which contain code for collecting the IDFA, and you'll need to check a couple boxes on the Apple submission form. See Branch's Guide for which specific boxes to fill in.
Related
I am using HealthKit in my app to read users daily steps data and for that I enable HealthKit in my app.
I uploaded app without NSHealthShareUsageDescription and NSHealthUpdateUsageDescription key in info.plist.
Apple rejected the app as follow and says this both key must be in info.plist.
NSHealthUpdateUsageDescription - Read your daily steps data for calorie count data
NSHealthShareUsageDescription - Share workout data with apps.
I added that key and upload again.
now app rejected with this reason.
Design - 4.2.1 Your app uses the HealthKit or CareKit APIs but does not indicate integration with the Health app in your Application.
any idea how can I approve it?
From the App Store Review Guidelines
4.2.1 Apps should use APIs and frameworks for their intended purposes and indicate that integration in their app description. For example, the HomeKit framework should provide home automation services; and HealthKit should be used for health and fitness purposes and integrate with the Health app.
It sounds to me that Apple have looked at your app and for some reason, it looks to them as if you're not actually using the step data for anything useful to the user. Does your app actually use the step data and present it back to the user in any meaningful way?
The only other thing I think they might mean is that they don't like the wording you chose for NSHealthShareUsageDescription/NSHealthUpdateUsageDescription (you're supposed to clearly state the purpose why your app needs access to health data).
Edit: Another thought, perhaps your app description doesn't mention that it's an app that uses healthkit/step data.
I recently had the same issue and found the solution.
I was able to pass the review with clearly stating “this app integrates with the Health app” in the app description of App Store Connect.
That was a weird case cuz the rejection caused the meta data and seems like I didn't have to revise my app any more although the review status was "Binary Rejected".
just update your app description on the AppStore to indicate your app integrates with apple health app (HealthKit) and why it used (purpose). for example add to your app description something like : we integrate with the health app (HealthKit) to read and track your steps data and show them in a beautiful way.
Got rejected thrice because of this before being accepted. Here is what I was doing wrong:
I only had HealthKit Capability for my Debug Profile. Make sure that you have HealthKit Capability enabled for your Release Profile as well or just add it for "All"
I usually have different Xcode signing profiles for development, testing and production. Make sure that you choose the correct signing profile when submitting your app for review. Verify the capabilities added to each profile from Apple Developer > Certificates, Identifiers, Profiles > Profiles > Capabilities
Moreover, I added app screenshots showing how health data was used to the app store screenshot section - since they mention in the review that you need to have indicators in the User Interface as well to indicate HealthKit integration. I also updated the app description to say that my app integrates with the Apple Health App.
I released an iOS app to App Store with Facebook SDK integrated.
During the submission, Itunes Connect asked me about IDFA:
Does this app use the Advertising Identifier (IDFA)?
and I checked "No".
It passed App Store review successfully. There was no problem.
And after the submission, I found several links saying that, in my case, "Yes" should have been chosen for the question:
Does the Facebook SDK use IDFA for Mobile App Installs?
IOS application that uses Facebook SDK, which options should be selected on iTunes Connect IDFA?
https://www.facebook.com/help/audiencenetwork/414857395387956
My app don't serve advertisements but logs app installs and some events.
For instance, it contains codes like:
FBSDKAppEvents.activateApp()
FBSDKAppEvents.logEvent("Some events")
Now it seems quite obvious that my app uses IDFA and it was a mistake that I chose "No".
But the only thing confusing me is that my app passed review without any rejection.
Is it possible that an iOS app with improper IDFA information passes App Store review?
In my opinion, if Apple verifies IDFA information by human, I think it might be possible and my first submission was just lucky.
But if it is verified by the machine, then my answer ("No") was right and I am going to choose "No" again.
Is there anybody with similar experiences?
Finally, I tried and got the answer.
I submitted the new version of my app with checking "Yes" to the IDFA question and it passed the review.
There was no changes related with FBSDK. That is, from the point of view of IDFA, those binaries can be considered to be same.
So the conclusion is:
An iOS app with improper IDFA information can pass the App Store review (possibly Apple's mistake?)
The fact that your app has passed the review without rejection doesn't guarantee you provided the right IDFA information. Don't believe history and always choose the right answer for that time
I am using HealthKit in my app to read users daily steps data and for that I enable HealthKit in my app.
I uploaded app without NSHealthShareUsageDescription and NSHealthUpdateUsageDescription key in info.plist.
Apple rejected the app as follow and says this both key must be in info.plist.
NSHealthUpdateUsageDescription - Read your daily steps data for calorie count data
NSHealthShareUsageDescription - Share workout data with apps.
I added that key and upload again.
now app rejected with this reason.
Design - 4.2.1 Your app uses the HealthKit or CareKit APIs but does not indicate integration with the Health app in your Application.
any idea how can I approve it?
From the App Store Review Guidelines
4.2.1 Apps should use APIs and frameworks for their intended purposes and indicate that integration in their app description. For example, the HomeKit framework should provide home automation services; and HealthKit should be used for health and fitness purposes and integrate with the Health app.
It sounds to me that Apple have looked at your app and for some reason, it looks to them as if you're not actually using the step data for anything useful to the user. Does your app actually use the step data and present it back to the user in any meaningful way?
The only other thing I think they might mean is that they don't like the wording you chose for NSHealthShareUsageDescription/NSHealthUpdateUsageDescription (you're supposed to clearly state the purpose why your app needs access to health data).
Edit: Another thought, perhaps your app description doesn't mention that it's an app that uses healthkit/step data.
I recently had the same issue and found the solution.
I was able to pass the review with clearly stating “this app integrates with the Health app” in the app description of App Store Connect.
That was a weird case cuz the rejection caused the meta data and seems like I didn't have to revise my app any more although the review status was "Binary Rejected".
just update your app description on the AppStore to indicate your app integrates with apple health app (HealthKit) and why it used (purpose). for example add to your app description something like : we integrate with the health app (HealthKit) to read and track your steps data and show them in a beautiful way.
Got rejected thrice because of this before being accepted. Here is what I was doing wrong:
I only had HealthKit Capability for my Debug Profile. Make sure that you have HealthKit Capability enabled for your Release Profile as well or just add it for "All"
I usually have different Xcode signing profiles for development, testing and production. Make sure that you choose the correct signing profile when submitting your app for review. Verify the capabilities added to each profile from Apple Developer > Certificates, Identifiers, Profiles > Profiles > Capabilities
Moreover, I added app screenshots showing how health data was used to the app store screenshot section - since they mention in the review that you need to have indicators in the User Interface as well to indicate HealthKit integration. I also updated the app description to say that my app integrates with the Apple Health App.
I'm facing some problems with uploading an iOS application to the Apple store. For the very first time, I uploaded and submitted my iOS application and it was rejected by the Apple team. They mentioned that they want authentication for my application, so I put authentication and uploaded my binary again. It was rejected a second time. This time they mentioned that I need to put authentication in my application. That's when I realized that my application is not getting updated.
The first time I made changes, I used the Organizer in Xcode to upload my binary (navigate to Organizer -> Archives. Then validate first and distribute).
The second time I made changes, I used the Organizer to upload my updated binary again.
However in all cases my binary is not being updated. How cam I fix this problem, it is a real headache for me.
Thanks.
You need to supply that authentication data within the iTunesConnect review information. There are specific fields named
Demo Account Information
and
Review Notes
Fill in that account information within that first field.
Try to check the archive date in Organizer before you submit binary to App Store. When ever you make any changes to app Archive it again to reflect changes on your binary. Otherwise your binary won't reflect changes you made on code.
Apps that are “beta”, “demo”, “trial”, or “test” versions will be rejected. If you use any word related to these in the content , name etc. will be rejected.
Secondly Pay special attention when you are using any social networking site information in your app. e.g suppose if you got many permissions from Facebook but you are not using that information in your app your app will reject. So be precise while using permissions from social networking sites.
Apple once rejected my app because i violated the iCloud deal of unpacking 2MB data from app bundle into the file system. So for downloading data more than 2MB should not create any backup. For this you can use non-user data, cache storage or mark it with “Do Not Backup”.
Hope that helps!!
I've been trying to find some guidelines on the overall process for releasing an iOS app. The documentation on Apple's iOS Dev Center doesn't seem clear. I've found some sites that try to explain aspects of the process, but I haven't been able to find a clear, conscise guide that explains some of my questions, such as:
What do I have to do within my project (ie info.plist file changes, target/build settings, etc.)
I am using In-App Purchases. It is working in my sandbox, but what do I need to do (if anything else) to make sure this works when my app is released? As far as I can tell from what I've read, there is no way to test this in live environment until after the app appears on the app store.
Is there any other provisioning/certificates needed beyond what I have used when developing my app?
Anything else that I am overlooking?
If you know of a site (or sites) that explains this in more detail, it would be much appreciated. After searching for hours I can't seem to find answers to these questions.
Thank you.
Have you seen this document from Apple on "preparing for app store submission"? It's pretty clear on the steps you have to take to get onto the app store.
In short:
No specific changes, but you have to archive for a device rather than building for testing.
In App Purchasing will work on the app store without any more configuration
You need a distribution certificate for when you build an archive for the app store, make it in your iOS Provisioning Portal, under Provisioning page and Distribution tab.