您的位置:首页 > 移动开发 > Swift

CocoaChina(总结)升级到xcode8遇到的问题及解决方案

2016-12-27 09:26 381 查看
此总结由CocoaChina论坛版主wo709128079及广大坛友共同汇总.>>查看原帖
升级Xcode8已是必然,升级iOS 10的用户不能说大有人在,应该也不会少,楼主听说,如果不升级Xcode8,上架最新的包,那么可能应用在iOS 10 上是不支持的.so,这些Xcode8的新特性,你应该了解!!! 

1.快捷键  command + /   注释失效; 
解决方法1: Xcode -> preferences -> key bindings 中的comment selection 是否设置上快捷键了  
解决方法2:http://blog.csdn.net/jnbbwyth/article/details/52576169 第四个问题详解

2.Xcode8支持iOS 8以下真机测试方法:
①.应用程序-Xcode 显示包内容-Contents-Developer-Platforms-iPhoneOS.platform-DeviceSupport 把里边 6.0 6.1 7.0 7.1 的文件夹粘贴到xcode8 对应的文件夹内  
②.应用程序-Xcode 显示包内容-Contents-Developer-Platforms-iPhoneOS.platform-Developer-SDKs-iPhoneOS.sdk-SDKSettings.plist 文件下DefaultProperties - DEPLOYMENT_TARGET_SUGGESTE...  该数组中添加 6.0 6.1 7.0 7.1 对应的测试版本,(注意:如果你的文件是只读模式的,那么是不能修改的,你需要把Contents-Developer-Platforms-iPhoneOS.platform-Developer-SDKs-  iPhoneOS.sdk-SDKSettings.plist 这些文件的只读模式都改成读写模式)这个版本排序一定要是从小到大,直接把小的添加到下面是不管用的,必须把小的拖到最上边.这个时候退出你的Xcode,然后  重新启动,你就会发现ios8.0以下的真机 也可以正常测试了 

3.如果项目中包含证书
证书内包含的Id 必须与 bundle Id 保持一致才行,开发者team账号必须创建了 该 bundle Id 对应的证书,就是说不是所有的苹果账号都能真机测试了(这里说的是项目中有证书的前提下)

4.使用Xcode 8创建新项目
会让你选择开发者team为了自动生成对应的证书。在新老项目的General中也可以对签名进行设置,勾选自动管理证书(可选的),Xcode会自动替你生成调试证书和描述问题,证书与描述文件有效期为6天,避免了大量的垃圾冗余证书占用问题。

5.- (void)webView:(UIWebView *)webView didFailLoadWithError:(nullable NSError *)error;  变成了- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error

6.版本target 从8.0 起步了

但是老代码的7.1 用Xcode8 打开还是显示7.1,可以手写输入7.1,仍然管用.

7.之前两个汉字占用24宽度,现在占用27了
导致部分UI可能需要重新适配; 或者判断下当前系统版本,如果>=10.0,就让需要适配的控件调用  sizetofit  方法.

8.权限
* 麦克风权限:Privacy - Microphone Usage Description 是否允许此App使用你的麦克风?
* 相机权限: Privacy - Camera Usage Description 是否允许此App使用你的相机?
* 相册权限: Privacy - Photo Library Usage Description 是否允许此App访问你的媒体资料库?
* 通讯录权限: Privacy - Contacts Usage Description 是否允许此App访问你的通讯录?
* 蓝牙权限:Privacy - Bluetooth Peripheral Usage Description 是否许允此App使用蓝牙?
* 语音转文字权限:Privacy - Speech Recognition Usage Description 是否允许此App使用语音识别?
* 日历权限:Privacy - Calendars Usage Description 是否允许此App使用日历?
* 定位权限:Privacy - Location When In Use Usage Description 我们需要通过您的地理位置信息获取您周边的相关数据
* 定位权限: Privacy - Location Always Usage Description 我们需要通过您的地理位置信息获取您周边的相关数据

9.引用:45楼:Dcook -> MJRefresh iOS10的系统上每次下拉刷新后没办法完全恢复Normal 状态  Y轴距离上总是相差20左右...(楼主个人也使用的MJ,表示暂时没有发现这个问题)
解决方案: http://www.cnblogs.com/dev1024/p/5889865.html

10.引用:雨季的雾  ItunesConnect上传遇到问题,ERROR ITMS-90682: "Invalid Bundle. The asset catalog at 'Payload/ElitePlus.app/Assets.car' can't contain 16-bit or P3 assets if the app is targeting iOS releases earlier than iOS 9.3."  
解决方法:
http://www.cnblogs.com/zyonbao/p/5872943.html
http://www.jianshu.com/p/b13e1e441116

11.iOS 10 因苹果健康导致闪退 crash
原文链接:http://www.jianshu.com/p/545bd1bf5a23
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'NSHealthUpdateUsageDescription must be set in the app's Info.plist in order to request write authorization.'

12.引用79楼:新增了CAAnimationDelegate,之前使用CAAnimation的文件需要强制添加代理

13.上架苹果商店,如果上传了ipa,但是在提交的时候构建版本的地方没有?,那么请确定你应用中的权限是否已经添加,添加的权限描述是否填写,推送是否已经开启(视情况而定);

14.教你如何科学的在Xcode8上使用插件  
转自:AME_时雨 链接:http://www.cocoachina.com/bbs/read.php?tid-1705417.html

好文章推荐1: http://blog.csdn.net/jnbbwyth/article/details/52576169
内含:证书管理/xib注意事项/代码及Api注意/代码注释不能用的解决办法/权限以及相关设置 6.字体变大,原有frame需要适配 7.推送 8.屏蔽杂乱无章的bug
好文章推荐2:转自 舞小月 http://www.cocoachina.com/bbs/read.php?tid-1695563.html
iOS 10相册相机闪退bug
http://www.jianshu.com/p/5085430b029f
iOS 10 因苹果健康导致闪退 crash
http://www.jianshu.com/p/545bd1bf5a23
麦克风、多媒体、地图、通讯录
iOS 10相机等崩溃
http://www.jianshu.com/p/ec15dadd38f3
iOS 10 配置须知
http://www.jianshu.com/p/65f21dc5c556
iOS开发 适配iOS 10以及Xcode8
http://www.jianshu.com/p/9756992a35ca

好文章推荐3:iOS10 推送须知:
http://www.cocoachina.com/ios/20161017/17769.html
好文章推荐4:Xcode8新特性和坑
http://www.cocoachina.com/ios/20161024/17830.html
好文章推荐5: iOS10 不log:
http://ios.jobbole.com/89270/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐