見出し画像

Xcode 10 : warnings

はじめに

Xcodeをupdateして、oFのProjectを作成すると、まっさらな状態でbuildしてもwarningが出た。気持ち悪いので対応を調査

環境

* OS : 10.14.6 (Mojave)
* Xcode : 10.3
* oF : 0.10.0

古いヘッダーマップはサポートされなくなる 

warning: Traditional headermap style is no longer supported; please migrate to using separate headermaps and set ‘ALWAYS_SEARCH_USER_PATHS’ to NO.

こちら、Xcode 10のリリースノートによると、
「ALWAYS_SEARCH_USER_PATHS」をオンにしたときに生成されるヘッダーマップは新しいビルドシステムでは対応しなくなったため、

「ALWAYS_SEARCH_USER_PATHS」オプションは「NO」に変更する必要がある、と言うことのようです。

また、ヘッダーファイルの構文は以下の様に使い分けろと書かれていました。

// プロジェクト中のヘッダーファイル
#include "header-name.h"

// システムヘッダーファイル
#include <system-header-name.h>

この使い分け自体は昔からそうだったはずですが、上記のオプションによってどちらで書いても良いような動作をXcodeはしていました。

warning: Skipping duplicate build file in Compile Sources build phase:


File > Project Settings > Build System > Legacy Build System.

で消える。

参考

* Xcode 10対応 : 古いヘッダーマップはサポートされなくなる
* 'Multiple commands produce' error when building with new Xcode build system #20492


もしよろしければ、サポートをお願いします! 頂いたサポートは、Creatorとしての活動費に充てさせて頂きます。