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を運用中!
プロフィール

月額10万円で御社専属エンジニアを雇いませんか?

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

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

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

SPONSER

コメントをどうぞ!

  • Pingback: iPadやiPhoneで社内向け業務アプリを作る方法 » SHINGOLOG

  • http://www.facebook.com/naohiro.tsuji Naohiro Tsuji

    いつもお世話になっています。しょうもない指摘をいくつかさせてください。

    ・In HouseでもAd HocでもOTAは使えます。・「Push Notifications、In-App、Game Center、iCloud等を使う場合は*は使えませんのでご注意下さい。」–> iCloudは使えます。

  • plusplus01

    ご指摘ありがとうございます。まだまだ勉強不足です。

  • Makoto

    いきなりで大変失礼なのですが、ご質問させて下さい
    Enterprise Program の証明書につきまして
    下記のリンクでは
    http://iphone.o-84.com/pub-apps/test/cert-multi-mac/
    Provisioning PortalのCertificateからは、1台分の証明書リクエストのみしか登録できません。複数のMacを使用したい場合は、まず1台目のMacで証明書の登録を行ないます。2台目以降のMacには、Provisioning Portalからダウンロードしたファイルではなく、1台目に登録したMacから証明書を書き出して使用します。
    とありますが、Enterprise Program でも同様で1台目の証明書が必要なのでしょうか?

    • plusplus01

      返信が遅くなりまして、すみません…。

      もう解決されているかもしれませんが、Enterprise Programでも同様です。1台目の証明書を利用することになります。

  • Nakamura

    はじめまして

    初心者なので教えて頂けませんでしょうか?

    ご紹介頂いている方式だと、Appleに拒否されたアプリの配布も可能なのでしょうか?それとも、あくまでも事業所内での利用に限られているのでしょうか?配信した後、アップルからアカウントの停止なんて事になるとイヤなので、
    是非お教え頂ければと思います。

    よろしくお願い申し上げます。

    • plusplus01

      はじめまして!
      EnterpriseはAppleの審査は入りませんので、可能です。ただし、不特定多数のユーザーに配布することは出来ません。事業所内での利用に限られます。とはいいましても、まずAppleに問い合わせして確認をとっておいた方が確実ですので、おすすめします。

      • Nakamura

        ご返信ありがとうございます。
        事業所内とは、どういった制限がかかるのでしょうか?
        例えば、社内報をアプリ化して、全国の事業所で閲覧する場合、appleの申請を取らないで運営するには、どういった方法があるのでしょうか?
        是非お教え頂ければ幸いです。
        よろしくお願い申し上げます。

        • plusplus01

          このブログに記載しておりますようにAppStoreではなく

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

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

          この方法で配布することになります。

  • Pingback: 脱獄不要のiOS用GBAエミュレーター「GBA4iOS 2.0」公開!

  • Pingback: 【悲報】iOS7.1から企業内アプリ配布(Enterprise In-House)にSSLが必須となった模様 | Lancork

  • Pingback: iOS開発に関するあれこれ | BSFR

  • Pingback: iOS Developer Program EnterpriseにおいてProvisioning Profileを作って配信する | 開発メモ@uehi

  • Pingback: iPadやiPhoneで社内向け業務アプリを作る方法 | イリテク株式会社

関連記事