iOS14適配和Xcode12模擬器運行兼容

Xcode12適配

Xcode12模擬器跑不通,需要做以下修改

  1. Xcode12把valid Architecture去掉了

    需要在user-Defined的EXLUDED_ARCHS的dug下加上Any iOS Simulator SDK值是arm64
  2. 如果項目使用了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適配

  1. PhotosUI Frameworks下增加了PHPicker
    iOS14使用PHPicker代替原來的UIImagePickerController選擇圖片,可以去看下官方文檔PHPicker

    如果您的項目中就是簡單的使用系統的圖片選擇器,沒有去請求照片權限,可以先不用去管這次的iOS14的這部分功能更新。
    如果您使用了請求照片權限可以參考下淘寶技術團隊寫的這篇文章
  2. 定位更新
    iOS14把定位分成了模糊定位,精準定位。
  3. UITabViewCell
    iOS14推薦使用[UITabViewCell.contentView addSubview:],不推薦使用[UITabViewCell addSubview:],網絡搜索了下有人說是會讓視圖事件響應失效,但是自己試下沒出現問題(Xcode12.0,iOS14,iPhone11),不過還是建議盡快改成[UITabViewCell.contentView addSubview:]的形式。
  4. IDFA變化

    iOS14之前IDFA系統會默認為用戶開啟允許追蹤設置,我們可以簡單的獲取到用戶的 IDFA 標識符,iOS14之后IDFA系統會默認關閉廣告,需要我們自己去請求開啟(最近更新的iOS14,iOS14.1系統IDFA開關都還是默認開啟的,正式開關關閉應該是延后了,大家可以視情況而定進行這部分的兼容)

    上面列舉了我自己項目中用到的更新,其他的更詳細的內容可以去官方文檔上仔細看下

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。