めっちゃハマった(´・ω・)
めちゃめちゃハマった!!!(´;ω;)ブワッ
くどいですが、めっちゃハマりました。
知り合いから頼まれた件になりますが
結局、秘密鍵が見つからなく、リリースができない状況に(´;ω;)
しかし、良い勉強になりました。
自分でアプリ案件担当するときはこうならない(鍵が見つからない事態)ように
注意するぞ!\(^^)/
1.アプリリリース&更新に必要なファイルについて
このサイトがめっちゃ参考になりました。
iPhoneアプリ開発開始時に気をつけるべきファイルの取り扱い (1)
このサイトから学習しましたが
リリースに向けて、下記9つのファイルが必要とのこと。
① 秘密鍵
--> hoge.p12
② 秘密鍵に対応したCSR(証明書要求)
--> CertificateSigningRequest.certSigningRequest
③ CSRに対応した証明書(開発用)
--> development_identity.cer
④ CSRに対応した証明書(申請用)
--> distribution_identity.cer
⑤ 中間証明書
--> AppleWWDRCA.cer
⑥ デバイスID
--> iPhone実機から取得
⑦ AppID
--> 任意に設定
⑧ development用Provisioning Profile
--> hoge.mobileprovisioning
⑨ destribution用Provisioning Profile
--> hoge.mobileprovisioning
個人的にハマった理由としては
証明証が多く、何がなんだか分からないまま進めてしまったことも
原因だと思っています。
やっぱり理解しなければ先に進みません。
中途半端で進めようとして余計に時間を食ってしまう。
このクセは直さなければ
それぞれの存在理由については次の項で
2.それぞれのファイルの存在理由(?)について
理由については、下記サイトから学びました。
iOSデバイスの準備
さて、下記自分なりの理解度メモです。
突っ込みどころ満載かもしれませんが、勉強中の身なのでお手柔らかに・・・
・AppID
まずiPhoneアプリを開発するにあたり、Apple Devloperとして登録が必要とのこと。
その際に発行されるのが、AppID。
色々なアプリ開発していると、
後ほど発行する証明書などがごちゃごちゃするらしいので
なるべく、「com.hogehoge.www」のようなID名前付けがよいらしいです。
Apple Devloperに登録が必要な事自体は知っていましたが
これから始まるとは・・・(つーか当たり前?)
あ、そうそう。項目1で説明した⑦にあたります。
・Provisioning(プロビジョニング)
来ました!Apple意味不明仕様!(個人的に)
開発したアプリをiPhoneデバイス上で動作させるために必要とのこと。
プロビジョニングするためには、
署名証明証とプロビジョニングプロファイルが必要らしいです。
(´・ω・`)ね?難しいでしょう?
取り敢えず、これがないとiPhoneデバイスで動作させることはできない!
と勝手に理解しています。
ちなみにプロビジョニングの意味は
「供給/準備/設備/引き当て(すること)などを意味する」とのことで
iPhoneアプリとしては、「動作させる前に準備する証明書とファイル」
と理解しています。(やっつけですが多分これでいいはず)
発行する意図については、まだ詳しくは理解していませんが、
恐らくPush通知などのApple提供機能を
なりふり構わず、利用されるのを恐れたんじゃないかなと思っています。
あとは、アプリを簡単に複製されても困るんじゃないかなと
・署名証明証
プロビジョニングのファイルのひとつ。
項目1の②と③にあたるんじゃないかな。
②は開発証明書、③は申請用となります。
リリースするときに必要になるのは③になります。
・プロビジョニングプロファイル
項目⑧と⑨にあたるやつですね。
開発中に実機で試したい場合、必要になるので覚えておく必要があるでしょう。
iPhoneアプリがエミュレーター上でPush通知のテストができないので、
テストする時必須になります。
ちな、⑧と⑨で2つある理由についてはまだ勉強中です。
(なんぞ?iOSチームプロビジョニングプロファイルって?)
・秘密鍵
いつ発行されるかはやったことないので不明ですけど
(多分署名証明書? or AppID発行時?)
アプリ運用中、なくしたらアウトなやつです。
再発行するにはAppIDが別になるらしく
そうなると今上がっているアプリは更新できなくなるらしいので、
やっぱりアウトです。
知人に聞いたところ、Appleサポートでなんとかなるかもしれないと言っていましたが
可能性はめっちゃ薄いらしいです。とりあえず無くすなデータ
ちなみに、中間証明書とかちっとまだ意味不明でございます。
ここは引き続き学習していこうと思う。
3.今回何故アップできなかったのか
すべてはこいつが無かったから
>>>・秘密鍵
今回はこれがなかったんだお(^ω^ 三 ^ω^)おっおっおっ
以上。
しかし、まじ涙(´;ω;)
最後に、詳しく記載してくれました
Asialさんと、Second Flushさん
めっちゃ助かりました。本当にありがとうございます。
この場を借りて(?)御礼申し上げます。m(_ _ )m