💊
Swift6 時代の ATTrackingManager.requestTrackingAuthorization()
Swift5まで主流のクロージャを付けるタイプはクラッシュしてしまう。
Swift6
Task {
let status = await ATTrackingManager.requestTrackingAuthorization()
switch status {
case .authorized, .restricted, .denied:
//広告の表示など
case .notDetermined:
break
@unknown default:
fatalError()
}
}
Swift5まで
ATTrackingManager.requestTrackingAuthorization { status in
switch status {
//処理
}
}
確認環境
Sequoia 15.4.1
Xcode 16.3
シミュレータ iPhone 16e iOS18.4
さいごに
もしかしたら、落ちる/落ちないの違いはSwiftのバージョンではなく別の原因かもしれないが、私はSwift6にしたタイミングで落ちたのでこのようなタイトルにした。
Discussion