iOSシミュレーターのデプロイメントターゲットは7.0に設定されていますが、このプラットフォームでサポートされているデプロイメントターゲットバージョンの範囲は8.0〜12.1です。


168

Xcode10.1で以下の警告メッセージが表示されます。

iOSシミュレーターのデプロイメントターゲットは7.0に設定されていますが、このプラットフォームでサポートされているデプロイメントターゲットバージョンの範囲は8.0〜12.1です。

12.1 Xcode10.1の私のシミュレータOS

そして、ポッドファイルを更新しました。

ここに画像の説明を入力してください

私の展開目標は9.0です

ここに画像の説明を入力してください

私のターゲットでは

ここに画像の説明を入力してください


ターゲットを確認してください user-images.githubusercontent.com/5786033/...、[編集]を:フレームワークで
Vinaykrishnan

Vinaykrishnan @、私はそれが9.0だ確認
iOSの

4
github.com/flutter/flutter/issues/22123github.com/CocoaPods/CocoaPods/issues/8069で、この人たちが同じ問題をチェックしました。を開き、Appleアイコンの横に左上XcodeがありFileます。次にWorkspace Settings、ビルドシステムを開いて「レガシービルドシステム」に変更します。そして、まだこれを試したことがない場合は、stackoverflow.com
a / 52552878/2323806 –Vinaykrishnan19年

回答:


232

次のように、すべてのポッドファイルのデプロイメントターゲットを現在のプロジェクトデプロイメントターゲットに自動的に一致させるようにポッドファイルを設定できます。

post_install do |pi|
    pi.pods_project.targets.each do |t|
      t.build_configurations.each do |config|
        config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0'
      end
    end
end

素晴らしい答えをありがとう!好奇心が強い-4行目の「9.0」を自動化して、メインプロジェクトからデプロイメントターゲットを取得することは可能でしょうか?
Fattie

9
すでに別のインストール後フックがある場合はどうなりますか?複数のポストインストールがサポートされていないことを示すエラーが発生します
GeorgeSalamanca20年

ポッドの最小展開ターゲットが強制されたものよりもすでに高い場合、これは機能しないようです。したがって、元の値を考慮する必要があります。
GrigoryEntin20年

1
@GeorgeSalamancaは、あなたが同じpost_installブロックに入れることができます
サイモン・ハンセン

5
@Fattie私はあなたがただできると信じていますconfig.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET'
rmp2 5120

96

問題は、ポッドファイルのデプロイメントターゲットiOSバージョンにあり、プロジェクトデプロイメントターゲットiOSバージョンにはないため、ポッドのデプロイメントiOSバージョンも8.0より高いものに変更して、プロジェクトワークスペースを開いてこれを行う必要があります。

1-ポッドをクリックします。

2-各プロジェクトとターゲットを選択し、ビルド設定をクリックします。

3- [展開]セクションで、iOS展開ターゲットのバージョンを8.0以上に変更します(同じプロジェクトバージョンを試すことをお勧めします)。

4-ポッド内の他のすべてのプロジェクトに対してこれを繰り返してから、アプリを実行します。

詳細は写真をご覧ください ここに画像の説明を入力してください


52
Podsプロジェクトは自動生成されます。あなたはそれを台無しにすべきではありません。
ミハイダミアン

2
私はポッドをいじりませんでした(人間が作ったので問題はありませんでしたが..)私はiOSのバージョンを変更して、それが許容できるターゲットにする必要がありました。これは、自分のプロジェクトのiOSバージョンを減らすことを余儀なくされている受け入れられているソリューションよりも優れたソリューションです。
AhmedEl-Bermawy19年

6
受け入れられた解決策が優れていると言っているのではなく、生成されたファイルを編集することは悪い習慣であるというだけです。Cocoapodsによって生成されたファイルは、将来上書きされる可能性があるため、手動で編集しないでください。出力が気に入らない場合は、post_installを介してPodfileから調整を行うことができます。これらのファイルは、リポジトリにコミットするべきではありません。
ミハイダミアン

1
@Muhammad POD開発者自身から回答する必要があります。とにかく、リリース時にプロジェクトに警告を残すことはありません
AhmedEl-Bermawy19年

1
それらすべてを選択して一度に変更できます
RamiAlloush20年

47

それはだ場合にのみ、それを調整し、すべてのポッドのために元の値のセットを占め、タオ-Nhan Nguyenさんからの回答を反復処理ません8.0より大きい... Podfileに以下を追加します。

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      if Gem::Version.new('8.0') > Gem::Version.new(config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'])
        config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '8.0'
      end
    end
  end
end

1
これは、新しく作成されたネイティブアプリを反応させるためのXcodeの警告数百まで固定
baskInEminence

とても素敵なグリゴリー
Tao-NhanNguyen20年

これは私のために働いた。
a_lovelace

42

インストール後のポッドでデプロイメントターゲットを指定する代わりに、ポッドデプロイメントターゲットを削除できます。これにより、デプロイメントターゲットがpodfileプラットフォームから継承されます。

エフェクトを実行するには、ポッドインストールを実行する必要がある場合があります。

platform :ios, '12.0'

  post_install do |installer|
    installer.pods_project.targets.each do |target|
      target.build_configurations.each do |config|
        config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET'
      end
    end
  end

40

Xcode 12でCocoaPodsを使用している場合は、おそらく次のエラーが発生しています。

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.

これは、iOS 8のサポートが終了したために発生していますが、ポッドの最小展開ターゲットはiOS8です。

これが修正されるまで、ポッドファイルに以下を追加できます。

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET'
    end
  end
end

これにより、プロジェクト内のすべてのポッドからデプロイメントターゲットが削除され、ポッドファイルの先頭で指定されたプロジェクト/ワークスペースデプロイメントターゲットを継承できるようになります。


そうするのは安全ですか?
Cublax

trueに設定したinstaller.pods_project&.targets&.each do |target|場合に使用incremental_installationします。
ホセ

これが最善の解決策です
Lena Bru 2010年

15

誰かがreactnativeの問題からここに来た場合は、/ buildフォルダーを削除して次のように入力します react-native run ios


/build同僚、このフォルダはどこにありますか?
ErikEscobedo20年

./project-root/ios/build
キツネ

そのディレクトリは私には存在しませんでしたが、実行cd ios && pod install && cd ..しただけで再び機能し始めました。
ジンバリ

おい、あなたは男だ!
NickyKouffeld20年

10

この問題を解決し、ビルドシステムLegacy Build Systemからに変更しましたNew Build System

Xcode v10 +では、[ファイル]> [プロジェクト設定]を選択します

以前のXcodeでは、[ファイル]> [ワークスペース設定]を選択します

ここに画像の説明を入力してください

ビルドシステムをLegacy Build Systemからに変更New Build Systemします-> [完了]をクリックします。

ここに画像の説明を入力してください


1
新しいビルドシステム(デフォルト)はSwiftUIプレビューを生成するために必要とされるので、これは、もはや私のための適切な解決策ではありません:(
リック・サントス

3
これは実際の解決策ではありません。
smileBot

古いシステムに戻すことは修正ではありません
FaultyJuggler

5

次の手順を試してください。

  1. Podfile.lockを削除します
  2. Podfileを削除します
  3. プロジェクトの構築
  4. Firebaseから初期化コードを追加する
  5. cd /ios
  6. pod install
  7. プロジェクトを実行する

これが私にとってうまくいったことでした。


3

プロジェクト展開ターゲットをすべてのポッドターゲットに適用できます。以下のコードブロックをポッドファイルの最後に追加することで解決しました。

post_install do |installer|
  fix_deployment_target(installer)
end

def fix_deployment_target(installer)
  return if !installer
  project = installer.pods_project
  project_deployment_target = project.build_configurations.first.build_settings['IPHONEOS_DEPLOYMENT_TARGET']

  puts "Make sure all pods deployment target is #{project_deployment_target.green}"
  project.targets.each do |target|
    puts "  #{target.name}".blue
    target.build_configurations.each do |config|
      old_target = config.build_settings['IPHONEOS_DEPLOYMENT_TARGET']
      new_target = project_deployment_target
      next if old_target == new_target
      puts "    #{config.name}: #{old_target.yellow} -> #{new_target.green}"
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = new_target
    end
  end
end

結果ログ:

ポッド展開ターゲットバージョンの警告を修正


いいね!色付きのログは非常に便利です
AsafPinhassi20年

1

あなたがreact-nativeこのエラーに直面している場合は、これを実行してください

  1. 開くPodfile(プロジェクト> ios> Podfile)
  2. コメントフリッパーはpodfileで以下のように機能します
#use_flipper!
 #post_install do |installer|
   #flipper_post_install(installer)
 #end
  1. IOSフォルダ内のターミナルでこのコマンドを入力しますpod install

うん、それはそれがあなたにうまくいくことを願っています


0

この問題を抱えているコルドバ開発者向け

設定してみてください

<preference name="deployment-target" value="8.0" />

confix.xmlで


-3

私の場合、両方npm installを使用したyarn installことがあるため、この問題が発生したため、これを解決するためにpackage-lock.jsonとnode_modulesを削除してから、

yarn install
cd ios
pod install

それは私のために働いた

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.