关于iOS10的新特性,带你快速了解

1.首先是版本适配的问题

 [[[[UIDevice currentDevice] systemVersion] substringToIndex:1] intValue] <= 10,此方法不能再作为判断系统版本的方法,因为在iOS10中“substringToIndex: 1”会被一直检测为iOS1

解决办法:OC

使用 [[[UIDevice currentDevice] systemVersion] compare:@"10" options:NSNumericSearch] == NSOrderedDescending 来判断,其中决定你要判断的条件有两个,“compare”:决定要判断的版本,"NSOrderedSame、NSOrderedDescending、NSOrderedAscending"等等决定你是升序还是降序判断

解决办法:Swift

ifNSProcessInfo().isOperatingSystemAtLeastVersion(NSOperatingSystemVersion(majorVersion:10,minorVersion:0,patchVersion:0)){  里面是条件成立后的代码块 }

2.ATS的问题

1. 我们都知道,在iOS9中使用http的网络是被禁止的,需要我们在info.plist文件中添加NSAppTransportSecurity字典,将NSAllowsArbitraryLoads设置为YES来禁用ATS,如果不知道的,点这里有解决方法

2.从2017年1月1日起,,所有新提交的 app 默认不允许使用NSAllowsArbitraryLoads来绕过ATS的限制,默认情况下你的 app 可以访问加密足够强的(TLS V1.2以上)HTTPS内容

3.可以选择使用NSExceptionDomains设置白名单的方式对特定的域名开放HTTP内容来通过审核

4.在iOS 10 中info.plist文件新加入了NSAllowsArbitraryLoadsInWebContent键,允许任意web页面加载,同时苹果会用 ATS 来保护你的app

5.安全传输不再支持SSLv3, 建议尽快停用SHA1和3DES算法

3.UIStatusBar的问题

在iOS10中,如果还使用以前设置UIStatusBar类型或者控制隐藏还是显示的方法,会报警告,方法过期,如下图:


解决办法:可以使用下面的属性或者方法

@property(nonatomic,readonly)UIStatusBarStyle preferredStatusBarStyle 

@property(nonatomic,readonly)BOOL prefersStatusBarHidden 

-(BOOL)prefersStatusBarHidden

-(UIStatusBarAnimation)preferredStatusBarUpdateAnimation

4.UIRefreshControl成为了UIScrollView的一个属性

在iOS 10 中, UIRefreshControl可以直接在UICollectionView和UITableView中使用,并且脱离了UITableViewController.现在RefreshControl是UIScrollView的一个属性.

使用方法:

UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];

[refreshControl addTarget: selfaction: @selector(refreshData) forControlEvents: UIControlEventValueChanged];

collectionView.refreshControl = refreshControl;

5.访问隐私数据会Crash

如果在项目中访问了隐私数据,比如:相机,相册,联系人等,在Xcode8中打开编译的话,统统都会crash,这是因为iOS对用户的安全和隐私的增强,在申请很多私有权限的时候都需要添加描述

解决办法:

要想解决这个问题,只需要在info.plist添加NSContactsUsageDescription的key, value自己随意填写就可以,如访问相机:key:NSCameraUsageDescription value:是否同意访问相机;相册:key:NSPhotoLibraryUsageDescription value:是否同意访问相册;定位:key: NSLocationUsageDescription value:是否同意访问位置信息;等等

6.UITextField新增textContentType属性

在iOS 10 中,UITextField新增了textContentType的属性,它是一个枚举,设置它可以指定输入框的类型,以便系统可以分析出用户的语义.是电话类型就建议一些电话,是地址类型就建议一些地址. 具体枚举值,可查看 UIKit/UITextInputTraits.h 文件中第148行.

7.对UICollectionView进行了优化

对UICollectionView进行了优化,并新增加了预加载UICollectionViewDataSourcePrefetching代理协议代理方法

-(void)collectionView: (UICollectionView*)collectionView prefetchItemsAtIndexPaths: (NSArray*)indexPaths

-(void)collectionView: (UICollectionView*)collectionView cancelPrefetchingForItemsAtIndexPaths: (NSArray*)indexPaths

注意:这两个代理方法并不能代替之前读取数据的方法,仅仅是辅助加载数据

8.UserNotifications用户通知的改变

以前通知的概念是: 大家想接受的提前做好准备, 然后一下全两分发, 没收到也不管了, 也不关心发送者,现在的用户通知做成了类似于网络请求, 先发一个request得到response的流程, 还封装了error,可以在各个状态的方法中做一些额外的操作, 并且能获得一些字段, 比如发送者之类的, 具体功能在: UserNotifications/UserNotifications.h文件里

9.UIColor的问题增加了sRGB来转换颜色,比RGB支持的颜色更多,性能更好

10.真彩色的类型显示

真彩色的显示会根据光感应器来自动的调节达到特定环境下显示与性能的平衡效果,如果需要这个功能的话,可以在info.plist里配置:

key: UIWhitePointAdaptivityStyle 

value有5种:

UIWhitePointAdaptivityStyleStandard // 标准模式

UIWhitePointAdaptivityStyleReading  // 阅读模式

UIWhitePointAdaptivityStylePhoto     // 图片模式

UIWhitePointAdaptivityStyleVideo     // 视频模式

UIWhitePointAdaptivityStyleStandard// 游戏模式

也就是说如果你的项目是阅读类的,就选择 UIWhitePointAdaptivityStyleReading 这个模式,五种模式的显示效果是从上往下递减, 也就是说如果你的项目是图片处理类的,你选择的是阅读模式,给选择太好的效果会影响性能.

推荐阅读更多精彩内容

  • 因为要结局swift3.0中引用snapKit的问题,看到一篇介绍Xcode8,swift3变化的文章,觉得很详细...
    uniapp阅读 3,393评论 0 12
  • 一、证书管理用Xcode8打开工程后,比较明显的就是下图了,这个是苹果的新特性,可以帮助我们自动管理证书。建议大家...
    seventhboy阅读 1,255评论 0 2
  • 随着iOS10发布的临近,大家的App都需要适配iOS10,下面是我总结的一些关于iOS10适配方面的问题,如果有...
    杨二哥阅读 402评论 4 2
  • 一、遇到的问题1、权限以及相关设置iOS10系统下调用系统相册、相机功能,或者苹果健康都会遇到闪退的情况,调用系统...
    零度_不结冰阅读 1,493评论 0 0
  • 原文地址:http://www.cnblogs.com/oc-bowen/p/5916630.html 主要为了自...
    今天又要上班吗阅读 907评论 1 4
  • 日薄西山,夕阳似血 你拖出藤椅,闭上双眼,衣衫褴褛,独自一人行走在记忆的世界里。 归雁划过天际,炊烟袅袅。 你可曾...
    三月烟霞阅读 81评论 2 1
  • 追女生教程1、追沉默高傲型的女生 咋一下似乎颇为棘手。其实这种女生外表冷漠,内心往往狂热,她们一般喜欢比较野一点的...
    红豆印迹阅读 210评论 0 1
  • 在我刚出生不久,刚能睁开眼不久,刚能懵懂的看着清外面的世界,见到自己的兄弟姐妹。 不用在凭着嗅觉去分辨气味,蹒跚的...
    萧萧秋雨阅读 391评论 42 27
  • 好友都问我;这么久了怎么还没有男朋友?我笑笑不语。我也在问自己为什么你没有男朋友呢?一个人到远方读大学,不该找个可...
    L初心阅读 150评论 0 0