お?いけるくさい?

iPhoneアプリエンジニアのたまごです。いっちょまえエンジニア目指してちいさな発見や学んだことを覚え書きしていきます!Objective-C/iOS/開発

Production(Distribution)の証明書が期限切れになったときの更新

 

DistributionのProvisioning ProgileがExpiredになってしまった...

なんで?といろいろ画面をさまよってみたところ、

どうやらCertificates > Productionの欄にDistribution用の証明書がない

これか。

 

でも、リリース後・運用中のアプリいくつかあるし、

ついこないだようやく審査通過してくれたアプリも一本あるし、

今となっては期限切れの証明書を使って

Distributionのプッシュ通知証明書とかも作ってたし...

 

なにやら、おおごとな気がする...(;´・3・`)

やな感じね...(;´・3・`)

 

だが立ち向かうしかない。

いざ更新!

 

 

▼懸念点

それはズバリ、公開済・運用中のアプリへの影響

Distribution用のCertificationを作り直すことで

アプリの紐付け解除(謎)が行われたりだとか

プッシュが全アプリで届かなくなるだとか...こわい...

 

で、ググってみると、同じようなことを調べてくれている人がいた!

http://maikoo811.tumblr.com/post/30725604344/ios-provisioning-portal-distribution

こちらを見る限り、

Standard iOS Developer Programでは上記の問題に関して特に問題がないとのこと。

さらに、「Distributeの証明書というのは、AppStoreにアップする際の証明書」やと。

ほほぉ。

※でもあとからよく見たら上記のサイト「期限内の場合」って書いてあったw

 

 

▼というわけで更新作業へ

更新作業の際に参考にさせて頂いたのが以下のリンク。

http://ameblo.jp/kazatmac/entry-11078956765.html

詳細はこちらのリンクで確認して頂きたいのですが、

ちょっと変更点もあったので、やったことをざざっと並べておきます。

(キャプチャなくて申し訳ないです!)

 

*更新手続きまとめ*

-- 1、Distribution証明書の再発行 --

①キーチェーンアクセスからCSRファイルを作成する→ディスクに保存

(「認証局に証明書を要求」みたいなあれね。

  作り方はプッシュの証明書を発行するときと同じ。

  わからない方は⑯のリンクを見て下さい)

Apple Developerにログイン > Certificates, Identifiers & Profilesへ

③Certificates > Production で新規作成マーク(+)を押す

④「どの種類の証明書を作りたいんだい?」みたいな英語が出るので

 Profuction > AppStore and Ad hoc を選択

⑤そのまま進むとCSRファイルのアップロードを要求されるので、

 ①で作ったCSRファイルをあげる

⑥作成できたらそのcerファイルをダウンロード、ダブルクリック!

⑦キーチェーンに⑥の証明書が登録されたのを確認

 

 

-- 2、Provisioning Profileの更新 --

⑧再びApple Developer > Provisioning Profile > Distribution へ

⑨ExpiredのステータスになっているProvisioningたちのEditを選択

⑩先ほど作成した新しいPeoduction用の証明書が

 Certificates: の欄に出現していると思うのでそちらにチェックしてDone

⑪DLしてダブルクリックするとXcodeのOrgnizerに入りますので古いやつを破棄!

 

 

-- 3、APNS Production(プッシュ用証明書)の更新 --

⑫再びApple Developer > Identifiers > App IDs へいき、

 プッシュが届かなくなってしまったアプリIDを選択して

 利用中のApplication Serviceのステータス一覧を確認すると、

 おそらくPush Notificationsの欄が黄色信号(Configurable)になっていて、

 「未設定だぜ」みたいな英語が書かれているはずなので、

 この証明書をGenerate作業する。

⑬④のときみたいに「どの証明書が欲しいのね」って聞かれるので

 Production > Apple Push Notification service SSL (Production)を選択。

⑭またCSRファイルを要求されると思うので、①で作成したCSRファイルをアップロード。

 作成完了したら、DLしてダブルクリック!

⑮キーチェーンに⑭の証明書が登録されるので、該当証明書の上で右クリック

 →証明書を書き出す

⑯パスワードはどちらとも空欄でp.12形式で書き出して保存

(補足:プッシュ通知の証明書関連は下記がわかりやすくてオススメ

http://himaratsu.hatenablog.com/entry/objc/push_certification

 

 

と、これで完了ー!!

無事、問題なく全て動きました。

 

▼その他

「Adhocのプロビジョニングファイルの期限が切れますよー」っていうお知らせは

何日か前から来ていた気がするけど、

実際この更新が可能なタイミングって何日前くらいからなのだろう...

というのが残った疑問。

 

とりあえずプッシュが打てなくなるのはきついってことで、

Productionのプッシュの証明書の有効期限は確認したので、

次回期限が近くなったらこまめに見に行ってみようっと!

 

お疲れ様でした(○'ω'○)!