Swanman's Horizon

性欲をもてあましつつなんらかの話をするよ。

アドホック版アプリをWi-Fi経由でiPhoneにインストールする方法

アドホックビルドしたアプリをWi-Fi経由で配布する、いわゆるOTA配布というのは他のサイトでも散々やり方が書かれてるけど、それとは微妙に違う話。

WindowsiOSアプリが開発できる!

AppleObjective-CC/C++以外の言語によるアプリは認めねえ!という強硬な態度だったのも今は昔。Flash Builder(Air for iOS)を使えばWindowsだけでiOS向けのアプリが開発できてしまうというゲイツ民にはとてもありがたい環境が整ったのは本当に喜ばしい…ものの、それを知る1週間前くらいにMac miniを買っちゃった僕としては少々どころじゃない複雑さ/(^o^)\

でも純正じゃないデメリットも

やっぱりXcodeでの開発が一番優遇されているのは事実で、Windows上ではもちろんiPhoneシミュレータは使えないし、何よりも痛いのは実機に転送する手段がiTunesでの同期しかないところ。
ただでさえ遅いipaのパッケージ化を待つ時間は今後改善して頂くとしても、同期にかかる時間はiTunes側の問題(というかほぼ仕様)なので改善されそうにもないし。

そうだWi-Fiがあるじゃん

Xcodeで開発するときは、Build and Archive後に出てくるオーガナイザで設定項目を埋めるだけで、ネット経由で転送するためのファイルが生成されてとても便利なんだけど、これをFlash Builderで作ったipaにも適用できればいいなーと思ってダメ元で試したら、意外とあっさりできました。何この拍子抜け感。

方法はいたって簡単

要はオーガナイザが吐いてくれるhoge.plistと同じものを作ればいいだけ。
オーガナイザで配布設定するときはファイル名まで含めた配布URLを入力させられるので、てっきりそのURL以外で配布しても動かないようipaの方にも加工してるものだとばかり思ってたんだけど、全然そんなことはなかった^p^
ちなみに中身はこんな感じ。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>items</key>
	<array>
		<dict>
			<key>assets</key>
			<array>
				<dict>
					<key>kind</key>
					<string>software-package</string>
					<key>url</key>
					<string>http://hogehoge.com/hogehoge.ipa</string>
				</dict>
			</array>
			<key>metadata</key>
			<dict>
				<key>bundle-identifier</key>
				<string>com.hogehoge.hogehoge</string>
				<key>kind</key>
				<string>software</string>
				<key>title</key>
				<string>HOGEHOGE</string>
			</dict>
		</dict>
	</array>
</dict>
</plist>

これでちょっとは楽に

もちろんLAN内での配布もできるので、PC側で色々設定したり等々をしておけば、ビルド→Safariインスコという非常に簡潔な手順で転送できるように!

てことで俺様用メモでした

実際に落とすにはitms-servicesとかいう特殊なURLスキーム使ったりとか色々あるんだけど、その辺は既存の解説サイト見た方が早いのでその辺参照。そんなに難しい話でもないし。
TestFlightみたいなサービスはこういう手順を自動化してるのかなー。