iOS上架被拒-Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage AppTrackingTransparency AppTrackingTransparency
Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage
We noticed that your app requests the user’s consent to access the AppTrackingTransparency framework, but doesn’t sufficiently explain the use of the AppTrackingTransparency framework in the purpose string.
To help users make informed decisions about how their data is used, all permission request alerts need to specify how your app will use the requested information.
Next Steps
Please revise the relevant purpose string in your app’s Info.plist file to specify why your app needs access to the user's AppTrackingTransparency framework. Make sure the purpose string includes an example of how the user's data will be used.
You can modify your app's Info.plist file using the property list editor in Xcode.
Resources
- See examples of helpful, informative purpose strings.
- Review a list of relevant property list keys.
Please see attached screenshot for details.
解决方法:
- 添加info.plist文件对应的描述信息
<key>NSUserTrackingUsageDescription</key>
<string>我们的第三方库(firebase)之一需要跟踪使用情况。我们个人不跟踪用户的活动。</string>
- 在第三方调用之前请求IDFA权限,其他权限一样
import UIKit
import AppTrackingTransparency
class WMPermissionRequest: NSObject {
//NEWLY ADDED PERMISSIONS FOR iOS 14
static func requestIDFAPermission() {
if #available(iOS 14, *) {
#if DEBUG
print("IDFA status = \(ATTrackingManager.trackingAuthorizationStatus)")
#endif
ATTrackingManager.requestTrackingAuthorization { status in
switch status {
case .authorized:
// Tracking authorization dialog was shown
// and we are authorized
print("Authorized")
// Now that we are authorized we can get the IDFA
print(ASIdentifierManager.shared().advertisingIdentifier)
case .denied:
// Tracking authorization dialog was
// shown and permission is denied
print("Denied")
case .notDetermined:
// Tracking authorization dialog has not been shown
print("Not Determined")
case .restricted:
print("Restricted")
@unknown default:
print("Unknown")
}
}
}
}
}
调用
//请求权限 ios 14.5
WMPermissionRequest.requestIDFAPermission()
注:要在firebase初始化之前调用