私のフレームワークをXcode 10 beta(10L176w)に移行した後、私は以下のような警告を出し始めました:
アーキテクチャarm64をx86_64にマッピングします。このターゲットの[Architectures]および[Valid Architectures]ビルド設定がiOSシミュレータプラットフォーム用に正しく設定されていることを確認してください。
...そして:
アーキテクチャarmv7からi386へのマッピング。このターゲットの[Architectures]および[Valid Architectures]ビルド設定がiOSシミュレータプラットフォーム用に正しく設定されていることを確認してください。
これらの警告にもかかわらず、ビルドと単体テストはすべて問題なく合格します。私はSwift 4.2を使っています。
それでも、これらの警告は何ですか?
Valid Architectures設定を$(ARCHS_STANDARD)
に変更してArchitectures設定と一致させることで、これらの警告を黙らせることができました。
奇妙なことに、これは(デフォルト設定のarmv7 arm64
とは対照的に)armv7 armv7s arm64
として表示されていましたが、手動でその値に設定しても警告が発生しました。その意味が何であるかはわかりませんが、私はまだテストで問題に気づいていません。
ターゲットまたはそのプロジェクトに対して、VALID_ARCHS( "Valid Architectures")ビルド設定がオーバーライドされている可能性があります。これは、どの実行先にビルドしているかに基づいて自動的にその値を取得するビルド設定です。この上書きがどこから来たのかを把握したら(上書きされるとビルド設定は太字で表示されます)、それを選択してdeleteキーを押すとデフォルト値に戻ります。
他の答えと同様に、私は$(VALID_ARCHS)
(Valid Architectures)を$(ARCHS_STANDARD)
に変更することによって警告を取り除くことができました。そこから、すべての派生データを消去し、Xcode 10.0を再起動しました。これで警告は完全に消えました。 Valid Architecturesからすべてを削除すると、異なる警告が表示されるだけです(「有効なアーキテクチャが見つかりません」)。
解決方法は簡単です。有効なアーキテクチャでは、arm64をx86_64に置き換えるだけです。
私の有効なアーキテクチャはもともと ---
交換します。
(警告で述べたように)私の解決策でした。 有効なアーキテクチャ設定の結果は次のとおりです。
置き換え後、上記の3つの警告は消えました。
アーキテクチャに関するより深い情報はここで見つけることができます: https://docs.elementscompiler.com/Platforms/Cocoa/CpuArchitectures/
私はXcodeでこの警告を定式化することは少し混乱していると思います。
お役に立てれば
IOSとMac OSの両方でコードをコンパイルしようとしたときに、この警告が表示されました。私は最初にHassan Talebが彼の答えで提案したことをすることによってそれを回避することができました:有効なiPhoneアーキテクチャだけがそこにあるようにアーキテクチャを片付けなさい。そして最後に、Mac OS用にビルドできることを維持するために、プラスのボタンが表示されるように、有効アーキテクチャ上にマウスを動かします。それをクリックすると、必要に応じて、さまざまなCPUアーキテクチャなど、さまざまなプラットフォーム用に個別の設定を追加できます。 macOS SDKの場合は、必要に応じて有効アーキテクチャをx86_64だけに設定できます。