Among the reasons for App Store review rejection, issues related to device information are quite common. Typical rejection reasons include: the app collects device information (UDID, MAC address, IDFA, etc.) without explaining it in the privacy policy, the privacy policy link is invalid or missing, and using IDFA without implementing App Tracking Transparency prompts. These issues usually do not require code changes, but you need to update relevant information in App Store Connect and resubmit.
Incomplete Privacy Policy
Apple requires all apps submitted to the App Store to provide a privacy policy link in App Store Connect. If the review feedback says “Your app collects device information but no privacy policy provided,” it means the app has network requests or SDKs collecting device information, but the developer has not uploaded a privacy policy.
Solution: Prepare a privacy policy document that explains what information is collected, how it is used, and how user data is stored and protected. You can quickly generate one using a third-party privacy policy generator, or refer to the privacy policies of similar apps. Host the document at a publicly accessible URL (a website page or GitHub Pages works), then fill in the privacy policy link in the app information page on App Store Connect and resubmit for review.
If the app integrates third-party SDKs (analytics, push, or advertising SDKs), these SDKs also collect device information, so you need to disclose this in the privacy policy as well.
IDFA Usage Issues
If the app calls IDFA (advertising identifier) related APIs, Apple requires you to integrate the App Tracking Transparency framework in your code and present an authorization request. When rejected, you will typically see the message “Missing usage description for NSUserTrackingUsageDescription.”
Solution: Add the NSUserTrackingUsageDescription description string to Info.plist, explaining the purpose of using IDFA. Then, request authorization via ATTrackingManager at an appropriate time. After making the changes, rebuild the IPA and upload it again.
The Role of Appuploader After Rejection
After modifying the app in response to rejection, you need to resubmit for review. If you only changed information in App Store Connect (such as the privacy policy link or review notes), simply save the changes on the page. If you need to replace the IPA file, Appuploader can quickly handle the upload.
In the upload interface, select the updated IPA, use the original app version number or increment it, wait a few minutes after uploading for the build to appear in App Store Connect, then submit it for review. If you use the command-line version, you can integrate it into the fix workflow to package and upload in one click after modifying configuration and code.
If the build does not appear after uploading, check whether the version number duplicates one that was previously submitted. Apple does not allow the same version number to be submitted twice. You can withdraw the old version’s review in App Store Connect and resubmit with a new version number.
Post-Rejection Handling Process
After receiving the rejection email, first clearly identify the specific reason. Rejections related to device information usually have a fixed solution direction: if a privacy policy is missing, add the policy link; if permission descriptions are missing, add Info.plist descriptions; if SDKs collect information, update the privacy policy. After making changes, reply to the review team in Resolution Center explaining what you modified, and then resubmit. If the issue involves only metadata (description text, privacy policy, etc.), you do not need to repackage; simply update the information in App Store Connect and submit.