CleanしてもBuildしても出てくる。なんだこれは。
とりあえずググるといつもの通りのStack over flowの記事がヒット。
http://stackoverflow.com/questions/18392902/arch-already-exists-in-fat-dylib-in-build-log
以下意訳。
「いきなり "arch already exists in fat dylib" とかすごい勢いでビルドログに出力されて困ってるんですけどどうしたらいいですか?」
「ろくな情報もねえのに分かるかよ。こんなもんオフトピだ」
で即クローズされてる。もうちょっと優しくしてあげてよ…。
自分はAppCode使ってるので、ちょっとXcodeでビルドしてみるかーと思ってやってみたら、バックグラウンド処理を動かそうと思って書いた以下のコードで "Initializer element is not a compile-time constant" というエラーが。
static UIBackgroundTaskIdentifier bgTask = UIBackgroundTaskInvalid;この "UIBackgroundTaskInvalid" だけど、定義はこうなっている。
typedef NSUInteger UIBackgroundTaskIdentifier;
UIKIT_EXTERN const UIBackgroundTaskIdentifier UIBackgroundTaskInvalid NS_AVAILABLE_IOS(4_0);
つまり、バージョンが決まらないと定義が決まらないので、この定数っぽいシンボルは実は実行時でないと実際に参照出来ないわけだ。エラー内容もそういう内容。
これはあれか、コード解析処理でなんか変な事になってるって事なのかな…。
最初に出したSOFのURLの人も、jenkinsでビルドしてて出たって言ってるので、サードパーティ環境でのみ出るのかもしれない。
日本語の記事が一つも引っかからなかったのでここに記す。
これ気付かないとドはまりする案件だと思うので皆さん気を付けて下さい。