本文首发于 WWDC22 开发者需要关注的重点内容 - 掘金,欢迎关注我们 @37手游iOS技术运营团队 。
作者:iHTCboy
iOS 16 系统新特性,WWDC22 开发者,需要关注的重点内容、注意事项等,快速了解最新内容和需要适配的最新情况。
一、iOS 16
1.1 iOS 16 兼容设备
- iPhone 13
- iPhone 13 mini
- iPhone 13 Pro
- iPhone 13 Pro Max
- iPhone 12
- iPhone 12 mini
- iPhone 12 Pro
- iPhone 12 Pro Max
- iPhone 11
- iPhone 11 Pro
- iPhone 11 Pro Max
- iPhone XS
- iPhone XS Max
- iPhone XR
- iPhone X
- iPhone 8
- iPhone 8 Plus
- iPhone SE (第二代及后续机型)
1.2 iPadOS 16 兼容设备
- iPad Pro (全部机型)
- iPad Air (第三代及后续机型)
- iPad (第五代及后续机型)
- iPad mini (第五代及后续机型)
1.3 系统更新内容
从用户角度:
从开发者角色:
系统详细更新日志:
1.4 升级新系统
详细教程:
二、升级后注意事项
与我们游戏或开发有关的注意事项
2.1 开发者模式
在 iOS16 以前,添加设备到证书的开发者app,默认是允许自由打开。
而在 iOS 16,增加了“开发者模式”,顾名思意,跟安卓一样,开启开发者模式,才能调试系统的一些能力。
打开“开发者模式”,在设置 -> 隐私与安全性 -> 开发者模式,默认是关闭状态。
点击开启后,会弹窗,需要确认后,设备需要重启后才能生效!
并且,设备重启后,系统还会弹窗2次确认,是否开启。并提示开启会“your device security will be reduced.
”(降低系统的安全性)。
企业证书
目前测试,企业证书签名的 app,不受“开发者模式”影响,只需要单独信任证书即可打开。
TestFlight
目前“开发者模式” 影响 TestFlight 安装的包含,不开启 “开发者模式”,无法打开:
目前苹果文档显示为已知问题,可能下一版本修正。
iOS & iPadOS 16 Beta Release Notes | Apple Developer Documentation
因为 Xcode 文档指出,这项功能不会影响从 App Store 购买 app 或参加 TestFlight 团队等普通安装技术。相反,开发人员模式专注于在Xcode中执行Build和Run,或使用 Apple Configurator 安装 .ipa
文件等场景。在这些情况下,设备会明确要求使用它的人确认他们是开发人员,并意识到安装开发签名软件的风险。
苹果表示,iOS 16 和 watchOS 9 中引入的开发者模式可保护人们免于在设备上无意中安装可能有害的软件,并减少了仅由开发者功能暴露的攻击载体。
详细可以查看 Xcode 文档:Enabling Developer Mode on a device
2.2 ATT 弹窗(bug)
App Tracking Transparency
Known Issues
The IDFA isn’t provided to apps even if the App Tracking Transparency status is Authorized. (93978371)
即使允许了跟踪,也获取不到 IDFA。
2.3 Apple ID(bug)
Apple ID Authentication
Known Issues
In certain cases, such as after unlocking a device from Lost Mode, an Apple ID authentication might be blocked and Apple ID services rendered nonfunctional. The user is redirected to Apple ID Settings to perform an authentication, but no authentication request is ever visible to the user. (93980441)
Workaround: Rebooting the device allows the authentication to proceed.
可能无法使用 Apple ID 认证,临时解决方法,重启设备。
2.4 UIKit
Attempting to set an orientation on
UIDevice
viasetValue:forKey:
isn’t supported and no longer works. (93367651)
旋转屏幕:
不支持通过 setValue:forKey: 在UIDevice上设置方向,也不再有效。需要开发者检查是否有使用此方法,可能后续版本将不能使用。
剪切版:
iOS 14 开始,app 读取剪贴板时,在 app 的顶部会显示一行提示内容:
在 iOS 16 开始,当 app 要读取剪贴板;会被明确询问用户是否要允许它。
注: 目前没有永久授予或永久拒绝的配置
,是系统层控制,也不需要开发者声明。所以,每次 app 尝试读取您的剪贴板时,都会弹出一次这个弹窗!
三、更新参考
3.1 Xcode 变化
安装包减少了30%,从 10GB 降到 7 GB,因为其它平台在打开时可选择在下载安装。
因为为了最大限度地减少Xcode的下载大小,Xcode14 及更高版本不包括 watchOS 和 tvOS 的模拟器运行时。打开时可选择再下载安装。
另外,可以在苹果开发者网站单独下载:然后通过命令行安装:
1
2
3xcode-select -s ~/Downloads/Xcode-beta.app
xcodebuild -runFirstLaunch
xcrun simctl runtime add "~/Downloads/watchOS 9 beta Simulator Runtime.dmg"编译更快,可以查看每个类的编译耗时。
跨平台设计,一套 app 图标自动适配 iOS,iPadOS,macOS, tvOS 等。iOS 只需要一张 1024 px 图片即可。
注:如果只使用一张 1024 x 1024 图标,则 Target version 只支持 iOS 12+ 以上系统!
否则上报 iap 包体会报错:
Invalid bundle. The app at “Product.app” contains a single-size app icon but has a value of 11.0 for the MinimumOSVersion key in its Info.plist file. Include all app icon sizes to support iOS 11.0 or later, or update the iOS Deployment Target to 12.0 or later to support uploads with a single-size app icon. (90961)
3.2 更新功能参考
- Xcode 14 Overview - Apple Developer
- What’s new for Apple developers - Apple Developer
- What’s New - App Store - Apple Developer
- Passkeys Overview - Apple Developer
- Xcode | Apple Developer Documentation
四、总结
以上就是我们升级 iOS 16 后,了解到的重点关注的内容更新,大家如果有更多发现,欢迎评论区一起分享~
欢迎关注我们,了解更多 iOS 和 Apple 的动态~