iOS13相关变化及适配


9月20号iOS 13 已正式发布,第一时间更新了最新系统,网上对其用户体验上的新特性的描述也很多,而对于开发者来说,更需要关注的是新系统在 API 层面做了哪些改动,对我们现有的代码产生什么影响,需要做什么样的适配。

本文主要列举了一些需要开发者注意的地方,不一定项目中都有涉及到相关发生变化的东西,但仍需注意。

一、 iOS 13 支持的机型

•iPhone X、iPhone XR、iPhone XS、iPhone XS Max
•iPhone 8、iPhone 8 Plus
•iPhone 7、iPhone 7 Plus
•iPhone 6s、iPhone 6s Plus
•iPhone SE
•iPod touch (第七代)

二、 适配要求

Starting April, 2020, all iOS apps submitted to the App Store will need to be built with the iOS 13 SDK or later. They must also support the all-screen design of iPhone XS Max or the 12.9-inch iPad Pro (3rd generation), or later.

根据官网的说法,2020年4月之后所有提交到 App Store 的应用必须使用 iOS 13 以上的 SDK 进行编译,并要求屏幕尺寸支持 iPhone Xs Max 和 12.9 寸 iPad Pro。

三、具体适配清单

1、 Dark Mode

Dark Mode(暗黑模式)是苹果在iOS13推出的新特性。使用iOS13及更高版本的系统的iOS 设备,可以使用暗黑模式。在暗黑模式下,系统会采用较暗的视图控件。开发者在开发过程中需要对视图控件进行相应暗模式的适配。

适配原理:
1.将同一个资源,创建出两种模式的样式。系统根据当前选择的样式,自动获取该样式的资源
2.每次系统更新样式时,应用会调用当前所有存在的元素调用对应的一些重新方法,进行重绘视图,可以在对应的方法做相应的改动

如果不打算适配 Dark Mode,可以强行关闭暗黑模式

if(@available(iOS 13.0, *)){
        [self setOverrideUserInterfaceStyle:UIUserInterfaceStyleLight];
    }

不过即使设置了颜色方案,系统自带的申请各个权限的弹窗还是会依据系统的颜色进行显示,自己创建的提示弹窗 UIAlertController则不会。

对于暗黑模式,如果项目中重新对各个控件设置过背景色,那么即使开启暗黑模式,也不会对控件的背景色有影响;如果未重新设置过背景色,那么APP里的控件就会根据系统的显示模式而显示相应的颜色,此时需要适配暗黑模式,否则有些控件显示就会异常。

2、Sign In with Apple

在 iOS 13 中苹果推出一种在 App 和网站上快速、便捷登录的方式: Sign In With Apple。这是 iOS 13 新增的功能,因此需要使用 Xcode 11 进行开发。关于应用是否要求接入此登录方式,苹果在 App Store 应用审核指南 中提到:

Apps that exclusively use a third-party or social login service (such as Facebook Login, Google Sign-In, Sign in with Twitter, Sign In with LinkedIn, Login with Amazon, or WeChat Login) to set up or authenticate the user’s primary account with the app must also offer Sign in with Apple as an equivalent option.

如果应用使用了第三方或社交账号登录服务(如Facebook、Google、Twitter、LinkedIn、Amazon、微信等)来设置或验证用户的主账号,就必须把 Sign In With Apple 作为同等的选项添加到应用上。

如果是下面这些类型的应用则不需要添加:
•仅仅使用公司内部账号来注册和登录的应用;
•要求用户使用现有的教育或企业账号进行登录的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值