文章目录
-
-
- 一、 iOS 13 支持的机型
- 二、 适配要求
- 三、具体适配清单
-
- 1、 Dark Mode
- 2、Sign In with Apple
- 3、模态弹出视图的显示问题
- 4、不允许使用KVC进行对私有属性进行获取或者修改
- 5、推送的 deviceToken 获取到的格式发生变化
- 6、 iOS13以后将不再继续支持UIWebView
- 7、UISearchDisplayController被废弃
- 8、 MPMoviePlayerController 被弃用
- 9、蓝牙权限字段更新导致审核失败
- 10、 LaunchImage 被弃用
- 11、 UISegmentedControl 默认样式改变
- 13、 StatusBar 与之前版本不同
- 14、 TabBar 选中文字颜色变成系统默认蓝色
-
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
作为同等的选项添加到应用上。
如果是下面这些类型的应用则不需要添加:
•仅仅使用公司内部账号来注册和登录的应用;
•要求用户使用现有的教育或企业账号进行登录的