Xcode12适配
Xcode12模拟器跑不通,需要做以下修改
-
Xcode12把valid Architecture去掉了
需要在user-Defined的EXLUDED_ARCHS的dug下加上Any iOS Simulator SDK值是arm64 - 如果项目使用了cocoapods需要在项目的Podfile里面添加代码段,然后执行pod install
post_install do |installer|
installer.pods_project.build_configurations.each do |config|
config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
end
end
pod install之前记得先把Podfile.lock文件删掉。
也可以在项目的Podspec文件里面添加
s.pod_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' }
s.user_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' }
由于我自己项目以前没有创建Podspec文件,就直接在Podfile里面修改了
iOS14适配
- PhotosUI Frameworks下增加了PHPicker
iOS14使用PHPicker代替原来的UIImagePickerController选择图片,可以去看下官方文档PHPicker
如果您的项目中就是简单的使用系统的图片选择器,没有去请求照片权限,可以先不用去管这次的iOS14的这部分功能更新。
如果您使用了请求照片权限可以参考下淘宝技术团队写的这篇文章。 - 定位更新
iOS14把定位分成了模糊定位,精准定位。 - UITabViewCell
iOS14推荐使用[UITabViewCell.contentView addSubview:],不推荐使用[UITabViewCell addSubview:],网络搜索了下有人说是会让视图事件响应失效,但是自己试下没出现问题(Xcode12.0,iOS14,iPhone11),不过还是建议尽快改成[UITabViewCell.contentView addSubview:]的形式。 -
IDFA变化
iOS14之前IDFA系统会默认为用户开启允许追踪设置,我们可以简单的获取到用户的 IDFA 标识符,iOS14之后IDFA系统会默认关闭广告,需要我们自己去请求开启(最近更新的iOS14,iOS14.1系统IDFA开关都还是默认开启的,正式开关关闭应该是延后了,大家可以视情况而定进行这部分的兼容)
上面列举了我自己项目中用到的更新,其他的更详细的内容可以去官方文档上仔细看下