
久しぶりにiOSアプリをメンテナンスしたので審査申請を行いました。
しかし、iOS15で「App Tracking Transparency permission request」が表示されないとのことでリジェクトされましたので、対応方法をまとめました。
この記事がオススメな人
- 「App Tracking Transparency permission request」の表示方法が分からない人
- 「App Tracking Transparency permission request」が表示されなくて審査が通らない人
この記事を書いた人
サラリーマンでソフト開発エンジニア。
節約、副業、投資でサイドFIREを目指してます!
- 節約:支出を減らす
- スマホは楽天モバイル
- ふるさと納税で返礼品
- 確定申告で節税
- 副業:収入を増やす
- スマホアプリで広告収益
- ブログで広告収益
- 投資:資産を増やす
- つみたてNISA
- 企業型確定拠出年金
- 個人型確定拠出年金(iDeCo)
アプリ審査リジェクト

アプリ審査結果リジェクトのメールが来ました。
iOS15.0.1でレビューしたところ、「App Tracking Transparency permission request」が表示されないと書いてあります。
iOS14では表示されていたのですが、iOS15から仕様が変わったようです。

対応方法

「App Tracking Transparency permission request」を表示する処理の場所を変更しました。
修正前
AppDelegate.swift
// アプリが起動した時の処理
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions:
[UIApplication.LaunchOptionsKey: Any]?) -> Bool {
if #available(iOS 14.0, *) {
// iOS14以降の場合
if ATTrackingManager.trackingAuthorizationStatus == .notDetermined {
// StatusがNotDeterminedの場合、許可リクエストを行う
ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in
/*
許可リクエストが完了した場合の初期化処理を行う
*/
})
}
} else {
// iOS13以前の場合
}
return true
}
修正後
AppDelegate.swift
// アプリがアクティブになった時の処理
func applicationDidBecomeActive(_ application: UIApplication) {
if #available(iOS 14.0, *) {
// iOS14以降の場合
if ATTrackingManager.trackingAuthorizationStatus == .notDetermined {
// StatusがNotDeterminedの場合、許可リクエストを行う
ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in
/*
許可リクエストが完了した場合の初期化処理を行う
*/
})
}
} else {
// iOS13以前の場合
}
}
まとめ

OSアップデートで仕様が変わることはよくありますね。これからもしっかりと対応していきたいと思います。