LoginSignup
4
8

More than 5 years have passed since last update.

Build Succeeded なのにエラーが出て結果実機ビルドできない The certificate used to sign "iosアプリ名" has either expired or has been revoked. An updated certificate is required to sign and install the application.

Last updated at Posted at 2017-03-30

実機ビルドで Build Sucseed なのにXcodeエラーが出て結果実機ビルドできない 

エラー文

The certificate used to sign "iosアプリ名" has either expired or has been revoked. An updated certificate is required to sign and install the application.

翻訳

「iosアプリ名」の署名に使用された証明書の有効期限が切れているか、取り消されています。アプリケーションに署名してインストールするには、更新された証明書が必要です。

整理しよう

1.「iosアプリ名」の署名に使用された証明書ってなに?
アプリに付随する証明書ということをいってるので、ProvisioningProfile(以下、プロプロファイルと略します)である可能性がたかい

それってなに?

スクリーンショット 2017-03-30 11.49.51.png

これがAutomaticになってなくて指定されたのが入っていたらそれのこと。
Automaticになってたら

縦に < > このマークが出てる部分をクリックすると、今自分が持ってるプロプロファイルがでてきます。このいずれか。
言い方を変えると

Xcode -> Preference -> Account(そのアプリを開発するときに使ってるアカウント) -> ViewDetails

に入っている、 Download済み のいずれかのProvisioningProfile(プロプロファイル)のうちのいずれかです。

どれを使うかはXcodeがよしなにやってくれている?んだと思ってます誰か添削して。

どれがDownload済みなのかどうかは

スクリーンショット 2017-03-30 11.55.37.png

Actionに表示されていないのでこれがDL済みのプロプロファイルなのはわかりますね。(他のは持ってないからDLできるじょうたいになってるってことです)

で、本題のエラー文内容に戻ります

「iosアプリ名」の署名に使用された証明書の有効期限が切れているか、取り消されています。アプリケーションに署名してインストールするには、更新された証明書が必要です。

つまり、 このDL済みのプロプロファイルが更新されてしまっていて、今あなたが持ってるのは古いものなので、新しくしてください でことです

更新されるタイミングって?

あるあるなのは、検証デバイスを追加するためのDeviceUDIDの追加。
検証デバイス追加するだけで証明書更新しないといけないの、だるいですよね。
知らない間に更新されることってよくありますよね。

では古いプロプロファイルを削除し、更新されたプロプロファイルをDLしよう

そこでやり方はいろいろあるのですが、

Xcode -> Preference -> Account -> ViewDetails -> Download All

という方法で解決されるのです。
でも本来Downloadする必要のないプロプロファイルを持ってる必要はないので、対象になるプロプロファイルを削除して更新しなおせばいいのです。

ちなみに、右クリックでShowInFinderしたやつってのは他プロジェクトのプロプロファイルも入っているフォルダに入ってしまうので、全消しすると対象プロジェクト以外のプロプロファイルも全部消えるよ。

Xcode -> Preference -> Account -> ViewDetails -> 対象のプロプロファイル上で右クリック -> MoveToTrash(すてる) -> 削除されAction部分にDownloadボタンが表示されるのでActionからDownload

これでクリーン(command + K)をして実機につないでXcode左上部分でデバイス選択してRunしてみると解決するはずです。
(じつは自分で陥ったわけではないのでもしなおらなかったら教えてください)

まとめてきな

Xcode -> Preference -> Account -> ViewDetails -> Download All

でなおるっていってくりゃええやん

っておもうかなとおもうんですが、なんかちがくて。
ちゃんとこうだからこうなんだよってのをわかって解決しないとなと思うのでかきました。
これはこうして解決した、だけじゃなく、こうだからエラーが出てこうしたから解決できたんだ、という話が聞きたいんだ。
そうじゃないと今後はまり続ける。
私みたいな思考苦手人間は理解が良くないんで、そうしないと思考が止まってしまうので理由考えないといけないと思うんです。

英語読めなくてもがんばろ、翻訳すごいよ。意味を理解することはやめないで。

ポエムでした。

http://qiita.com/90_jill/items/1303dc41ab0b9c3a4056
http://hacknote.jp/archives/20924/

4
8
0

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
4
8