.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

iOSのデプロイについてまとめる。

サマリ

項番配布方法用途配布先ライセンスApp ID (Suffix)証明書Provisioning ProfileデバイスID(UDID)登録
AppStore公式無制限Apple Developer ProgramExplicit App IDApp Store and Ad HocApp Store不要
DebugDebugDebug用実機Wildcard App ID
or Explicit App ID
iOS App DevelopmentiOS App Development必要
※ 注意事項
AdHoc限定目的登録したデバイス
(最大100台まで)
Apple Developer Program
or Apple Developer Enterprise Program
App Store and Ad HocAd hoc
In-House社内利用社内デバイスApple Developer Enterprise ProgramIn House and Ad HocIn House不要

注意事項

  • デバイス変更、追加・削除などがあった場合、Provisioning Profileの編集が必要になる。
  • Provisioning Profileの編集が発生すると、アプリケーションの再インストールが発生するので注意が必要。

区分

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

アーカイブ(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]をクリック(以降の手順はデプロイ方法によって異なる)。

デプロイ方法

デプロイ方法としては以下の方法がある。

  • iTunesの使用
  • Webからのダウンロード
  • キッティング用
    • iPhone構成ユーティリティを使用(discon)
    • Apple Configurator

以下のサイトが参考になる。

In-House(社内利用)

事前のデバイス登録や、台数制限が無い。

  • ただし、In-House版アプリの
  • 利用者は、iDEP契約主体法人の従業員に限る。
  • 利用者以外にインストールされないよう厳重管理が必要。

前提

以下が必要。

  • ライセンス登録
    Apple Developer Enterprise Program

アーカイブ(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

不正な経路でのアプリケーションのインストールを防止する役割を持つ。

以下が埋め込まれている。

  • App ID
  • 開発者ID
  • デバイスID

作成

開発用

  • 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)をダブルクリックし、インストール。

参考

  • iOSアプリの開発準備と申請の手順まとめ | makotton.com
    http://makotton.com/2015/07/05/1138
    • デベロッパーアカウントの取得と更新
    • MemberCenter?での作業
  1. デベロッパー証明書の準備
  2. AppIDの作成
  3. デバイスの登録
  4. Provisioning Profileの作成
  • Xcodeでのプロジェクト設定
  • アプリ配布

パターン毎

Debug

Ad-Hoc(限定目的)

In-House(社内利用)

  • Monacaアプリ(iOS)をネットワーク経由で配布する方法(In Houseビルドについて) : アシアルブログ
    http://blog.asial.co.jp/1379

実機・エミュレータ

iOSの実機

iOSのエミュレータ

開発ツール毎

Cordova - ビルドとデプロイ

ReactNative - ビルドとデプロイ

Flutter - ビルドとデプロイ


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-10-22 (木) 16:01:40 (1275d)