2

iOS アプリ用に優れたアーキテクチャを構築しようとしていますが、xcconfig 構成で問題が発生しています。CocoaPod をいくつか持っていますが、それらに警告が表示されるのは当然のことです。inhibit_all_warnings!CocoaPods 統合の上にディレクティブを追加して、それらを黙らせてきました。したがって、私の Podfile は次のようになります。

platform :ios, '7.0'

inhibit_all_warnings!

source 'https://github.com/CocoaPods/Specs.git'

pod 'AFNetworking', '~> 2.x'
...

これは実際に機能し、この構成でプロジェクトをビルドするときに警告は表示されません。

しかし、アプリをビルドするときに非常に厳密な環境を強制しようとしているので、警告でエラーを強制し、可能なほぼすべての警告を有効にする .xcconfig ファイルをいくつか作成しました。これは、実際にこれを行う xcconfig ファイルの一部です。

GCC_TREAT_WARNINGS_AS_ERRORS = YES;
WARNING_CFLAGS = -Weverything -Wno-objc-missing-property-synthesis -Wno-unused-macros;

どちらの行も正しく動作していますが、CocoaPod ライブラリの警告もエラーとして扱われるという問題が発生しています。無効GCC_TREAT_WARNINGS_AS_ERRORSにすると、プロジェクトが再度コンパイルされますが、CocoaPods から警告が返されます。

だから私の質問は:

WARNING_CFLAGS がライブラリ ファイルではなくプロジェクト ファイルでのみ使用されるように、.xcconfig ファイルを正しく設定するにはどうすればよいですか?

または、inhibit_all_warnings を作成する方法! WARNING_CFLAGS 構成変数が設定されている場合、pod ディレクティブは機能しますが、この場合はそれを無視しているように見えますか?

助けてくれてありがとう!

4

1 に答える 1

0

この警告の「漏れ」は、ビルド環境で -Weverything フラグを使用したことが原因である可能性があります。私は同様のものを使用し、今日、関連する質問でこの回答に出くわすまで、同じ問題を経験しました.

長い話: -Weverything の使用は、記事を書いている clang 開発者によって強く推奨されていません。より厳密なビルド環境が必要な場合は、-Wall、-Wextra、およびオプションで -Wconversion を使用することをお勧めします。その後、ココアポッドは正しく応答し、ポッドからの警告を非表示にします。

于 2014-10-24T14:22:33.500 に答える