iOSアプリ・Webシステム開発のイリテク

HOME > iPhone > iOS Developer Enterpriseで社内向けiPhoneアプリを作る方法 [完全版]
2012.03.13

iOS Developer Enterpriseで社内向けiPhoneアプリを作る方法 [完全版]

このエントリーをはてなブックマークに追加

前回の記事で「iPadやiPhoneで社内向け業務アプリを作る方法」として全体の流れを説明しましたが、今回は具体的な実装方法をまとめていきます。ネットで探しても企業用アプリの例は公開されているものが少なくて苦労したんですが、分かってみればかんたんです。アップまで詳しくまとめてますので、この記事だけでEnterpriseでの配布までは完璧なハズ!

SPONSOR

iOS Developer Enterpriseを使うメリット

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

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

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でも大丈夫です。

このエントリーをはてなブックマークに追加

記事を書いている人

イリテク(株)代表。Webシステム/iOSアプリの開発を行っています。
受託開発だけでなく、月額固定の専属エンジニアサービスおよび、 自社でクラウド見積請求書サービス CLOUD PAPERを運用中!
プロフィール

イリテクの最新記事をフォロー

  • follow us in feedly
    RSSで最新記事を取得

関連記事

SPONSER

ITを通してビジネスを加速させます!

御社の顧問エンジニアとして、デザイン・システムに関わる様々なご相談をお受けしております。企画・提案だけでなく、実際に手を動かして開発まで行います。また、システムにとどまらず、デザイン案件もお受けできるのが強みです。
顧問エンジニアサービス
SPONSOR

NEW ENTRIES
FACEBOOK
Twitter
CATEGORY
開発したWebサービス
RECRUIT
Webサービスを一緒に開発して頂けるPHPエンジニア募集!週1回のリモート勤務!