前几天升级OS X EI Capitan 10.11.1, 以及Xcode7.1,正好赶上公司新产品上线,要做iOS9的适配,遇到各种坑,各种查资料,随之记录总结一下遇到的坑.
先说下要适配iOS9要做的事:
1.更改http为https
两种方案:
一.公司后台服务器更改;
二.作为开发者,可在Xcode暂时退回到http协议. 开发者更改方法如下:
1.在Info.plist中添加App Transport Security Settings (或NSAppTransportSecurity), 类型Dictionary。
2.在App Transport Security Settings下添加Allow Arbitrary Loads (或NSAllowsArbitraryLoads), 类型Boolean,值设为YES.
2.对于使用ShareSDK第三方登录或分享,对iOS9的适配
可参考官方文档详细
包括:https协议支持,关闭bitcode支持,添加Scheme白名单.
3.Xcode7报错:Assertion failure in -[UIApplication _runWithMainScene:transitionContext:completion:]
从iOS9开始,Xcode7需要所有UIWindow在makeKeyAndVisible之前必须有一个rootViewController,否则报以上错误。
解决方案:
UIViewController *emptyView = [[UIViewController alloc] init];
self.window.rootViewController = emptyView;
[self.window makeKeyAndVisible];
4.Xcode7打开旧项目FrameWork文件夹下的.dylib库缺失,添加方法
项目Target中Link Binary With Libraries 点击下方 “+”添加, 显示搜索页面,在此搜.dylib搜不出来(只能搜到同名的.tbd), 需点击 Add Other,出现文件目录页面 (正常情况通过Finder同样找不到.dylib文件,因该文件是隐藏文件。需按快捷键 CMD+Shift+G,输入/usr/lib后进入隐藏界面,然后添加需要的.dylib即可。
5.Xcode7 真机测试,真机出现"unavailable"字样,Could not find developer disk image.
stackoverflower答案: 点击查看
解决方案:
先关闭Xcode.再从Xcode 6.4中,拷贝8.4 (12H141)文件夹到Xcode 7的对应目录下.
Xcode 6.4路径为:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
Xcode 7路径为:
http://jiemeng.114s.cn/doc/10246.html
重新打开Xcode 7,打开项目,需要等一会,等到菊花不转了,才能运行。
6.App上传Appstore错误