iOS8的新特性:web
1.sizeClass 的推出:
在 iOS 8 中,Apple 的工程师们能够说“极富想象力”地干脆把限制和表征屏幕尺寸的长宽数字给去掉了,取而代之使用 size classes 的概念,将长宽尺寸按照设备类型和方向归类为 regular 和 compact 两类。经过为不一样的设备定义尺寸分类,用来定义同类型的操做特性,这使得开发者更容易利用一套 UI 来适配不一样的屏幕。
2. Cloud Kit :
能够不更改应用现有的数据模型和结构,而只是使用 Cloud Kit 来从云端获取数据或者向云端存储数据。
3.使用位置服务和推送消息必须通过用户受权。
4.新增长了 Photos.framework 框架,这个框架用于与系统内置的 Photo 应用进行交互,不只能够替代原来的 Assets Library 做为照片和视频的选取,还能与 iCloud 照片流进行交互。除此以外,一个很重要的特性是还能够监听其余应用对于照片的改变,能够说整个框架很是灵活。
5.第三方软件也能够经过touchID验证。(支付宝等)。
6.heatkit框架的推出。健康应用。步数,跑步距离,已爬楼梯,绑定应用后获取更多健康信息。
7.Spotlight。有时你须要查找一个联系人或一款app。Spotlight现能够为你提供各类建议,包括来自维基百科条目、周边地点、热门新闻以及更多。它甚至聪明到能够识别背景和地点,为你提供极其匹配的信息。
iOS 9 适配相关:
2.若是不适配iOS9,就不能偷偷在后台定位(不带蓝条,见图)!好消息:将容许出现这种场景:同一App中的多个location manager:一些只能在前台定位,另外一些可在后台定位,并可随时开启或者关闭特定location manager的后台定位。若是没有请求后台定位的权限,也是能够在后台定位的,不过会带蓝条。
3.UIAlertView过时。用UIAlertController 能够代替其功能。
4.tableView刷新不出来问题。虽然如今的iOS9已经推送正式版了,可是iOS9使用时仍是会感受到App比之前更加卡顿了,tableView拖动时卡顿显示的最为明显。 而且以前遇到一个bug,本来好的项目用xcode7一编译,tableView刷新出了问题 ,[tableView reloadData]无效 有一行cell明明改变了可是刷新不出来。 感受多是这个方法和某种新加的特性冲突了,猜想多是reloadData的操做被推迟到下一个RunLoop执行最终失效。
解决的方法是,注释[tableView reloadData],改用局部刷新,问题竟然就解决了。
5.URL scheme
URL scheme通常使用的场景是应用程序有分享或跳其余平台受权的功能,分享或受权后再跳回来。
在iOS8并无作过多限制,可是iOS9须要将你要在外部调用的URL scheme列为白名单,才能够完成跳转
若是iOS9没作适配 会报以下错误
具体的解决方案也是要在info.plist中设置LSApplicationQueriesSchemes类型为数组,下面添加全部你用到的scheme
6. iOS 8自动开启多点触控,可是iOS9默认不开启
在viewdidLoad里面增长:
self.view.multipleTouchEnabled=YES;
7.IOS9增长了语言后面的地区代码,中国原来的zh-Hanz变成了zh-Hanz-CN
8. Xcode7打包不了老项目了,报错bitcode,解决方法,build setting中关闭bitcode,设置enable bitcode为NO。
9.iOS中部分字体可能有所调整间隙变大,label中显示不全等问题。
数组