二.适配iOS10之后的远程推送和权限访问
2017-01-07 本文已影响53人
小白哥有话说
1.报错:apns.failToRegisterApns
用同样人家的项目不会报这个错误,自己的就会报(在iOS10之后的系统上运行的)
解决办法:
iOS10之后苹果推送引入一个
UNUserNotificationCenter新的通知类,必须把下面的打开才可以使用,才能解决!
为了项目后续需要,上面的Maps 和 Background Modes 也一并打开
2.关于iOS10之后的访问应用程序权限问题,可以用在info.plist 中替换成我加入的以下特性,拿走不谢!
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
<key>NSAppleMusicUsageDescription</key>
<string>DaviD环信需要您的同意,才能访问媒体资料库</string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>DaviD环信需要您的同意,才能访问蓝牙</string>
<key>NSCalendarsUsageDescription</key>
<string>DaviD环信需要您的同意,才能访问日历</string>
<key>NSCameraUsageDescription</key>
<string>DaviD环信需要您的同意,才能访问相机</string>
<key>NSContactsUsageDescription</key>
<string>DaviD环信需要您的同意,才能访问通讯录</string>
<key>NSHealthShareUsageDescription</key>
<string>DaviD环信需要您的同意,才能访问健康分享</string>
<key>NSHealthUpdateUsageDescription</key>
<string>DaviD环信需要您的同意,才能访问健康更新 </string>
<key>NSHomeKitUsageDescription</key>
<string>DaviD环信需要您的同意,才能访问HomeKit</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>DaviD环信需要您的同意,才能始终访问位置</string>
<key>NSLocationUsageDescription</key>
<string>DaviD环信需要您的同意,才能访问位置</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>DaviD环信需要您的同意,才能在使用期间访问位置</string>
<key>NSMicrophoneUsageDescription</key>
<string>DaviD环信需要您的同意,才能访问麦克风</string>
<key>NSMotionUsageDescription</key>
<string>DaviD环信需要您的同意,才能访问运动与健身</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>DaviD环信需要您的同意,才能访问相册</string>
<key>NSRemindersUsageDescription</key>
<string>DaviD环信需要您的同意,才能访问提醒事项</string>
<key>NSSiriUsageDescription</key>
<string>DaviD环信需要您的同意,才能访问Siri</string>
<key>NSSpeechRecognitionUsageDescription</key>
<string>DaviD环信需要您的同意,才能访问语音识别</string>
<key>NSVideoSubscriberAccountUsageDescription</key>
<string>DaviD环信需要您的同意,才能访问您的视频</string>
最终效果如下:
Pasted Graphic 1.jpg