易维信(EVTrust)数字证书

  SSL证书咨询   SSL证书咨询
  SSL证书咨询   SSL证书咨询
400-86365-00
  • QQ在线咨询:
首页>业界新闻>苹果 iOS10 新特性(一)

苹果 iOS10 新特性(一)

一、系统判断方法失效:

在项目中,当需要判断系统版本的话,不要使用下面的方法:

iOS10

它会永远返回 NO,substringToIndex:1在iOS 10 会被检测成 iOS 1,应使用下面的方法:

Objective-C 中这样写:

iOS10

或是这样:

iOS10

或是这样:

iOS10

有时候会缺少一些常量,NSFoundationVersionNumber是在NSObjCRuntime.h中定义的,在iOS 10(Xcode 8)中,苹果补充了缺少的数字,设置有未来的版本。

iOS10

Swift中这样写:

iOS10

或是这样:

iOS10

二、UIColor的问题

iOS 官方文档指出:大多数core开头的图形框架和AVFoundation都提高了对扩展像素和宽色域色彩空间的支持.通过图形堆栈扩展这种方式比以往支持广色域的显示设备更加容易。现在对UIKit扩展可以在sRGB的色彩空间下工作,性能更好,也可以在更广泛的色域来搭配sRGB颜色.如果你的项目中是通过低级别的api自己实现图形处理的,建议使用sRGB,也就是说在项目中使用了RGB转化颜色的建议转换为使用sRGB,在UIColor类中新增了两个api:

iOS10

三、隐私数据的访问问题

如果项目中访问了隐私数据,比如:通讯录,相册等,并在Xcode8中打开编译的话,都会crash掉。这是由于iOS对用户的安全和隐私的增强,在申请很多私有权限的时候都要添加相应的描述,但在使用Xcode 8之前的Xcode还是使用系统的权限通知框。要想解决这个问题,只需要在info.plist添加NSContactsUsageDescription的key, value自己随意填写就可以。

如果不起作用,可以请求后台权限,类似这样:

iOS10

或者在Xcode里选中当前的target,选择Capabilities,找到Background Modes,打开它,在里面选择对应权限

iOS10

四、ATS的问题

1.在iOS 9的时候,默认非HTTS的网络是被禁止的,我们可以在info.plist文件中添加NSAppTransportSecurity字典,将NSAllowsArbitraryLoads设置为YES来禁用ATS;

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

3.可以选择使用NSExceptionDomains设置白名单的方式对特定的域名开放HTTP内容来通过审核,比如说你的应用集成了第三方的登录分享SDK,可以通过这种方式来做,下面以新浪SDK作为示范(Source Code 模式下):

iOS10

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

5.安全传输已经不再支持SSLv3, 建议停止使用SHA1和3DES算法;

  • 易维信(EVTrust)官方微博

SSL证书销销售直线_0755 - 86 522 365

深圳市易维信科技服务有限公司   统一客服热线:400-86365-00    销售直线:0755 - 86 522 365   Q Q:86365 1133 、86365 1100 、86365 3311 、86365 9911

Copyright @ 2014-2019 EVTrust All Rights Reserved 粤ICP备14076676号-1 |