NSUserTrackingDescription failure - ios

I have a build that is stuck in prepare for submission, it keeps telling me the following:
Your app contains NSUserTrackingUsageDescription, indicating that you will request permission to track users. To publish this information on your app's product page, you must indicate which data types are tracking users. If this is incorrect, update your app binary and upload a new build to App Store Connect.
No matter what I say or do I can never get beyond this. I have uploaded binary after binary and even answering the questions nothing solves the problem.
Suggestions? I can't seem to find a way to delete this "prepare for submission" without deleting the app that is currently on the app store.

Step 1:
Under the "Usage Data" Section. Select "Advertising Data".
Step 2:
Then enable the common options.
Third-Party Advertising
Analytics
No, advertising data collected from this app is not linked to the user’s identity
Yes, we use advertising data for tracking purposes
That's All. Be transparent, If you are really tracking the users then select the related options.

It's counter-intuitive, but you are publishing App Privacy for a version of the app that is already on the App Store, not for the update you are preparing to submit.
So if the app version that's already published has NSUserTrackingUsageDescription, you need to select "Yes, used for tracking purposes" for now.
After you upload a new binary with NSUserTrackingUsageDescription removed, and it passes review ("Ready for Sale") you can change App Privacy and select "No, not used for tracking purposes"

My app wasn't live and in the App Privacy section I ran into the same error as the op. My app uses Core Location. To address this issue go to App Store Connect > App Privacy:
1- under Data Types > Location > I selected Precise Location > Next > Save
2-under the gray Location/Precise Location Section (pictured below) press the blue Edit Button and tick these 3 selections:
• Used for App Functionality
• Linked to the user's identity
• Used for tracking purposes this is the last option, you must tick Yes, we use precise location data for tracking purposes. This will make the error go away
Now the Location section it looks likes this and the error went away

Apple has made it complicated as ever, thanks again Apple.
As mentioned above we could not change the Privacy data types in the Appstore connect because the current live version does use that permission.
We did upload a new binary with NSUserTrackingUsageDescription removed, and just got rejected. they ask us to add that permission or modify the privacy section, which we can not do. We replied explaining the situation, I'll modify this comment according to their reply.
Update: At first Apple review team insisted we should either change the privacy settings (can't) or submit a new app version. I found this help page:
https://help.apple.com/app-store-connect/#/dev1b4647c5b
Which under "Adding and removing data types" Mentions this part:
"If your app is currently available on the App Store, make sure your responses reflect the data collected only from that app version."
I quoted it to Apple review team, and now finally update was approved!

We solved this issue.
We choose one option in App Privacy and select
Yes, we use product interaction data for tracking purposes
Question was:
Do you or your third-party partners use product interaction data for
tracking purposes?
Btw, we added nsusertrackingdescription property and ask user for permissions since iOS 14.
Although we tried to upload build without this flag, but no success.

Related

Why iTunes Connect reject my app?

I got the following error message from iTunes Connect.
Performance - 2.3.10
We noticed that your app or its metadata includes irrelevant third-party platform information.
Specifically, your app icon still contains imagery of an Android device.
Referencing third-party platforms in your app or its metadata is not permitted on the App Store unless there is specific interactive functionality.
We've attached screenshot(s) for your reference.
Next Steps
Please remove all instances of this information from your app and its metadata, including the app description, What's New info, previews, and screenshots.
Since your iTunes Connect status is Rejected, a new binary will be required. Make the desired metadata changes when you upload the new binary.
NOTE: Please be sure to make any metadata changes to all app localizations by selecting each specific localization and making appropriate changes.
But I didn't modify anything since previous version.
So, I have no idea what is wrong of my app. I can't believe icons have problems.
Please let me know how can I fix the problem?
Apple keeps improving review rules, so its not necessary that if review passed last time it should also pass this time.
It seems there are 2 problems.
1)Problem with app icon
2)Reference to third party library.

iOS app built from xcode but not showing build in iTunes Connect

I have built an iOS app and trying to update the version and upload it to AppStore. Its getting uploaded from Xcode and am getting the success message. But i could not find the build in itunesconnect. For a while its shown in activity tab with processing status but while refreshing it gets disappeared.
Sometime, its will takes time to appeared on ITC.
Still it not seen on ITC, then please upload one more time using Application Loader but change the build version.
Lets try it
Make sure your Info.plist has all the keys that you're trying to access.
I had the same issue on Friday. Submission was successful, but then I was waiting for hours, tried Application Loader, changing version number, all with no luck.
A day later got email from Apple:
Dear developer,
We have discovered one or more issues with your recent delivery for "MyAppName". To process your delivery, the following issues must be corrected:
This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSAppleMusicUsageDescription key with a string value explaining to the user how the app uses this data.
Once these issues have been corrected, you can then redeliver the corrected binary.
Regards,
The App Store team
In case (like me) you're using Appcelerator, there was a bug in 5.5.1 resolved in 6.0.0. Find out more about it here
‌I had exactly the same problem. On the 3rd rebuild after a version number change while it was uploading I watched the iTunes Connect ->Activity->All Builds page. It appeared there 'processing' for 2 minutes. It then disappeared. However I then got an email from Apple telling me that it had been rejected because it uses the camera and photo library. iOS 10 has stricter control of privacy issues. It only requires a string against the correct key in the .plist to resolve - the keys are of the type 'NSPhotoLibraryUseageDescription' (or 'Privacy - Photo Library Useage Description' depending on how the plist is viewed).
It is extremely frustrating that the first two uploads did not result in any message from Apple - why cant they keep the build on the Activity page with some info about the reason it failed? Why do they not send an email every time they reject a build? I have wasted an entire day on this!
If you are suffering from this issue, have a think about what you are accessing and see if there is an appropriate privacy useage description string you can add to your plist. I see from various forums that some frameworks ask for a whole raft of permissions that you may not think your app needs - try adding every privacy useage description temporarily to see if that resolves the problem
Actually my app had watch extensions which was not removed properly. So once i removed them from "Build Phases" -> "Embed Watch Content", it got solved.

iOS 8 Suggested Apps - How does it work?

Over the past little while I’ve been working with a client who would like to leverage Apple’s new Suggested App feature on iOS 8. The client's goal was to display a suggest app lock screen notification any time a person passes by a specific geo-location. After spending some time trying to find a concrete answer to what level of control (if any) the client would have over Apple’s Suggest App feature, it was decided to send our questions directly to Apple.
Below is copy of the questions I sent to Apple.
Hello,
For our next app release, my team and I would like to leverage Apple's Suggest App feature provided in iOS 8.
We've taken a look through the iTunes Connect portal and we haven't been able to find a configuration panel anywhere which allows us to control when/where our app should appear as a suggested app.
Questions:
Is it possible for us to specify the conditions that out app will appear as a suggested app for users who haven't downloaded it yet?
Can we specify a geo-fence that will display our app as a suggested app on a user's lock screen?
If we have no control over Apple's Suggested App configuration, under what conditions will our iOS appear on a user's lock screen as a suggested app?
STEPS TO REPRODUCE
Turn on your phone
Enable suggested apps
Enable 3G
Lock your screen
Walk past a region.
Expected Result: A suggested app appears on the iPhone lock screen.
Here is the response I received directly from Apple Developer Support Team:
Hello,
Location relevant Apps are recommended on the lock screen and in the App Store based on a number of factors, including their popularity at the location, and there is no mechanism or process by which an App developer can add their App to the list of recommended Apps.
However, if your iOS App is directly related to the location or venue (such as a mall guide iOS App which is published by the mall owner or operator), and you believe your iOS App’s relevance warrants it being included the list of recommended Apps, then you are encouraged to submit an enhancement request via http://bugreport.apple.com/, and request that Apple consider whether your iOS App should be included in the list of recommended Apps for that location.
You should provide as much detail in the ’enhancement request' about the App and venue/location as possible, such as the App ID, App Name, URL to the App on the App Store, venue name, venue location (address & lat/lon), the relevance (if any) of your iOS App to the venue/location, and relationship (if any) between you as the developer and the owner/operator of the venue/location.
Submission of an enhancement request does not guarantee that a particular iOS App will be added to the list of recommended Apps for a venue or location, and the sole feedback from Apple on the request will come through the http://bugreport.apple.com/ bug report system.
Regards,
Apple Developer Technical Support

Build not visible in itunes connect

I want to test in app purchases therefore I uploaded build with xcode. I can see the build under "Prerelase" but not in "Versions". How long does it take to show up in "Versions"? It's been 30 minutes
The build is not visible until the "Processing" step is in progress in the "Prerelease" tab.
It should depends on the size of your app.
For a 10Mb app of mine, it took about 5 min.
Check your inbox for an email from iTunes Store:
Subject: iTunes Connect: Your app [...] has one or more issues
Dear developer,
We have discovered one or more issues with your recent delivery for
[your app]. To process your delivery, the
following issues must be corrected:
This app attempts to access privacy-sensitive data without a usage
description. The app's Info.plist must contain an
NSPhotoLibraryUsageDescription key with a string value explaining to
the user how the app uses this data.
[...]
Once the required corrections have been made, you can then redeliver
the corrected binary.
Regards,
The App Store team
Xcode 8 told me the upload was successful, but the build did not appear in iTunes Connect until I fixed the issues indicated in the email and resubmitted.
May be helpful:
While pushing build to ITunes, i minimize organzier window, so in background everything went smoothly and message got display "Build pushed successfully".
But build do not got display in itunes store and sometime build get display in "Processing" step but do not get to "Versions".
I repeated step 1 and 2 but same result.
Then i pushed build with Organizer window (in Foreground) not Minimised and everything worked. (It takes some time according to size as #cdescours pointed)
This experiment was conducted on dated 30, Oct, 2014 throughout day & also same issue was discovered later too. Hence we can conclude iTunes have the issue when the build is pushed in background.
Check the Activity tab in iTunes Connect after you upload the app and wait until it processes:
To update #cdescours' answer, uploaded builds can now be seen in the "Activity" tab in "Processing" state.
Check your email. You should have issue or missing report on you email. I got email that I miss NSCameraUsageDescription key in Info.plist
When you upload your build from Application loader or directly from your xcode to App Store and it is not showing even on multiple uploads with different build version then
Open your .plist file and check whether there is any key string starting with "Privacy - ........."
If that key string value is empty, then Add some string.
example, for me i was using camera, photo Library, Microphone and Location.
For my project i added the string as follows
a. This app requires access to the Camera.
b. This app requires access to the Photo Library.
c. This app requires access to Microphone of your device.
d. This app requires access to your Location.
e. This app requires access to the Bluetooth.
Now upload the build it will get Accepted.
Note: This permission string is mandatory from iOS 10.
In case you are adding build with deployment target >9, add these keys to info.plist in case you are using camera and photos: Privacy - Camera Usage Description and Privacy - Photo Library Usage Description with a valid description.
I had the same issue when I submitted with blank string for these keys.
Sometimes you may need to check your email. There will be no errors while uploading. But apple may have send an email with the errors in your build. In my case I got an email with the following error mentioned in it.
This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data.
I have added the NSPhotoLibraryUsageDescription key, but the description string was empty.
You can see all of your activities (recently uploaded builds here). It will also provide current status of your build.
Building on #sreedeep-kesav's answer (not enough rep to comment), Privacy - Camera Usage Description and Privacy - Photo Library Usage Description can be set by opening your Info.plist file in Xcode and selecting the plus button next to Information Property List:
Wow this was super annoying! Honestly I don't know what the problem was because I've uploaded many apps to the appstore via Xcode over the past few years but past couple days I tried like 8 different build uploads over span of 12 hours but NONE of them would show up in iTunesConnect as Processing or anywhere else. I eventually tried Application Loader even though I've NEVER had to use that before. The first try timed out "Fetching Apple Connect token" or something. I CMD+Q and tried Application Loader again and the 2nd time the upload finished ... and now my build shows up in iTunesConnect as processing. OMG that was annoying, confusing and a huge waste of time (typical Apple Dev experience I guess).
Anyhow ... thought I would share my results.
I have faced the same issue, once I upload build is not showing in AppStore Connect even I did not get any issue mail from apple. So I just wait for a day and that build begins visible on AppStore Connect after a day. It is a weird issue apple team have to look into it.
Happy coding. :)
Check your all privacy access policy option in Info.plist file.
Check the status of the new build on the "Activity" tab. Once the "Processing" label disappears from the build you should be able to use it.
Check your schema that you have selected release not debug.
I came across the same issues, i switched from Xcode6.0 to Xcode6.1 and my builds started appearing in the list.
I want to share my expereince,
I uploaded my build by application uploader and xcode and after 10 hours i couldn't see any build on the itunes connect.
Finally I contacted apple and they explained that a build validation can take 24 hours maximum.
After 24 hours, if the build is not visible on the related page, they advise to upload a newer version.
And if after the second 24 hours if there is still not any build, you can call apple developper program assistance.
Here is the page where you can find phone numbers :
https://developer.apple.com/contact/phone/
Publishing the first version of your application can takes a few days but a newer version takes much less time.
Check all the key and values in info.plist file.
if any key is missing then it will cause this issue.
AppIcon and other thing written in info.plist file must be prefect then u will not able to get this issue.
This worked for me
If build are missing from Itunes 'Activity' tab. Then check your info.plist keys. If all keys are there, then check all keys description. if their length is short then increase your keys description length.
Just wanted to share my experience as well. My Build had crossed Processing Step(it was a mere 984kB app) but did not show up in "Versions" tab for more than 30 minutes. I also double checked my email but had not received anything from Apple. However, under versions tab I had 3 builds listed excluding the latest one. What worked for me was that I just clicked on the least recent one(click on the Build Number) and then clicked on Expire Build and voila buy recent Build was immediately available under the current Version.
I have not found any Apple Document which explains this anomaly.
Hope it Helps! Cheers
Well, in my case I uploaded a build with updated version. like 1.1.0 Build 1.1.0, then I reverted back to 1.0.0 build 1.0.5 and the same build was visible under the 1.0.0 header dropdown.
Hope it helps someone.
This was My Mistake:
I had a minor update in a Push Notification content part and I did not even touch my code.
But I thought I might have to re-upload it in order to reflect that change in the latest version.
And I did.
Tried to upload 3 Builds One by One.
But Not a single build has shown in the Test Flight Version.(Shocked)
Later I realized my mistake that just by updating APNS content part without even touching my code, I was trying to upload a new build and was expecting to reflect it in the Test Flight. (So stupid of me)
InFeb 2020, Apple has changed the TestFlight upload policy. When you do the same old steps to upload your app to TestFlight, even though you provided the export compliance information and the iOS Buildpage shows your build is ready to test, it just doesn’t show up on the TestFlight app. That’s very weird right?
After googling and browsing the StackOverflow threads, it turns out you need to add an extra row in info.plist to make it work.
App Uses Non-Exempt Encryption = NO
info.plist
This way it’ll magically work.
And you don’t even need to provide the export compliance information every-time you upload a new build too!
I has the same issue. Issue was resolved for me by trying to distribute the archive again through Xcode. At the final stage it showed the error that an app with the same version number had already been uploaded (my initial upload an hour ago). As soon as that error message showed I got the email that the original build was available in App Store connect. There must be a workflow issue in the upload process.

how to put iOS app on more country's stores

I have an app on the iOS app store at the moment, and I've been asked to make it available on more stores. I can't see how I can change this (or even see what stores it is on). I tried adding a new version to see if the option becomes available but I still can't see where I can put it on more stores.
Thanks!
Log into iTunes Connect. Manage your apps. Choose your app. Click on "Rights and Pricing". There's a link for choosing the countries.

Resources