一、权限问题
解决非常简单 在工程中的info.plist文件中添加响应属性即可,如下图
麦克风权限:Privacy - Microphone Usage Description
相机权限: Privacy - Camera Usage Description
相册权限: Privacy - Photo Library Usage Description
通讯录权限: Privacy - Contacts Usage Description
蓝牙权限:Privacy - Bluetooth Peripheral Usage Description
日历权限:Privacy - Calendars Usage Description
定位权限:Privacy - Location When In Use Usage Description
二、通知问题
iOS7 开始支持后台推送 在iOS9之前,app进入后台后收到通知都会进入该代理方法,获取通知的数据,在iOS10 中,只有后台推送才会进入该方法,即设置推送的content-available
才会进入,iOS10 可以使用最新的userNotification.framework或者didReceiveRemoteNotification
获取通知内容 不过该方法在iOS10中已经废弃,还是建议适配iOS10
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler NS_AVAILABLE_IOS(7_0) __TVOS_PROHIBITED;
关于通知的补充
接入 iOS Notification Service Extension 的注意事项:
- mutable-content 要为 1 ,系统才会让通过 NotificationService 去下载图片资源,否则不会使用该类;
- 资源路径一定要是
_https_
的,否则无法生效,还有图片大小不宜过大,因为通过 NotificationService 下载图片资源的时间很短,图片资源太大,系统会来不及下载; - attachment 支持类型如下:
示例 playload:
{"aps": {"alert":{"title": "测试 title","body": "测试 body"},"mutable-content":1},"sound": "default","image": "https://upload-images.jianshu.io/upload_images/2691764-7859401c51e1e9b9.png","category": "test"}