コンテンツへスキップ →

iOS Developer Enterpriseで社内向けiOSアプリを作って配布する方法 [完全版]

前回の記事で「iPadやiPhoneで社内向け業務アプリを作る方法」として全体の流れを説明しましたが、今回は具体的な実装方法をまとめていきます。

ネットで探しても企業用アプリの例は公開されているものが少なくて苦労したんですが、調べてみればそれほど難しくありません。当記事で詳しくまとめてますので、Enterpriseでの配布までは完璧なハズ!

iOS Developer Enterpriseを使うメリット

おさらいですがiOS Developer Enterprise(デベロッパーエンタープライズ)は、社内用のアプリを作る場合に使うライセンスです。
・AppStoreに公開せずデバイスにアプリをインストールできる
・アプリのインストール端末台数の制限なし
・インターネット経由でアプリ(ipaファイル)をダウンロード出来る
・事前にデバイス登録しておく手間が必要ない
というメリットがあります。

アプリの配布方法について

iOS Developer Enterpriseでのアプリ配信方法は2つあります。

・AdHoc形式
アプリ(ipaファイル)をメールなどで配布し、iTunesを使ってiPhone・iPadにインストール

・OTA形式(In-Houseとも呼ばれているらしい)
セキュアなサーバーにアプリ(ipaファイル)、マニフェストファイル(plist)をアップして、URLからインストール

という方法がありますが、AdHocの場合は事前にProvisioning Portal(プロビジョニングポータル)で、デバイスの登録を行っておく必要があり、面倒です。Enterpriseライセンスだと、デバイスの事前登録が不必要で、何台でもインストール出来るので断然便利。

ただし、何台でもインストールできる代わりに、アクセス制限などをかけID・PWで制限してください。不特定多数のユーザーからダウンロードされないように準備をしておかないと規約違反になります。

この辺りの詳しい情報は公式PDFを参照するとわかりやすいです。

エンタープライズ配布用の証明書を取得

iOS Developer Enterpriseライセンスを購入する方法や条件などは、前回の記事を見て頂ければ分かりますので割愛します。iOS Developer Enterpriseライセンスを購入後、iOS Provisioning Portalで証明書の登録を行います。

個人用のものと同じ手順になります。
キーチェーンアクセスを立ち上げて、左上のメニューから「キーチェーンアクセス」→「証明書アシスタント」→「認証局に証明書を要求」をクリック。

メールアドレスや名前はデベロッパー登録したメールアドレスと名前を使います。

これでCertificateSigningRequest.certSigningRequestというファイルが出来上がっていると思いますので、このファイルをProvisioning Portalにアップします。

実はここが上手くいかなくて時間がかかっていたんですが、どうやらデベロッパー登録後のアクティベーションが済んでなかったのか、Apple側に問い合せて、しばらくしたら出来るようになっていました…。ちなみにAppleには電話でも問い合わせ出来るのをご存知でしでしょうか?急いでたので電話してみたんですが、事務的なことしか分からないということで、問い合わせ先のメールアドレスを教えてもらっただけになりました…。あまり意味ないかも。

iOS Provisioning Portal Certificate(証明書)登録

(1)iOS Provisioning Portalにログインして、右側のCertificateをクリック。

(2)配布用(Distribution)タブを開いて、「Request Certificates」をクリック。

(3)画面を開いたら、一番下にファイルをアップできるボタンがあるので、作成したCertificateSigningRequest.certSigningRequestをアップロード。

(4)数秒して画面を読み込み直すと、証明書が出来上がっているのでダウンロードして、ダブルクリック。

iOS Provisioning Portal AppIDを登録

(1)左側メニューからAppIDsをクリック。

(2)右側の「New App ID」をクリック。

Bundle Identifierは何でもいいんですが「ドメインの逆並び+アプリの名前」が一般的です。後ろに*をつけると、使い回しが効きます。例えばjp.test.*の場合だと、実際にはアプリを作ると、jp.test.appnameのようにBundle Identifierを設定しますが、*にしておくことでjp.test.以降の文字列は何を使ってもいいことになります。なので、複数のアプリで使い回しが効きます。ただし、Push Notifications、In-App、Game Center等を使う場合は*は使えませんのでご注意下さい。

iOS Provisioning Portal Provisioning

(1)左側メニューからProvisioningをクリック。

(2) Distributionタブを開いて「New Profile」をクリック。

(3)Provisioningの内容を入力して登録。

(4)Distributionを開いて作成したProvisioning Profilesをダウンロードしてインストール。

iOS Provisioning Portalでの設定はこれで全て完了です。

Xcodeで書き出す際の設定など

(1)各種ビルド設定
Xcodeでは通常通りアプリを作った後、Bundle Identifierは先ほど作ったルールで設定し、Code SigningをProvisioning Portalで作ったDistributionに設定します。

(2)メニューから「Product」→「Archive」でアーカイブ。

(3)Organizerが立ち上がりますので、「Share」をクリック。

ダウンロード用のHTMLを作る

ここまででapp.plist(マニフェストファイル)とapp.ipaファイルは作成済みのはずです。後は、これをダウンロードさせるHTMLを準備。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>ダウンロードページ</title>
</head>
<body >
<h1>ダウンロードページ</h1 >
<a href="itms-services://?action=download-manifest&url=アップしたURLに書き換えて下さい/app.plist" > インストール</a >
</body >
</html >

上記内容をコピーしてHTMLファイルとapp.plist、app.ipaファイルをサーバーにアップして、上記HTMLのURLをインストールしたいiPhoneもしくはiPadのSafariで開きます。後はインストールというリンクをクリックするだけで、インストール完了です。

iOS7.1よりSSL環境が必須に(2014/3/25追記)

iOS7.1よりSSL環境(https)が必須になりました。
レンタルサーバーなどでの共用SSLでも大丈夫です。

ベテランでも参考になるアプリ開発本です↓

SHARE

スキルアップにMENTA

MENTAはいろんなプロに相談できるNo1メンターサービスです。

僕自身もプロダクトの壁打ち・相談にのっています。個人開発でもコードレビュー、セキュリティ面のチェック、デザイン、広告、コンテンツマーケ、SNS集客について相談する、など使えます。

YouTubeでも発信中!

PROFILE

入江 慎吾
あらゆるスキルが学べるパーソナルメンターサービスMENTAの代表/個人開発が好きでこれまでに30個ほどのWEBサービスやアプリを作ってきました/福岡のWEB制作会社勤務→フリーランスエンジニア→法人立ち上げ→M&A億単位の売却を経験。 (詳しいプロフィール)

カテゴリー: HACK