読者です 読者をやめる 読者になる 読者になる

ITの隊長のブログ

ITの隊長のブログです。いや、まだ隊長と呼べるほどには至っていないけど、日々がんばります。CakePHPとPlayFrameworkを使って仕事しています。最近はAngular2をさわりはじめたお(^ω^ = ^ω^)

iPhoneアプリリリースで必要なファイルと手順について

iPhoneアプリ

スポンサードリンク

めっちゃハマった(´・ω・)

めちゃめちゃハマった!!!(´;ω;)ブワッ

くどいですが、めっちゃハマりました。
知り合いから頼まれた件になりますが
結局、秘密鍵が見つからなく、リリースができない状況に(´;ω;)

しかし、良い勉強になりました。
自分でアプリ案件担当するときはこうならない(鍵が見つからない事態)ように
注意するぞ!\(^^)/




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