iOSアプリの開発やテストでは、ワイヤレスネットワークを通じてIPAパケットを配信することが非常に便利です。この機能については、自分で実装することもできます。簡単なhttpサーバと3つのファイルを配置するだけです:
- index.htm
- AppName.plist
- AppName.ipa
AppName.plistとAppName.ipaファイルの生成については後述しますが、index.htmの内容は以下の通りです:
<a href="itms-services://?action=download-manifest&url=http://..1.***ppName/.plist">Click to Install AppName</a>
そのindex.htmページの機能は、plistファイルをダウンロードし、トリガーされたipaファイルのダウンロードとインストールを実行することだと推測できます。
クラスアカウントに登録できるテストデバイスの最大数は100台で、そのアカウントで開発されたアプリをインストールできるのは、UDIDが登録されたデバイスのみです;
iOSデベロッパプログラムは「社内」アプリをサポートしますが、AppStoreにアプリを提出することはできませんが、エンタープライズアカウントは「社内」タイプのプロビジョニングプロファイルを作成します。アカウントは「社内」タイプのプロビジョニングプロファイルを作成でき、このプロファイルを使用したアプリは、デバイスのUDIDを登録することなく、どのデバイスにもインストールできます。
2.IPA文書の自動生成
アプリケーションURL」はIPAファイルのリンクアドレスで、例えばhttp://..1.***/.paのように、leを入力します。このようにして、保存後、AppName.ipaとAppName.plistファイルが生成されます。
上記のようにipaパッケージを生成するプロセスは、クリック、選択、充填などの複数のステップを必要とします。これは、Xcodeが提供するコマンドラインツールを使用して自動化することができます。
xcodebuild -exportArchive -exportFormat IPA -archivePath AppName.xcarchive -exportPath AppName.ipa -exportProvisioningProfile 'MyApp Distribution Profile'
つまり、プロビジョニング・プロファイル "MyApp Distribution Profile"を使用して、アーカイブファイル AppName.xcarchiveを IPAファイル AppName.ipaにエクスポートします。
AppName.xcarvhive ファイルは、上記の Xcode->Product->Archive メニュー項目を使用して生成することができます。
アーカイブスキームへのポストアクションの追加
archive=`bash ~/tools/newest_archive.sh`
ipa_path=~/ipa/AppName.ipa
rm "${ipa_path}"
xcodebuild -exportArchive -exportFormat IPA -archivePath "${archive}" -exportPath "${ipa_path}" -exportProvisioningProfile "MyApp Distribution Profile"
このスクリプトは、Archive メニュー項目の操作が完了した後に自動的に実行されます。
アーカイブファイルの取得
上のシェルスクリプトの newest_archive.shは シンプルなbashスクリプトで、Archiveメニューで生成された***アーカイブファイルを取得します。
//! newest_archive.sh
newest=
backIFS=$IFS
IFS=$(echo -en '
')
for f in `find ~/Library/Developer/Xcode/Archives -name *.xcarchive`
do
if [ -z $newest ]
then
newest=$f
elif [ $f -nt $newest ]
then
newest=$f
fi
done
echo "${f}"
FS=$backIFS
こうすることで、***が生成したアーカイブファイルは、Archiveメニューをクリックするたびに自動的にAppName.ipaファイルにエクスポートされ、~/ipaディレクトリの下に保存されます。
もしかしたら、Xcodeは対応するアーカイブファイルにアクセスするもっと便利な方法を提供しているかもしれません!
2.plistファイルは手動で一度だけ生成できますので、plistファイルの自動生成はありません...
1. ワイヤレスアドホックディストリビューション
2.iOSデバイス向けエンタープライズアプリケーションの発行
3. Xcodeコマンドラインツール用のxcodebuild命令 //////..ml