TL; DR
CocoaPodsで提供しているLibraryのDeployment TargetはXcode12からは9.0以上に設定しよう(タイトルママ)
ライブラリ.podspec
Pod::Spec.new do |s|
...
s.platform = :ios, '9.0'
...
end
なぜ?
Xcode12から、iOS 8を IPHONEOS_DEPLOYMENT_TARGET
にすることができなくなりました。
CocoaPodsでインストールしたライブラリをXcode12でビルドするとDeployment Targetに関する警告が出る
に詳しく書いていますが、以下のようなWarningがビルド時に出るようになります。
The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99.
Warningだけなら良いのですが、この設定を変えないと最悪Xcode12では一部のコードが下記のエラーと共にビルドできなくなります。私の利用しているライブラリは、特にUIKit周りでエラーが出ました。
'...' is only available in iOS 8.2 or newer
[ライブラリ提供側] 対策
IPHONEOS_DEPLOYMENT_TARGET
はpodspecの s.platform
で変更できるので、できることなら変えましょう。
ライブラリ.podspec
Pod::Spec.new do |s|
...
s.platform = :ios, '9.0'
...
end
[ライブラリ利用側] 対策
CocoaPodsでインストールしたライブラリをXcode12でビルドするとDeployment Targetに関する警告が出る
に詳しく書いていますが、PodfileでDeployment Targetを変える方法があるのでご参照ください。
謝辞
書いてわかったのですが、記事内でも紹介している、 @temoki さんの記事とまんま内容が同じです(temokiさんの方が先)。申し訳有りません 。
エラーが出る、っていう側面で書きたかったのですが、かなり内容が似ている...