LoginSignup
14
6

More than 5 years have passed since last update.

実機ビルド時にno suitable image foundでコケたときの対処法

Posted at

はじめに

QAさんとやりとりをしていてテストをしてもらう際に何故か実機に入れられない問題が発生したのでその時の対処法を記載しておきます

原因

おそらく証明書

状況

  • 実機だとビルドに成功するがスプラッシュ画像で下記のような状態で止まってしまう
  • シュミレーターでは問題なく起動できるし使える
  • Alamofireはcarthageで管理しているライブラリだからこれがあやしい?
  • 自分と先輩たちのPCだと問題なく実機ビルドできるがこの端末だけ実機ビルドができない

スクリーンショット 2018-03-26 10.39.02.png

表示されるエラー内容

dyld: Library not loaded: @rpath/...
Referenced from: /private/var/mobile/Containers/Bundle/Application/...
Reason: no suitable image found. Did find:
/private/var/mobile...

やったこと

調べてみると色々原因があるらしく一つづつやってみた

Carthageが原因?

carthageのcacheを消してみたがうまくいかず
また一度プロジェクトファイルまるごと消してgitcloneからビルドまでやり直してみたもののうまくいかなかった

WWDR有効期限切れが原因?

Apple Worldwide Developer Relations Certification Authorityという証明書らしい
Apple PKI
ここで期限が長いものを選んでダウンロードしてKeyChainにいれてみたもののうまくいかない

Derived Data(中間データ)を削除する

上部メニュー > [File] > [Workspace Settings…]内のDerivedDateにパスが書いてあります
コマンドで消すなら

rm -rf /Users/(ユーザー名)/Library/Developer/Xcode/DerivedData

これでもうまく行きませんでした

プロジェクトをクリーンしてみる

product -> clean

keychainから全ての証明書を削除

初めて知ったのですが削除してもXcodeがなんとか証明書を用意してくれることを発見しました
それでも再び実機ビルドしてもうまくいかず

登録しているappleのアカウントを削除する

preferences->Accountsのなかの左したの−ボタンで削除できます

端末再起動

Xcodeのappleアカウントログイン

ここで再び実機ビルドをしてもうまくいかず

証明書をrevokeして再度証明書をつくって登録する

TARGETSの項目のGeneralタブ内のSigningで証明書がないと言われるはずなので、その時に表示されるrevokeボタンを押す

下記を参照して証明書を作りました
よく分かる!iOS アプリ開発に必要な証明書ファイルの作成方法 | アドカレ2013 : SP #4

これをやってもやはり実機ビルドができずに困りました・・・

何度かXcode再起動、ビルドのし直し、キャッシュの削除、clean、appleアカウントの切替えをやる

突然何故がビルドできるように
わけがわからない・・・・・

おそらく原因は証明書だと思われるので誰かの助けになれば幸いです

参考文献

no suitable image found.の対処
Xcode 9.2 (9C40b) refuses to code sign. I am dead in the water here.
XCode9: code signing blocked mmap() while running on device
"code signing blocked mmap()" on iOS Device

14
6
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
6