ios - 在 iOS 13 中请求位置权限时出现奇怪的崩溃
问题描述
设备:
iPhone 8、iOS 13.1.3
来自 crashlytics 的崩溃日志:
#0. Crashed: com.apple.main-thread
0 XXXXXXXXXX 0x104d1a63c _hidden#14520_ + 71 (__hidden#14570_:71)
1 XXXXXXXXXX 0x104d195a4 _hidden#14511_ (__hidden#14570_)
2 XXXXXXXXXX 0x104d19b80 _hidden#14512_ (__hidden#1229_)
3 XXXXXXXXXX 0x104de4594 _hidden#21237_ + 70 (__hidden#27902_:70)
4 XXXXXXXXXX 0x104de3e54 _hidden#27841_ + 4345593428
5 XXXXXXXXXX 0x104d7ae20 _hidden#21212_ (__hidden#1229_)
6 XXXXXXXXXX 0x104ca897c _hidden#5864_ + 122 (__hidden#5883_:122)
7 XXXXXXXXXX 0x104ca8608 _hidden#5854_ (__hidden#1229_)
8 CoreLocation 0x1a6066f1c CLClientStopVehicleHeadingUpdates + 72644
9 CoreLocation 0x1a6066d20 CLClientStopVehicleHeadingUpdates + 72136
10 CoreLocation 0x1a60503b8 CLClientInvalidate + 1400
11 CoreFoundation 0x1a2eba614 __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 20
12 CoreFoundation 0x1a2eb9db4 __CFRunLoopDoBlocks + 264
13 CoreFoundation 0x1a2eb54ec __CFRunLoopRun + 2312
14 CoreFoundation 0x1a2eb48bc CFRunLoopRunSpecific + 464
15 GraphicsServices 0x1acd20328 GSEventRunModal + 104
16 UIKitCore 0x1a6f4a6d4 UIApplicationMain + 1936
17 XXXXXXXXXX 0x104c70a38 main + 20 (__hidden#1227_:20)
18 libdyld.dylib 0x1a2d3f460 start + 4
当我请求位置许可时
locationManager.requestWhenInUseAuthorization()
我的应用程序崩溃。未显示询问位置权限的系统对话框,仅屏幕褪色并且 3 秒后应用程序崩溃。在 99% 的设备上,它只能在一台崩溃的设备上正常工作。
谢谢你的帮助。
解决方案
那么问题是新的 iOS 13 屏幕录制不是录制位置权限对话框。所以实际上,显示了位置许可对话框,用户点击了“仅一次”,然后应用程序崩溃了……天哪,花了 2 周时间才意识到这一点
推荐阅读
- r - R:在控制台中显示一个连续的微调器,同时代码完成执行
- arrays - PowerShell 数组迭代或解析问题?
- html - 如何强制 3 个按钮在所有屏幕尺寸上均匀显示在同一行?
- sqlite - 寻求有关创建 sqlite 查询以根据 FIFO 方法处理买卖交易并生成组合摘要的建议
- c# - 为什么 md5 哈希与登录时的文本密码不匹配?
- python - AWS Sam 调用本地 lambda 的问题
- php - 逗号前面的零不显示
- go - 如何获取 gRPC 响应限制
- mongodb - 指定数据库名称时无法连接到 MongoDB
- android - Android Java Dagger Inject Problems