项目适配iOS9
2015-09-23 14:56
453 查看
转载_会飞的鱼文章
1.网络请求报错。
升级Xcode 7.0发现网络访问失败。
输出错误信息
原因:iOS9引入了新特性App Transport Security (ATS)。
详情:App Transport Security (ATS)
新特性要求App内访问的网络必须使用HTTPS协议。
但是现在公司的项目使用的是HTTP协议,使用私有加密方式保证数据安全。现在也不能马上改成HTTPS协议传输。
最终找到以下解决办法:
2F5721B6-2C74-4B59-84B3-7D77C541038F.png
2.Bitcode问题
原因:Xcode7 及以上版本会默认开启 bitcode 。
bitcode具体是什么就不解释了。
解决方法:
1.更新library使包含Bitcode,否则会出现以上的警告。
2.关闭Bitcode,简单粗暴。
20150917113544983.jpg
3.项目运行报错如下
出错原因:设置app的状态栏样式的使用使用了旧的方式,在info.plist里面设置了View controller-based status bar appearance为NO,默认为YES,一般式iOS6的时候使用这种方式,iOS7,8也兼容,但是到了iOS9就报了警告。
解决办法:
删除 原先的设置代码
修改方式将View controller-based status bar appearance设置为YES,然后使用新的方式来实现状态栏的样式。
2F5721B6-2C74-4B59-84B3-7D77C541038F.png
在你的 自定义导航控制器里面 写上如下方法:
//设置状态栏的(亮色)白色
记住要clean 或者删除应用程序 重新运行
1.网络请求报错。
升级Xcode 7.0发现网络访问失败。
输出错误信息
#warning: 获取app配置信息失败: The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.
原因:iOS9引入了新特性App Transport Security (ATS)。
详情:App Transport Security (ATS)
新特性要求App内访问的网络必须使用HTTPS协议。
但是现在公司的项目使用的是HTTP协议,使用私有加密方式保证数据安全。现在也不能马上改成HTTPS协议传输。
最终找到以下解决办法:
在Info.plist中添加NSAppTransportSecurity类型Dictionary。在NSAppTransportSecurity下添加NSAllowsArbitraryLoads类型Boolean,值设为YES
2F5721B6-2C74-4B59-84B3-7D77C541038F.png
2.Bitcode问题
原因:Xcode7 及以上版本会默认开启 bitcode 。
bitcode具体是什么就不解释了。
解决方法:
1.更新library使包含Bitcode,否则会出现以上的警告。
2.关闭Bitcode,简单粗暴。
Build Settings”->”Enable Bitcode”改成"NO"。
20150917113544983.jpg
3.项目运行报错如下
<Error>: CGContextSaveGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
<Error>: CGContextTranslateCTM: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
<Error>: CGContextRestoreGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
出错原因:设置app的状态栏样式的使用使用了旧的方式,在info.plist里面设置了View controller-based status bar appearance为NO,默认为YES,一般式iOS6的时候使用这种方式,iOS7,8也兼容,但是到了iOS9就报了警告。
解决办法:
删除 原先的设置代码
//设置状态栏的白色 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
修改方式将View controller-based status bar appearance设置为YES,然后使用新的方式来实现状态栏的样式。
2F5721B6-2C74-4B59-84B3-7D77C541038F.png
在你的 自定义导航控制器里面 写上如下方法:
//设置状态栏的(亮色)白色
-(UIStatusBarStyle)preferredStatusBarStyle{ return UIStatusBarStyleLightContent;}
记住要clean 或者删除应用程序 重新运行
相关文章推荐
- iOS阴影
- iOS8 AutoLayout与Size Class 自悟
- iOS设计模式——委托(delegate)
- iOS 的 Tint Color 属性详解
- iOS导航控制器常用函数与navigationBar常用属性
- IOS多选单选相册图片
- iOS loadView,viewDidLoad,viewDidUnload用法
- IOS 四种保存数据的方式
- iOS socket 连接第三方库asyncsocket 和GCDasyncsocket
- iOSARC下block,代理声明属性
- iOS之 NSTimer(二)
- 关于Cocoapods更新的问题
- iOS——iOS9适配和xcode7适配
- AVAudioSession
- iOS 之 MVC 开发模式
- iOS MD5加密算法
- 项目适配iOS9遇到的一些问题及解决办法(更新两个小问题)
- iOS9适配
- JS判断客户端是否是iOS或者Android或者ipad(二)
- 初探 iOS8 中的 Size Class