拒否の理由:
ガイドライン 2.1 - 必要な情報
私たちはレビューを完了することをまだ楽しみにしていますが、
続行するにはさらに多くの情報が必要です。あなたのアプリは AppTrackingTransparency フレームワークを使用していますが、 iOS 15.0 で確認したときに
App TrackingTransparency の許可リクエストを見つけることができません。ユーザーを追跡するためにデータを収集することを App Store Connect で示したので、App Tracking Transparency が正しく実装されていることを確認する必要があります。次のステップ
アプリ内でアプリ追跡の透明性許可リクエストがどこで見つかるのか説明してください。このリクエストは、
ユーザーの追跡に使用できるデータが収集される前に表示される必要があります。アプリがユーザーを追跡しない場合は、
App Store Connect でアプリのプライバシー情報を更新してください。アプリのプライバシー情報を更新するには、アカウント所有者または管理者の役割が必要です
。アプリ追跡の透明性を実装しているにもかかわらず、
最新の OS を実行しているデバイスに許可リクエストが表示されない場合は、
利用可能なドキュメントを参照して、アプリ追跡の
透明性が正しく実装されていることを確認してください。リソース
- トラッキングとは、アプリから収集したデータを広告目的でサードパーティのデータとリンクしたり、収集したデータを
データ ブローカーと共有したりすることです。追跡について詳しくは、こちらをご覧ください。- ユーザーを追跡するアプリの新しい要件については、「よくある質問」を参照してください。
- アプリ追跡の透明性に関する開発者向けドキュメントを確認してください。
意味: アプリは AppTrackingTransparency フレームワークを使用していますが、iOS 15.0 で表示すると、App Tracking Transparency 権限リクエストが見つかりません。
でも私はそれに適応してきました
if (@available(iOS 14, *)) {
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
}];
} else {
// Fallback on earlier versions
}
拒否の理由は、iOS15 システムではポップアップしなかったことです。
シミュレーターで実行したところ、iOS15ではプロンプトが表示されないことが判明しました。
解決策:
以前は、att コードを
//当程序载入后执行
-(void)applicationDidFinishLaunching:(UIApplication *)application{
NSLog(@"当程序载入后执行");
}
今、代わりにそれを置きます
//APP已经进入前台
- (void)applicationDidBecomeActive:(UIApplication *)application{
NSLog(@"应用程序已进入前台,处于活动状态");
if (@available(iOS 14, *)) {
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
}];
} else {
// Fallback on earlier versions
}
}
ポップアップボックスが本当に現れました!問題は解決されるまで待ちます。
問題の原因の分析:
Apple が呼び出しタイミングを変更した可能性があり、実行が早すぎると初期化が行われず、呼び出しが無効になる可能性があります。