Posted at

iosの証明書の更新のハマりどころ

More than 1 year has passed since last update.


証明書が切れると発生すること

iosの証明書の有効期限は下記のリンクより参照できます。

作成後から1年後に有効期限が切れます

https://developer.apple.com/account/ios/certificate/

・iOSの次回申請ができない

・プッシュ通知が送られなくなる

などの弊害が発生します。

なので、更新は1年に1回発生します。


実際にやること

実際には新しく証明書を作り直します

こちらのサイトが参考になります

https://i-app-tec.com/ios/apply-application.html

流れとしては、

自分のPCで証明書を作る > 開発用なら「iOS App Development」製品用なら「App Store and Ad Hoc」を指定します。


ハマりどころ1(プッシュの設定)

プッシュがある場合、こちらでうまくいきましたが、上記のところで「Apple Push Notification service SSL 」でも良いかもしれませんが、私の場合、 左ペインのIdentifiers > App IDs から対象のNameを選択し、

こちらのPush通知を有効にしてあげることによって、「CertificateSigningRequest.certSigningRequest」を作成し、SSL Certificateに設定します

スクリーンショット 2017-08-28 14.47.47.png

また、awsのsns(simple notification service)を使用している場合、こちら側の

設定も証明書の更新が必要になります。

※こんなような更新画面です

スクリーンショット 2017-08-28 15.04.48.png


ハマりどころ2(プロビジョニングファイルの更新

左ペインより、「Provisioning Profiles > ALL」を選択するとこちらも 有効期限切れもしくは、有効ではないと出てくると思います。こちらで先ほど作った証明書を再度選び直してください


ハマりどころ3(Xcode側の設定

こちらもプロビジョニングファイルが更新しないと、次回以降申請が出せなくなるので更新します。

こちらも有効期限切れ、もしくは、有効ではない状態になっていると思います。

ただし、正しくできていると、ios developerのサイトと勝手に同期されて、プロビジョニングファイルも更新されています。

ハマりどころとして、エラーが消えない場合があります。この場合、一度古いプロビジョニングファイルを削除してしまいましょう(Macであれば、下記に格納されていると思います)、xcodeを開きなおすと、サーバと同期され最新のみ自動で取り込まれます。

~/Library/MobileDevice/Provisioning Profile


ハマりどころ4(開発者への配布

証明書を更新することによって、他に開発者がいる場合は、開発できなくなってしまいます。

なので、p12ファイルを配布する必要があります。

こちらのサイトが参考になります

http://mmorley.hatenablog.com/entry/2015/09/07/131745