美文网首页
iOS 10适配的坑

iOS 10适配的坑

作者: 伊尔今夏 | 来源:发表于2016-09-19 16:16 被阅读269次

    持续更新

     快捷键&第三方插件失效

    Xcode 8 中,这个注释快捷键⌘+/失效了,简直了.....这个稍不注意就把整段代码给删掉了,beta版本的问题显然没有在正式版本解决。

    解决方法:在终端输入 sudo /usr/libexec/xpccachectl  然后重启电脑,亲测有效。

    Xcode 8 取消了第三方插件,简直是噩耗呀。Xcode 8 也集成了一些插件,比如文档注释,如果你发现Add Documentation是灰色的不能使用也用上面命令执行即可。

    nullable错误

    在NSError 前面添加nullable会报错 比如:(nullable NSError* )error 要把nullable删除。

    Delegate

    现在使用animation的Delegate 都要在.h文件添加CAAnimationDelegate

    AppDelegate* app = (AppDelegate*)[[UIApplication sharedApplication] delegate]; 这个也要加个(AppDelegate *)

    访问相机crash

        在iOS 10调用相机直接crash,在iOS 10中调用相机,访问通讯录,访问相册等都要在plist中加入权限访问描述,不然涉及到这些权限的地方就会直接crash。

    相机权限: Privacy - Camera Usage Description 

    相册权限: Privacy - Photo Library Usage Description 

    通讯录权限: Privacy - Contacts Usage Description  

    蓝牙权限:Privacy - Bluetooth Peripheral Usage Description 

    定位权限:Privacy - Location When InUseUsageDescription

    语音转文字权限:Privacy - Speech RecognitionUsageDescription 

    日历权限:Privacy - CalendarsUsageDescription 

    ATS设置

    参考iOS 10 的 ATS 设置问题

    关于苹果从 2017 年 1 月 1 日起,所有的新提交 app 默认是不允许使用NSAllowsArbitraryLoads来绕过 ATS 限制的。所以最好还是使用HTTPS的链接比较稳妥。因为Xcode 8支持最低编译的版本是iOS 8 ,苹果都放弃了iOS 7 ,我们也不再维护了。最低版本iOS 8 借此可以删掉程序里面兼容iOS 7 的代码,或者使用新的一些API。比如:

    1.使用WKWebview 全面替代 UIWebView 。WKWebView是iOS 8开始使用,亲测比UIWebView好用不是一丢丢。而且 NSAllowsArbitraryLoadsInWebContent在info.plist中设置为YES之后,可以在WKWebView中访问http/https链接,比较坑的就是它会覆盖掉NSAllowsArbitraryLoads的设置,默认程序中其它非webview的链接请求都是要https

    2.NSURLSession 替代 NSURLConnection。NSURLSession还算比较好用。但是之前NSURLConnection是可以支持异步/同步执行,session是异步执行,如果一定要用session来实现同步,需要额外的一些线程操作。

     UNUserNotification

    iOS 10 将本地通知和远程通知都融合在一起,并且还丰富的通知的形式,又一个extension。

    喵大 OneV 's Den 活久见的重构-UserNotifications

    Dely 写的3篇关于消息推送 iOS 10 消息推送秘籍总结

    相关文章

      网友评论

          本文标题:iOS 10适配的坑

          本文链接:https://www.haomeiwen.com/subject/lolnettx.html