使用 SKProductDiscount 的 NumberFormatter (_unconditionallyBridgeFromObjectiveC) 时崩溃
Crash using SKProductDiscount's NumberFormatter (_unconditionallyBridgeFromObjectiveC)
使用 Apple 在其文档中正式提供的代码:
extension SKProductDiscount {
var localizedPrice: String {
let formatter = NumberFormatter()
formatter.numberStyle = .currency
formatter.locale = self.priceLocale // Line #15 - this is where it crashes
return formatter.string(from: self.price) ?? ""
}
}
我有用户崩溃,根据 Crashlytics,这是堆栈跟踪:
令我吃惊的是,这段代码中的所有内容都只是 StoreKit。我已尝试更改为不同的语言环境,但我找不到如何使此崩溃发生。
仅供参考,它恰好发生在有免费介绍性优惠的产品上。所以格式化后的输出字符串是“[€,$,etc]0.00”.
导致崩溃的原因是什么static Locale._unconditionallyBridgeFromObjectiveC(_:)
?
这是一个 Apple 错误,已在 iOS 12 中修复。iOS 11 的唯一选择是不依赖此动态本地化,而是依赖一些自制逻辑...
使用 Apple 在其文档中正式提供的代码:
extension SKProductDiscount {
var localizedPrice: String {
let formatter = NumberFormatter()
formatter.numberStyle = .currency
formatter.locale = self.priceLocale // Line #15 - this is where it crashes
return formatter.string(from: self.price) ?? ""
}
}
我有用户崩溃,根据 Crashlytics,这是堆栈跟踪:
令我吃惊的是,这段代码中的所有内容都只是 StoreKit。我已尝试更改为不同的语言环境,但我找不到如何使此崩溃发生。
仅供参考,它恰好发生在有免费介绍性优惠的产品上。所以格式化后的输出字符串是“[€,$,etc]0.00”.
导致崩溃的原因是什么static Locale._unconditionallyBridgeFromObjectiveC(_:)
?
这是一个 Apple 错误,已在 iOS 12 中修复。iOS 11 的唯一选择是不依赖此动态本地化,而是依赖一些自制逻辑...