スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[iOS] Distributing Enterprise Apps for iOS 4 Devices (iOS4 デバイスへのエンタープライズアプリケーションの配布)

業務で iOS Developer Enterprise Program を扱っているのですが、
やたら Xcode の更新はあるし、Webのインタフェースはちょいちょい変わるしで、
昔の解説ページなど見てもそのものずばりの情報が少なかったり。

で、iTunes や iPhone 構成ユーティリティを使わずに、
(もちろんエンタープライズなので Apple store も通さずに)
インターネット経由で配布できる方法を探していたのです。

確かにドキュメントはあるのです。

Distributing Enterprise Apps for iOS 4 Devices
http://developer.apple.com/library/ios/#featuredarticles/FA_Wireless_Enterprise_App_Distribution/Introduction/Introduction.html

ただいかんせん英語のうえ、必ずしも最新の状況にあったドキュメントというわけでもないみたい。
機械訳してもさっぱりなので、めんどくさいけれども理解するためにところどころ適当和訳を行いました。
(Last updated: 2011-03-04 のものから訳を行いました)

たぶん和訳そのままだといろいろ問題があるはずなので(引用の範囲かどうのこうの)、
ポイントとなるべきところだけ抜粋してまとめます。



■ 概要 
  社内・組織内利用のアプリケーションを配布するための手順は以下の通りになります。
  ・"iOS Developer Enterprise Program" の登録を行います。
  ・アプリケーション配布の準備を行います。
  ・アプリケーション使用の認証を行う、署名されたプロビジョニングプロファイルを作成します。
  ・そのプロビジョニングプロファイルを用いてアプリケーションをビルドします。
  ・ユーザに配布します。

  アプリケーションの配布の方法:
    iTunes を用いる
    iPhone 構成ユーティリティを用いる
    セキュアなサーバに設置し、ワイヤレスでインストールする



 ("iOS Developer Enterprise Program" の登録など割愛。
  これに関しては説明されているサイトが多いと思います。)

 (以降、iTunes や iPhone 構成ユーティリティでのインストールなども割愛)


■ ワイヤレスにアプリケーションをインストールする

iOS 4 では、iTunes や iPhone 構成ユーティリティを使わずに、社内・組織内利用のアプリケーションをワイヤレスで配布することに対応しています。

必要要項:
  ユーザを認証してアクセスできる、セキュアな Webサーバ
  .ipa ファイルフォーマットの 社内・組織内利用の iOS アプリケーション
  このドキュメントで説明されている XMLマニフェストファイル
  Apple の iTunes サーバにアクセスできるネットワーク設定

アプリケーションのインストールはシンプルです。ユーザは配布者が用意した Webサーバから iOS 4 デバイスにマニフェストファイルをダウンロードします。
マニフェストの参照情報によって、デバイスに対してアプリケーションをインストールする指示がなされます。

SMS や 電子メールへの記載、または別に作成したエンタープライズアプリケーションに埋め込むことで、マニフェストファイルをダウンロードするURLを配布できます。

アプリケーションを配布するための Web サイトをどうデザインするか、ホスティングするかは、自由です。ただし、インターネットやイントラネットを使うのに、BASIC認証や、ディレクトリ単位での認証などを使って、ユーザを確実に認証する必要はあります。
アプリケーションとマニフェストは、直接 HTTP や HTTPS を使ってアクセスされない場所に設置することが可能です。



ざっくりといいますと、

1) アプリケーションをアーカイブ化した .ipa ファイル
2) その .ipa ファイルについて記載した .plist のマニフェストファイル
3) マニフェストファイルへのリンクをつけたHTMLページ


これらを用意して、Webページにアップすればいいと。
ただし、その Webページは誰でもアクセスできると困るから
社内のイントラネットとか、外部公開しているサーバだったら
BASIC認証とかそういうのつけようね、ということ。

■ワイヤレスにエンタープライズアプリケーションを配布するための準備

ワイヤレスにエンタープライズアプリケーションを配布するための準備として、アーカイブバージョンとして、.ipa ファイルとワイヤレス配布を可能にするマニフェストファイルをビルドします。

Xcode では、“Build > Build and Archive”コマンドで、アプリケーションのアーカイブを作成します。
アーカイブされたアプリケーションのオーガナイザで、アプリケーションを選んで“Share Application…”ボタンをクリックします。続いて“Distribute for Enterprise…”ボタンをクリックします。Xcode がマニフェストファイルを作成するための情報を尋ねられます。マニフェストファイルに書き込まれる情報については後述します。より多くの情報を求められる場合は、iOS Dev Center にアクセスしてください。



Xcode4 になってからメニューに変更があります。 “Product > Archive” がいいようです。その後の流れも変わっています。

参考:Xcode4.0でのIPAファイルの作り方
http://appteam.blog114.fc2.com/blog-entry-175.html

■ワイヤレスマニフェストファイルについて

マニフェストファイルは、plist(プロパティリスト) の XML形式です。iOS4 デバイスが、Web サーバからアプリケーションを探してダウンロードし、インストールするために使います。マニフェストファイルは Xcode によって作成され、エンタープライズ配布のためにアーカイブされたアプリケーションを公開するときに使われる情報として使われます。
「ワイヤレスにエンタープライズアプリケーションを配布するための準備」を参照してください。

このドキュメントの末尾に、マニフェストファイルのサンプルがあります。
下記の項目が必須になります。

項目       | 説明
URL       : アプリケーション(.ipa)ファイルの http あるいは https の完全なURL
display-image  : ダウンロード・インストール時に表示される 57 x 57ピクセルの PNG 画像です。画像の完全なURLを指定します。
full-size-image : iTunes で表示される 512 x 512 ピクセルの PNG 画像です。
bundle-identifier: アプリケーションの識別子です。Xcode のプロジェクトで指定します。
bundle-version  : アプリケーションのバージョンです。Xcode のプロジェクトで指定します。
title      : アプリケーションの名前です。ダウンロード、インストール中に表示されます。

オプショナルキー

サンプルのマニフェストファイルには、オプショナルキーが説明されています。
たとえば、アプリケーションファイルが大きいためにTCP通信中でのエラーチェックを行いたい場合には、MD5 キーを使用することができます。



Xcodeから "Save for Enterprise Distribution" をチェックすれば
マニフェストファイルも生成されます。
中身はただの XML ファイルなので、後から修正しても構いません。
重要なのは URL です。アプリケーションの位置がここで指定されるので、
マニフェストファイルへのアクセスだけでインストールが可能になっているわけです。

Webサイトの構築

認証したユーザがアクセスできるWebサイトの領域に、これらのものをアップロードしてください。

  アプリケーションファイル(.ipa)
  マニフェストファイル(.plist)


Webサイトのデザインは自由です。マニフェストファイルへのリンクが記載されているだけのシンプルなものでも構いません。
ユーザがそのページのリンクをタップすれば、マニフェストファイルがダウンロードされ、そこで記載されたアプリケーションもダウンロードされます。

リンクの例はこのようになります。

<a href="itms-services://?action=download-manifest&url=http://example.com/
manifest.plist">Install App</a>


アーカイブされたアプリケーションへのリンクは付け加えないでください。マニフェストファイルが読み込まれるときに、アプリケーションはダウンロードされます。
URLの記載としては itms-services プロトコルになっていますが、iTunes Store とは関係がありません。

サーバのMIMEタイプ設定

マニフェストファイルとアプリケーションファイルが正しく送られるために、Webサーバに設定が必要になるかもしれません。

Mac OS X サーバでは、Server Admin で以下の MIMEタイプを設定します:
application/octet-stream ipa
text/xml plist


IIS では IIS Manager でサーバのプロパティに次のMIMEタイプを追加します:
.ipa application/octet-stream
.plist text/xml



itms-services:// でマニフェストファイルにリンクした
HTMLファイルを作成し、アップロードします。
.ipa .plist のファイルが認識できない場合は、Webサーバで MIME タイプを設定します。

ワイヤレス配布でのトラブルシューティング

“unable to download”というメッセージで配布が失敗したら、下記を確認してみてください。

  ・アプリケーションが正しく署名されているか、iPhone 構成ユーティリティを用いてインストールができるか確認してください。
  ・マニフェストファイルでの、アプリケーションファイル(.ipa)へのURLが正しく、アクセスできるかを確認してください。
  ・マニフェストファイルへのリンクが正しく、ファイルにアクセスできるかを確認してください。



これはそのままですね。ケーブルでつないでのインストールが可能か、
リンクなどが正しいかなどを確認します。

ネットワーク環境での必須項目
デバイスが閉じたネットワーク環境にあるとき、デバイスがこれらのサイトにアクセスできるようにする必要があります。

ax.init.itunes.apple.com
デバイスは現在のファイルサイズの制限をネットワークを通じて問い合わせます。接続ネットワークでのサイトに接続できない場合、インストールは失敗します。

ocsp.apple.com
プロビジョニングプロファイルで使われた署名を確認するために問い合わせます。
"Certificate Validation" の項を参照ください。



以降、"Providing Updated Apps", "Certificate Validation", "Sample Manifest File" は割愛します。

関連記事
スポンサーサイト

テーマ : Apple
ジャンル : コンピュータ

comment

管理者にだけメッセージを送る

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます
検索フォーム
リンク
最新記事
最新コメント
カテゴリ
RSSリンクの表示
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。