收集iOS广告标识符会导致崩溃吗?

问题描述 投票:0回答:1

我们的应用程序通过此API收集idfa。

这是一个简单的计算属性:

var idfa: String {
    return ASIdentifierManager.shared().advertisingIdentifier.uuidString
}

但是看起来它崩溃的可能性非常低,根据我们的生产记录,它会在一百万次运行中崩溃一次。

堆栈跟踪是:

- 0   libswiftFoundation.dylib            0x0000000184c34728 0x184c1b000 + 104232
- XXXApp 0x000000010bd42d70 AdsDataCollector.idfa.getter + 156118384 (AdsDataCollector.swift:0)

可能是什么原因?

ios swift crash idfa
1个回答
0
投票

现在已经晚了几年,但这里的崩溃是在使用 Swift 4 的 iOS 11 上,如果用户拒绝跟踪权限,

advertisingIdentifier
将在运行时返回 nil。

但是由于 Swift 错误地将属性注释为非 nil,所以它会在运行时崩溃。

现在,它返回一个为零的 UUID。

© www.soinside.com 2019 - 2024. All rights reserved.