[iOS]iOS 10 崩溃全局断点定位不到

599 阅读1分钟

今天碰到一个大坑,听我慢慢细说。公司应用跑在 iOS 9 设备包括 iOS 9 之前都没有问题,今天在 iOS 10 的设备上跑了一下,一下就崩溃了,这个崩溃是当我调取系统日历的时候发生的。神奇的是,全局断点定位不到崩溃的地址。

坑.jpg

自己排了一上午都没有找到崩溃的方法,而且从堆栈信息上来看,是系统调取某个 block 时出现了问题,而且是一个 GCDblock

最后的解决办法是一个朋友说的,iOS 10 加强了应用隐私的管理,所有调取用户权限的,都需要在 info.plist 里进行配置。

这里有 iOS 10 的应用权限 key

// 蓝牙
Bluetooth Sharing – NSBluetoothPeripheralUsageDescription
// 日历
Calendar – NSCalendarsUsageDescription
// 电话
CallKit – NSVoIPUsageDescription
// 相机
Camera – NSCameraUsageDescription
// 通讯录
Contacts – NSContactsUsageDescription
// 健康
Health – NSHealthShareUsageDescription & NSHealthUpdateUsageDescription
// HomeKit 
HomeKit – NSHomeKitUsageDescription
// 定位
Location – NSLocationUsageDescription, NSLocationAlwaysUsageDescription, NSLocationWhenInUseUsageDescription
// 媒体资源 
Media Library – NSAppleMusicUsageDescription
// 麦克风
Microphone – NSMicrophoneUsageDescription
// 运动数据
Motion – NSMotionUsageDescription
// 照片
Photos – NSPhotoLibraryUsageDescription
// 提醒
Reminders – NSRemindersUsageDescription
// 语音识别
Speech Recognition – NSSpeechRecognitionUsageDescription
// Siri
SiriKit – NSSiriUsageDescription
// 电视
TV Provider – NSVideoSubscriberAccountUsageDescription

NewPan 的文章集合

下面这个链接是我所有文章的一个集合目录。这些文章凡是涉及实现的,每篇文章中都有 Github 地址,Github 上都有源码。

NewPan 的文章集合索引

如果你有问题,除了在文章最后留言,还可以在微博 @盼盼_HKbuy 上给我留言,以及访问我的 Github