「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
iOSのデプロイについてまとめる。
サマリ †
注意事項 †
区分 †
iOSのデプロイは複雑なため、
まず、iOSのデプロイの区分についてまとめる。
ここでは以下の2つの区分を定義した。
ライセンス †
iOSのデプロイは、開発用途であっても、ライセンスを持っていないと証明書とプロファイルを発行できない。
Apple Developer Program †
このライセンスは、以下のデプロイが可能。
- 登録には、
- XXXXXが必要になる。
- また、年間XXXXX円の費用がかかる。
Apple Developer Enterprise Program †
このライセンスは、以下のデプロイが可能。
- 登録には、
- 世界標準の企業識別コードであるDUNS番号が必要になる。
- また、年間XXXXX円の費用がかかる。
補足事項(Xcode7) †
Xcode7以降を使うのであれば、無償で証明書とProvisioning Profileを発行可能。
ただし、デプロイ(アプリの書き出し)は不可能で、
あくまで開発用途での短期間(3日間)、Debug実行だけ許可。
(プッシュ通知などのApple提供MBaaSを使うならライセンスが必要)
用途 †
開発用 †
本番リリース用 †
AppStore? (公式ストア) †
- 汎用的なアプリケーションを世界市場に対して配信するようなケース。
- Appleの審査を受けてAppStore?に登録し、デバイスもしくはPCのApp Store(iTunes)経由でインストール。
- 上記以外の、テストや試用、特定企業向けアプリ配信にも利用できる。
前提 †
アーカイブ(XXX形式) †
デプロイ方法 †
AppStore? (公式ストア) から配信。 †
汎用的なアプリケーションを世界市場に対して配信する。
App StoreのTest Flight機能 †
開発中のアプリをテストや一定のユーザのみで試用する目的で配信する。
(App Storeの基盤を使ってβテストのようなことが出来るようになる)
App StoreでCustom B2Bアプリ配信 †
App Store配信で特定企業(Custom B2Bアプリ)に配信する。
MDM(Mobile Device Management) †
サイドローディング †
- Appleの審査を受けず、
- 「ライセンス契約企業」向けのアプリケーションを「ライセンス契約企業」に対してデプロイする。
- 注:『「特定ドメイン」向けのアプリケーションを「特定ドメイン」に対して配信する。』ではないので注意。
などのケースで使用できる。
の2つの方法がある。
Debug †
前提 †
以下が必要。
- ライセンス登録
Apple Developer Program
デプロイ方法 †
- Xcode で
- [Product]メニュー->[Build Settings]で[Code Signing にProvisioning Profile]を指定
- 左上で、
- 使用するデバイスを選択する。
- Runボタンを押して実行する。
AdHoc?(限定目的) †
1つのDeveloper Programの登録ごとに100台のiOSデバイスを登録し、
そのデバイスに対して以下の3つのデプロイ方法でアプリをインストールできる。
事前のデバイス登録や、100台までというのがネック。
前提 †
以下が必要。
- ライセンス登録
- Apple Developer Program
- Apple Developer Enterprise Program
- 配布用 証明書(App Store and Ad Hoc)
- 配布用 Provisioning Profile(AdHoc?)
アーカイブ(AdHoc?形式) †
- Xcodeでアプリのプロジェクトを開く
- [Target]メニュー
- [Build Setting]->[Code Signing]セクションの[Code Signing Identity]を、
- [iPhone Developer]ではなく、[iPhone Distribution]に変更し、
- 作成した配布用 Provisioning Profileを選択する。
- [Product]メニュー
- [Build for Archive]->[Archive]を選択、アーカイブを作成。
- [Organizer]が自動的に開き、[Archive]タブにアプリが表示される。
- [Organizer]の[Archive]タブでアプリを選択、[Share]ボタン
- [Contents]で[iOS App Store Package(.ipa)]を選択。
- [Identity]でビルド時に選択した配布用 Provisioning Profileを選択。
- [Next]をクリック(以降の手順はデプロイ方法によって異なる)。
デプロイ方法 †
デプロイ方法としては以下の方法がある。
- キッティング用
- iPhone構成ユーティリティを使用(discon)
- Apple Configurator
以下のサイトが参考になる。
In-House(社内利用) †
事前のデバイス登録や、台数制限が無い。
- ただし、In-House版アプリの
- 利用者は、iDEP契約主体法人の従業員に限る。
- 利用者以外にインストールされないよう厳重管理が必要。
前提 †
以下が必要。
- ライセンス登録
Apple Developer Enterprise Program
- 配布用 Provisioning Profile(In House)
アーカイブ(OTA形式) †
- OTA形式とは
- OTAとは、Over-The-Air の略。
- Mac-Xcode、Mac-iTunesなどのケーブル経由でなく配布可能。
- アーカイブの手順
- 基本的に、AdHoc?と同じ。
- OTA配布用のplistが必要になるが、自動生成される。
デプロイ方法 †
セキュアなサーバにOTA形式のファイルをアップして、URLからインストールする。
従って、In-House(OTA形式)のデプロイでは、以下が必要になる。
- HTTPSが使えるWWWサーバ
- 画面表示用のhtmlファイル
- DLするipaファイル
- 対応するplistファイル
証明書 †
取得 †
開発用 †
- MACのキーチェーンアクセスを使用して作成する。
- 開発用MACのキーチェーンアクセスを起動
- メニューの[キーチェーンアクセス]->[証明書アシスタント]->[認証局に証明書を要求…]
- 証明書情報画面を入力する、
- メールアドレス(開発者登録した開発者のメールアドレス)
- 通称(空白)
- CAのメールアドレス(空白)
- 要求の処理
ラジオボタン[ディスクに保存]を選択し、
チェックボックス[鍵ペア情報を指定]をチェックする。
- Apple Developer Program のサイトにログイン
- ---> MemberCenter?
- ---> Certificates, Identifiers & Profiles
- ---> iOS Apps の Certificates
- ---> iOS Certificates [+]
- そこで、以下のように入力する。
- [Development]->[iOS App Development]を選択し、[Continue]ボタン
- [About Creating a Certificate Signing Request]画面で、[Continue]ボタン
- [Choose File…]ボタン -> 証明書要求ファイルを選択 -> [選択]ボタン -> [Generate]ボタン
- 証明書が生成されたら、[Download]ボタン -> [Done]ボタン
配布用 †
開発用との違いは、
- [Development]->[iOS App Development]を選択し、[Continue]ボタンではなく、
[Production]->[App Store and Ad Hoc]を選択し、[Continue]ボタンを押下する。
PCに登録 †
開発用 †
ダウンロードした証明書(ios_development.cer)をダブルクリックし、キーチェーンアクセスに登録。
配布用 †
ダウンロードした証明書(ios_distribution.cer)をダブルクリックし、キーチェーンアクセスに登録。
App ID(iOSアプリのID)登録 †
以下の画面に移動し、
- Apple Developer Program のサイトにログイン
- ---> MemberCenter?
- ---> Certificates, Identifiers & Profiles
- ---> iOS Apps の Identifiers
- ---> iOS App IDs [+]
そこで、以下の入力項目を入力する。
App ID Description †
以下の何れかを入力する。
- AppIDの説明
- AppIDそのもの
- 補足付きの短い文章
App ID Prefix †
最近は、「App ID Prefix = Team ID」となっているらしい。
App ID Suffix †
Explicit App ID or Wildcard App IDのどちらかを選び、
App ID Suffixとして、Bundle IDを入力する。
Bundle ID †
この値(App ID Suffix)は、Xcodeで作成されたプロジェクトの
「Bundle Identifier」と一致している必要がある。
慣例的に自分のサイトのURLをひっくり返した名前が使われる。
Explicit App ID †
- Bundle IDを入力
- アプリ固有のAppIDを作成する場合
- アプリ内課金(アプリ内購入)するアプリ
- iCloudなどのサービスを組み込むアプリ
- 配布用Provisioning Profileに紐付けたい場合
Wildcard App ID †
- 最後「*」で終わるBundle IDを入力
- 開発専用など、どのアプリでも使用できるAppIDを作成する場合。
App Services †
使える機能(Resources、外部機器m,MBaaSなどへのアクセスの可否)を選択する。
デバイスID(UDID) †
取得 †
iTunes †
- iTunesにデバイスを接続
- 「概要」タブにある「シリアル番号」をクリックする。
- 「識別子(UDID)」表示下で「編集」メニューの「コピー」クリックする。
- クリップボードにデバイスIDがコピーされる。
XcodeのOrganizer †
- アプリケーション > Xcode
- XcodeのWindowメニュー > Organizerを起動する。
- 「Identifier」の欄に書かれている半角英数字の識別子をコピーする。
登録 †
- Apple Developer Program のサイトにログイン
- ---> MemberCenter?
- ---> Certificates, Identifiers & Profiles
- ---> iOS Apps の Devices
- ---> iOS Apps Devices [+]
- そこで、以下の入力項目を入力する。
- 1台登録 Register Device
- 複数台登録 Register Multiple Devices
Provisioning Profile †
不正な経路でのアプリケーションのインストールを防止する役割を持つ。
以下が埋め込まれている。
作成 †
開発用 †
- Apple Developer Program のサイトにログイン
- ---> MemberCenter?
- ---> Certificates, Identifiers & Profiles
- ---> iOS Apps の Provisioning Profiles
- ---> iOS Provisioning Profiles [+]
- そこで、以下のように入力する。
- [Development]->[iOS App Development]を選択し、[Continue]ボタン
- [Select AppID]画面で、AppIDを選択し、[Continue]ボタン
- [Select certificates]画面で、開発用 証明書を選択し、[Continue]ボタン
- [Select devices]画面で、アプリの転送/実行を許可する端末を選択し、[Continue]ボタン
- [Name this profile and generate]画面で、Profile Nameを入力し、[Generate]ボタン
- ProvisioningProfile?が生成されたら、[Download]ボタン -> [Done]ボタン
配布用 †
開発用との違いは、
- [Development]->[iOS App Development]を選択し、[Continue]ボタンではなく、
- Apple Developer Programの場合、
[Distribution]->[App Store] or [Ad hoc]を選択し、[Continue]ボタンを押下する。
- Apple Developer Enterprise Programの場合、
[Development]->[Distribution]->[AdHoc?] or [In House]を選択し、[Continue]ボタンを押下する。
- [Select certificates]画面で、開発用 証明書を選択し、[Continue]ボタンではなく、
[Select certificates]画面で、配布用 証明書を選択し、[Continue]ボタンを押下する。
登録 †
開発用 †
- ダウンロードしたProvisioningProfile?(develop.mobileprovision)をダブルクリックし、インストール。
- ProvisioningProfile?の検証。
- ProvisioningProfile?を、Xcodeのアイコンに重ねて開き、Organizerを確認する。
- 左メニューの接続されているデバイス横のランプが緑になっている事を確認する。
- デバイス下の[Provisioning Profiles]を選択すると、登録されているプロファイルが表示される。
- 「Valid profile」となっているか確認する。「Invalid」だと正しく登録されていない。
配布用 †
ダウンロードしたProvisioningProfile?(xxxxxxx.mobileprovision)をダブルクリックし、インストール。
参考 †
- デベロッパー証明書の準備
- AppIDの作成
- デバイスの登録
- Provisioning Profileの作成
パターン毎 †
Debug †
Ad-Hoc(限定目的) †
In-House(社内利用) †
実機・エミュレータ †
開発ツール毎 †