iOS上架被拒-Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage AppTrackingTransparency

68 篇文章 1 订阅

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.

解决方法:

  1. 添加info.plist文件对应的描述信息
<key>NSUserTrackingUsageDescription</key>
<string>我们的第三方库(firebase)之一需要跟踪使用情况。我们个人不跟踪用户的活动。</string>
  1. 在第三方调用之前请求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初始化之前调用

参考文章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WMSmile

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值