iOS 9 工程配置注意事项
来源:互联网 发布:创建文件夹没权限linux 编辑:程序博客网 时间:2024/05/27 09:44
一、http 与 https的问题
iOS9让所有的HTTP默认使用了HTTPS,原来的HTTP协议传输都改成TLS1.2协议进行传输。直接造成的情况就是App发请求的时候弹出网络无法连接。解决办法就是在项目的info.plist 文件里加上如下节点:
NSAppTransportSecurity
二、BitCode
bitcode的理解应该是把程序编译成的一种过渡代码,然后苹果再把这个过渡代码编译成可执行的程序。bitcode也允许苹果在后期重新优化我们程序的二进制文件,有类似于App瘦身的思想。
三、企业证书打包ipa安装后信任问题
这一条只和企业级应用或inhose 有关,和AppStore渠道的应用无关。
在iOS8只是弹出一个窗问你是否需要让手机信任这个应用,但是在iOS9却直接禁止,如果真的想信任需要自己去手动开启。类似于Mac系统从未知开发者处下载的dmg直接打不开,然后要到系统偏好设置的安全性与隐私手动打开。
四、URL scheme
URL scheme一般使用的场景是应用程序有分享或跳其他平台授权的功能,分享或授权后再跳回来。
在iOS8并没有做过多限制,但是iOS9需要将你要在外部调用的URL scheme列为白名单,才可以完成跳转;如果iOS9没做适配 会报错误;
具体的解决方案也是要在info.plist中设置 LSApplicationQueriesSchemes 类型为数组,下面添加所有你用到的scheme
五、statusbar
以前我们为了能够实时的控制顶部statusbar的样式,可能会在喜欢使用
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent][[UIApplication sharedApplication]setStatusBarHidden:YES];
但是这么做之前需要将 info.plist 里面加上View controller-based status bar appearance BOOL值设为NO,就是把控制器控制状态栏的权限给禁了,用UIApplication来控制。但是这种做法在iOS9不建议使用了,建议我们使用吧那个BOOL值设为YES,然后用控制器的方法来管理状态栏比如。
- (UIStatusBarStyle)preferredStatusBarStyle{ return UIStatusBarStyleLightContent;}
六、didFinishLaunchingWithOptions
iOS9不允许在didFinishLaunchingWithOptions结束了之后还没有设置window的rootViewController。 也许是xcode7的编译器本身就不支持。
解决的方法当然就是先初始化个值,之后再赋值替换掉;
七、tableView
虽然现在的iOS9已经推送正式版了,但是iOS9使用时还是会感觉到App比以前更加卡顿了,tableView拖动时卡顿显示的最为明显。 并且之前遇到一个bug,原本好的项目用xcode7一编译,tableView刷新出了问题 ,[tableView reloadData]无效 有一行cell明明改变了但是刷新不出来。 感觉可能是这个方法和某种新加的特性冲突了,猜测可能是reloadData的操作被推迟到下一个RunLoop执行最终失效。
解决的方法是,注释[tableView reloadData],改用局部刷新。
[self.tableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationNone];
八、ActionSheet
Actionsheet 在iOS8的时候改了一次版,当时是和AlertView二合一,并且以AlertViewController作为载体,之后再present出来,这在当时,苹果应该是想统一各个控件的展示方式,但是很多人可能并没有在意因为直接show那个方法并没有废除,大家都觉得应该是新旧都能用,再加上有的公司可能自己还做了一定扩展,诸多原因导致还是用的旧方法。
原文:http://www.cnblogs.com/dsxniubility/p/4821184.html
- iOS 9 工程配置注意事项
- IOS工程配置
- 配置maven工程时的注意事项
- ios证书配置的注意事项
- iOS: Xcode 工程配置: Header Search Paths
- iOS 导入Charts 及工程配置
- 复制myeclipse工程,注意事项
- Android 导入工程注意事项
- 工程人员注意事项
- 建STM32工程注意事项
- VS工程注意事项
- 工程开发注意事项
- Laravel新建工程注意事项
- svn,maven工程注意事项
- stm32_008_mdk创建工程注意事项
- IOS注意事项
- iOS注意事项
- ios注意事项
- Codeforces 615B Longtail Hedgehog【dp】
- 请问而且哇
- 浅谈JavaScript的内置对象和浏览器对象
- 关于重写UITextField的问题
- 二级c语言复习3
- iOS 9 工程配置注意事项
- 【Leetcode】386. Lexicographical Numbers
- 2-静态库的创建与使用
- 网易2017校园招聘笔试题 最大的奇约数
- Single Number II
- {模板}并查集...
- 初识软件工程
- select2下拉模糊查询多选
- 设计模式-分类