Xcodeで開発してて目にすると1時間はその解決に費やしてしまうこともある地獄のエラー文言。
そう、それが
linker command failed with exit code 1
※Xcode 8.3.3
今日はこのエラーが出た時「これやったら直った」というあらゆる手段をお伝えします。
■プロビジョニングプロファイルは正しく設定されているか
人により設定方法は様々ですが、僕の場合、・General>SigningにあるAutomatically manage signingのチェックをはずす
・Build Settings内、
ProvisioningProfile (Deprecated)とProvisioning Profileの2箇所に適切なプロビジョニングプロファイルを設定。
Code Signing Identityに正しい証明書を設定。
最後にDevelopment Teamにチーム名を設定。
としています。
このミスの際は、ちゃんと「プロビジョニングプロファイル間違えているよ」というエラーが出ることが多い...。
■Enable Bitcodeの設定を間違えていないか
Build Settings>Build Options内にあるEnable Bitcodeが「Yes」になっているとアカン場合がある。
組み込んだフレームワークがbitcodeとやらに対応していないかもしれないので、速攻「No」に設定し直す。
■存在しないリソース(画像etc)を取り入れようとしていないか
Build Phases>Copy Bundle Resources内に存在しないリソースがないか要チェック。
無いものが含まれている場合は削除します。
■Deployment Targetを間違えていないか
General>Deployment InfoにあるDeployment Targetに無茶な値を入れていないか。
古すぎるターゲットなどに設定している場合は、よく考えて適切な値にします。
■Info.plistの設定Target Membershipは大丈夫か
Info.plistを選択してTarget Membershipにチェックが入っているとアウト。
チェックを外します。
■Xcodeを再起動しよう
この方法を使うと90%の確率でビルドが成功します。
試してみる価値あり。
■Mac本体ごと再起動しよう
この方法を使うと50%の確率でビルドが成功します。
試してみる価値あり。
上記以外でこのエラーの対処方法があれば教えてください。
※※※2017.08.18追記
このエラーが出た時に詳細ログが見れないのでモヤモヤしてたのですが、ログを見る方法が分かりました!
command+8 !!
LogNavigatorというやつらしいです!
これで具体的にエラー内容確認できます!
以上でぇぇぇぇす。