LoginSignup
7
4

More than 3 years have passed since last update.

CocoaPodsで提供しているLibraryのDeployment TargetはXcode12からは9.0以上に設定しよう

Last updated at Posted at 2020-08-19

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さんの方が先)。申し訳有りません :bow:
エラーが出る、っていう側面で書きたかったのですが、かなり内容が似ている...

7
4
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
4