{"id":602,"date":"2024-07-18T04:44:23","date_gmt":"2024-07-18T04:44:23","guid":{"rendered":"http:\/\/blog.caincity.com\/?p=602"},"modified":"2024-07-18T04:44:23","modified_gmt":"2024-07-18T04:44:23","slug":"app-store-%e5%8f%91%e5%b8%83%e5%ae%a1%e6%a0%b8%e5%a4%b1%e8%b4%a5%e9%97%ae%e9%a2%98%e4%b8%80","status":"publish","type":"post","link":"http:\/\/blog.caincity.com\/?p=602","title":{"rendered":"App Store \u53d1\u5e03\u5ba1\u6838\u5931\u8d25\u95ee\u9898\u4e00"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\"><strong>Guideline 2.1 &#8211; Information Needed<\/strong><\/h3>\n\n\n\n<p>We&#8217;re looking forward to completing our review, but we need more information to continue. Your app uses the AppTrackingTransparency framework, but we are unable to locate the App Tracking Transparency permission request when reviewed on iOS 17.5.1.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>\u95ee\u9898\u539f\u56e0\uff1a<\/strong><\/p>\n\n\n\n<p>\u7b2c\u4e00\u6b21\u6253\u5f00\u5e94\u7528\u65f6\uff0c\u672c\u5e94\u8be5\u5f39\u7a97\u7684ATTrackingManager\u6743\u9650\u8be2\u95ee\u5bf9\u8bdd\u6846\u672a\u80fd\u6b63\u786e\u5f39\u51fa\uff0c\u4e3b\u8981\u539f\u56e0\u5728\u4e8e\u7f51\u7edc\u6743\u9650\u8be2\u95ee\u6846\u3001\u6d88\u606f\u6743\u9650\u8be2\u95ee\u6846\u7684\u5f39\u51fa\uff0c\u5bfc\u81f4\u5176\u672a\u80fd\u6b63\u5e38\u5f39\u51fa\u3002<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>\u89e3\u51b3\u529e\u6cd5\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>import AppTrackingTransparency\n...\n\nlet timer = Timer.publish(every: 3, tolerance: 0.5, on: .main, in: .common).autoconnect()\n...\n\n.onReceive(self.timer.dropFirst()) { _ in\n    if ATTrackingManager.trackingAuthorizationStatus == .notDetermined {\n        ATTrackingManager.requestTrackingAuthorization { status in\n            switch status {\n            case .notDetermined: Dlog(\"\u7528\u6237\u5c1a\u672a\u505a\u51fa\u9009\u62e9\")\n            case .restricted: Dlog(\"\u8ddf\u8e2a\u53d7\u9650\")\n            case .denied: Dlog(\"\u7528\u6237\u62d2\u7edd\u8ddf\u8e2a\")\n            case .authorized: Dlog(\"\u7528\u6237\u5df2\u6388\u6743\u8ddf\u8e2a\")\n            @unknown default: Dlog(\"unknown\")\n            }\n        }\n    } else {\n        self.timer.upstream.connect().cancel()\n    }\n}<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p>\u4e3b\u8981\u601d\u8def\uff1a<\/p>\n\n\n\n<p>\u901a\u8fc7\u5faa\u73af\u8c03\u5ea6\u65b9\u5f0f\u5f3a\u5236\u5f39\u51fa\uff0c\u5982\u679c\u7528\u6237\u5df2\u7ecf\u505a\u51fa\u5bf9\u5e94\u6388\u6743\uff0c\u5219\u7ec8\u6b62\u8be5\u8c03\u5ea6\u3002<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p class=\"has-text-align-left\"><br>\u63a8\u8350\u5e94\u7528\uff1a<a href=\"https:\/\/apps.apple.com\/app\/id1615745833\">\u6a59\u5b50\u590d\u5229\u8ba1\u7b97\u5668<\/a><br>https:\/\/apps.apple.com\/app\/id1615745833<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Guideline 2.1 &#8211; Information Needed<\/p>\n<p>We&#8217;re looking forward to completing our review, but we need more information to continue. Your app uses the AppTrackingTransparency framework, but we are unable to locate the App Tracking Transparency permission request when reviewed on iOS 17.5.1.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[39,43,6],"tags":[],"_links":{"self":[{"href":"http:\/\/blog.caincity.com\/index.php?rest_route=\/wp\/v2\/posts\/602"}],"collection":[{"href":"http:\/\/blog.caincity.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.caincity.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.caincity.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.caincity.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=602"}],"version-history":[{"count":3,"href":"http:\/\/blog.caincity.com\/index.php?rest_route=\/wp\/v2\/posts\/602\/revisions"}],"predecessor-version":[{"id":605,"href":"http:\/\/blog.caincity.com\/index.php?rest_route=\/wp\/v2\/posts\/602\/revisions\/605"}],"wp:attachment":[{"href":"http:\/\/blog.caincity.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=602"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.caincity.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=602"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.caincity.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=602"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}