web-dev-qa-db-ja.com

Xcode 7警告!リンクされている(5.1)よりも新しいiOSバージョン(5.1.1)用に構築された

Xcode 6プロジェクトをXcode 7にアップグレードし、リンクされた(5.1)よりも新しいiOSバージョン(5.1.1)で警告が表示されるのを確認し始めました。

この警告を修正する方法は?

27
rbmanian75

私の場合、XCodeサブプロジェクトの1つのiOS-Deployment-Targetがベースプロジェクト(7.0)よりも高い(7.1)ため、この警告が生成されました。 cococapodを使用している場合、Podfileで間違ったiOSプラットフォームバージョンを指定すると、この設定ミスが発生する可能性があります。私の例では、Podfileで指定しました

platform :ios, '7.1' 

一方、XCode-ProjectのDeployment-TargetをiOS 7.0に設定します。サブプロジェクトのDeploymentTargetをBaseProjectと同じiOSバージョンに設定すると、この警告が修正されます。

20
blacky85

更新:Xcode 7.3(7D175)で解決されたようです。-wフラグを削除したため、警告は表示されなくなりました。

これは、Xcode 7.0および7.1B1の既知のバグのようです(バグ#21813082)。

一時的な回避策として、広範な警告を抑制するために、ビルド設定->その他のリンカーフラグに-wフラグを追加できます。

  1. プロジェクトを選択してください
  2. ターゲットを選択してください
  3. 「ビルド設定」タブを選択します
  4. 「リンク」までスクロールダウンします
  5. 「その他のリンカーフラグ」を編集し、「-w」を追加します

これをデバッグビルド設定に追加して、次のコードをAppDelegateに挿入しただけです。

#ifdef DEBUG
#warning Linker warnings suppressed (-w in build settings)
#endif

これにより、少なくとも、すべてのソースに対して同じ警告がビルド結果にあふれるのではなく、実際の警告をすばやく見つけることができます(私の場合、150以上の警告が表示されました)。

11
Frans

私の場合、projectをiOS 6にアップグレードしましたが、問題は解決しませんでした。

次に、targetがiOS 5.1.1としてオーバーライドされていることに気付きました。ターゲット設定をクリアすると、警告は消えました。

XCodeバージョン7.0(7A220)。

Target settings

7
Matt

私の場合、プロジェクトを8.4に設定しましたが、残りのサブプロジェクト/ターゲットはすべて9.0のままです。展開ターゲットの不一致が原因のようです。

Cocoapodsを使用している場合:

  1. Podプロジェクトとターゲットをナビゲートします。
  2. すべての展開ターゲットを目的のターゲットに変更します。

それらがすべて類似していることを確認してください。

4
Teffi

「リンク->その他のリンカーフラグ」に「-w」を追加してみてください。

これは、mySDKが開発ターゲットmyProjectよりも大きいベースSDKでビルドされた場合に発生します。

2
ihsan_husnul

私の場合、プロジェクトセクション(7.0)の展開ターゲットは、ターゲット展開ターゲット(8.0)とは異なりました。そのため、プロジェクトの展開ターゲットと、プロジェクト内のすべてのターゲットが同じであることを確認してください。

1
Carol Capek

最初にProjectでiOS Deployment Targetを変更し、次にTargetsでDeployment Targetを変更します。 /Users/yourUser/Library/Developer/Xcode/DerivedData (rm -rf yourProject)のファイルを削除します。ポッドを再度インストールし、警告に別れを告げます。

1
user3800960

誰かが私と同じ困惑に苦しむ場合に備えて、外部ハードドライブにXcodeベータ版があり、システムが内部ドライブではなくそのドライブのツールを選択していることを発見しました。 (おそらく、新しいベータツールだったからでしょうか?)...ドライブを取り出すと問題が解決しました!

0
Arthur Ninch

私の場合、プロジェクトで同じものを変更せずに、ターゲットのDeployment Targetを変更しました。

この問題を解決するために、プロジェクトとターゲットの両方で展開ターゲットを変更してから、ポッドを更新しました。

0
F.sh

私の場合、最新のiOSでライブラリを構築しましたが、アプリの展開ターゲットはそれよりも低くなっています。したがって、他のリンカーフラグに-wを追加する以外にできることはないと思います

0
Qiulang