これが最後じゃないからね

iOS開発 / Swiftなどの技術を中心に

iOSアプリのSubmit周りの資料

27日のHealth Swift MeetupのLT資料になります。


そして資料の補足を書きたいと思います。

全体として

CertificatesとProvisioning Profilesには利用できる期限があるため期限切れになっていないか、いつまで利用できるものかはたまに見ておいたほうが良いです。
IdentifiersにはApp Groupsなどもあり、Provisioning ProfilesにもAd-HocやtvOS用のもあるので、用途によって作り分けてください。
今回の資料は説明をわかりやすくするために基本的なDevelopmentとDistributionの2種類にしてあります。
またBuildやArchiveの際に警告で「Fix Issue」が出てくるかもしれませんが、提出関係で「Fix Issue」はあまりしないほうが良いです。「Fix Issue」することによって理解していないものが自動でダウンロードされてしまう危険性があるからです。

個別のスライド

4枚目: 今回のエラーの原因はおそらく開発の最中にAppleのメールアドレスを変更してしまったことか、期限が切れていたことだろうと思います。
このエラーが出てきた場合はただApp IDsを別の文字列に変更しただけではダメだったりします。
App IDsを変更した場合それに対応するProvisioning Profilesも作成しなければいけないので、1からApp IDsを調べて作り直すのをおすすめします。

13枚目: Extensionも1つのアプリとして考える理由はExtensionはアプリとは独立しており、別バイナリでサンドボックスも違うからです。

Extensionについては

https://developer.apple.com/jp/documentation/ExtensibilityPG.pdf

またApp IDsを作成してからProvisioning Profilesを作成するという順番の理由はProvisioning Profilesを作成する際に対応するApp IDsを選択するので、先に作っておかないと選択することができないからです。

14枚目: もしwatchOS 1でアプリを提出する際はこの例に加えてwatch appのApp IDsとProvisiong ProfilesのDev, Distが必要になります。しかし、今後watchOSのアプリを提出する場合は基本的にwatchOS 2なのでwatch appのことは無視して構わないと思います。

watchOS 1とwatchOS 2のアーキテクチャの違い

https://developer.apple.com/jp/documentation/General/Conceptual/AppleWatch2TransitionGuide/BeforeYouStart/BeforeYouStart.html#//apple_ref/doc/uid/TP40015234-CH2-SW1

17枚目: XC Wildcardについて。これはウノというカードゲームを知っていればわかると思うのですが、黒いカードでワイルドカードとワイルドドロー4というカードがあり、場にどのようなカードがあろうとも出せることができるカードなのですが、それと同じ機能を持ちます。具体的な使い方としてはサンプルなどちょこっとプロジェクトを作って実機で試したいときなどがあると思いますが、その際にいちいちApp IDsやProvisioning Profilesを作るのはめんどうだと思います。その際はこのXC Wildcardを使えば大丈夫です。確か何も設定せずにApp IDsやProvisiong Profilesがないアプリは自動的にXC Wildcardが割り当てられ実行されるはずです。

21枚目: 現在自分はCodeControllerというApple WatchとCustomKeyboardを使用したアプリと、moneyDecisionというアプリの2つをリリースしているためアプリ2つとワイルドカードの構成になっています。

自分の実体験として

僕は普段趣味で個人開発をしています。

    そこで感じたことは
  • アプリの作り方や機能のサンプルコードはネットに落ちているのを拾ってくれば良いのですが、せっかくアプリが完成したのに提出関係で詰まってしまう人が多いと思います(自分がそうだったのでそういう人が多いと思いたいw)
  • 会社でアプリを作成している人は会社で自分よりできる人に質問すれば解決するとは思うのですが、特に個人開発をしている学生や一人でiOSアプリ開発を始めた人ですと、アプリ提出に必要なものがわからない人がいたり、実際にプログラミング意外の設定などは聞けなかったりします。
  • またアプリ提出の手順などは検索をかけると結構出てくるのですが、大まかなに何が必要なのかが書いてある資料は意外と少なかったりします。

なのでこの資料がこれからアプリを提出する人たちに少しでも役立てば幸いです。
加えて間違いやアドバイスなどありましたら是非宜しくお願い致します。

※この資料は2016年4月23日現在のものなので今後変更になる可能性もあります。