<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>bunnyhero dev &#187; Server</title>
	<atom:link href="http://www.bunnyhero.org/category/server/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bunnyhero.org</link>
	<description>Notes on iPhone, Flash and Web development</description>
	<lastBuildDate>Mon, 07 Nov 2011 21:49:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Simplifying wireless iPhone app distribution with PHP</title>
		<link>http://www.bunnyhero.org/2011/02/07/simplifying-wireless-iphone-app-distribution-with-php/</link>
		<comments>http://www.bunnyhero.org/2011/02/07/simplifying-wireless-iphone-app-distribution-with-php/#comments</comments>
		<pubDate>Mon, 07 Feb 2011 19:31:52 +0000</pubDate>
		<dc:creator>bunnyhero</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[ios 4]]></category>
		<category><![CDATA[ota]]></category>

		<guid isPermaLink="false">http://www.bunnyhero.org/?p=484</guid>
		<description><![CDATA[iOS 4.0 came with the ability to distribute your ad hoc apps over the air, which is very convenient for testers. More details are available on Apple&#8217;s website. Unfortunately, doing this manually can be a bit of a hassle, partly because the everything in the XML manifest requires absolute URLs. I&#8217;ve created a PHP script [...]]]></description>
			<content:encoded><![CDATA[<p>iOS 4.0 came with the ability to distribute your ad hoc apps over the air, which is very convenient for testers. More details are available <a href="http://developer.apple.com/library/ios/featuredarticles/FA_Wireless_Enterprise_App_Distribution/Introduction/Introduction.html#//apple_ref/doc/uid/TP40009979-CH1-SW11">on Apple&#8217;s website</a>. Unfortunately, doing this manually can be a bit of a hassle, partly because the everything in the XML manifest requires absolute URLs.</p>
<p>I&#8217;ve created a PHP script that makes this task somewhat easier.</p>
<p><strong>Requirements:</strong><br />
A web server that runs PHP 5 with the following extensions:</p>
<ul>
<li>ZIP</li>
<li>either MBString or Iconv</li>
<li>either BC or GMP or phpseclib</li>
</ul>
<p><strong>Installation/usage:</strong></p>
<ol>
<li><a href="http://www.bunnyhero.org/static/ota-php/ota-php.zip">Download</a> and unzip the files into a new directory on your web server.</li>
<li>Create a directory for each app you want to deploy (the directory cannot have any spaces in its name!).</li>
<li>In this directory, put:
<ul>
<li>the <code>.IPA</code> file of your app, built using Xcode&#8217;s &#8220;Build &#038; Archive&#8221; command (no spaces in the filename)</li>
<li>the <code>.mobileprovision</code> file (again, no spaces in the filename)</li>
<li>a 512&#215;512 PNG file named <code>iTunesArtwork.png</code> (case-sensitive)</li>
<li>a 72&#215;72 PNG file named <code>Icon.png</code> (case-sensitive)</li>
</ul>
<p>The directory structure should look like this:<br />
<img src="http://www.bunnyhero.org/wp-content/uploads/2011/02/ota-directory.png" alt="Directory layout for wireless app distribution PHP script" width="400" height="393" class="aligncenter size-full wp-image-487" />
</li>
<li>Now visit the web page that corresponds to the directory where you unzipped the files. You should see something like this:<br />
<img src="http://www.bunnyhero.org/wp-content/uploads/2011/02/ota-website.png" alt="" width="251" height="166" class="aligncenter size-full wp-image-489" /><br />
with one entry for each directory.</li>
<li>Visit the same page on an iOS device running iOS 4.0 or higher. You should be able to install the app simply by tapping on the corresponding &#8220;app&#8221; link. You shouldn&#8217;t need to install the provisioning profile separately, but if you do, it can also be installed via the web site by tapping on the &#8220;provisioning profile&#8221; link.</li>
</ol>
<p>That&#8217;s it. I admit the code is a bit of a mess, as it was hacked together relatively quickly. I haven&#8217;t been able to get it working when there are spaces in the names of the files or directories. Perhaps someone else can fix that :)</p>
<p>This code uses the <em>very</em> useful <a href="https://github.com/rodneyrehm/CFPropertyList">CFPropertyList PHP library</a> by Rodney Rehm to parse the Info.plist file that&#8217;s in the IPA, to extract all the info required by the XML manifest. That&#8217;s how the magic happens.</p>
<p><a href="http://www.bunnyhero.org/static/ota-php/ota-php.zip"><strong>Download the files here.</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bunnyhero.org/2011/02/07/simplifying-wireless-iphone-app-distribution-with-php/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Virtual Worlds</title>
		<link>http://www.bunnyhero.org/2008/04/04/virtual-worlds/</link>
		<comments>http://www.bunnyhero.org/2008/04/04/virtual-worlds/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 04:15:06 +0000</pubDate>
		<dc:creator>bunnyhero</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[virtual worlds]]></category>

		<guid isPermaLink="false">http://www.bunnyhero.org/2008/04/04/virtual-worlds/</guid>
		<description><![CDATA[I am currently attending the Virtual Worlds conference in New York City. It&#8217;s quite a fascinating conference, covering full-blown 3D worlds (a la Second Life), browser-based paper doll communities (Stardoll) and everything in between. Flash is well-represented here; if it&#8217;s 2D or 2.5D virtual world (i.e. not a full 3D environment), it&#8217;s done in Flash, [...]]]></description>
			<content:encoded><![CDATA[<p>I am currently attending the <a href="http://www.virtualworlds2008.com/">Virtual Worlds conference</a> in New York City. It&#8217;s quite a fascinating conference, covering full-blown 3D worlds (a la <a href="http://secondlife.com/">Second Life</a>), browser-based paper doll communities (<a href="http://www.stardoll.com/">Stardoll</a>) and everything in between. Flash is well-represented here; if it&#8217;s 2D or 2.5D virtual world (i.e. not a full 3D environment), it&#8217;s done in Flash, period (no sign of <a href="http://blog.papervision3d.org/">Papervision</a>, <a href="http://www.flashsandy.org/">Sandy 3D</a> or other Flash-based 3D engines, though).</p>
<p>Today I attended a session introducing <a href="http://www.electro-server.com/">Electrotank</a>&#8216;s <b>ElectroServer Universe Platform</b> (they don&#8217;t have a section on their website for it yet, it&#8217;s that new!). It builds on their successful ElectroServer product, adding things like a high-performance isometric rendering engine, a world editor, and content management systems. It looks very advanced and quite impressive, and would probably give any developer wanting to create a virtual world a solid leg up. I will definitely investigate this platform further should I decide to extend bunnyhero labs in a more persistent-world direction.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bunnyhero.org/2008/04/04/virtual-worlds/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Mod_rewrite</title>
		<link>http://www.bunnyhero.org/2007/06/12/mod_rewrite/</link>
		<comments>http://www.bunnyhero.org/2007/06/12/mod_rewrite/#comments</comments>
		<pubDate>Tue, 12 Jun 2007 17:24:45 +0000</pubDate>
		<dc:creator>bunnyhero</dc:creator>
				<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://www.bunnyhero.org/2007/06/12/mod_rewrite/</guid>
		<description><![CDATA[I&#8217;m futzing around with mod_rewrite again (I eventually plan to switch everything over to lighttpd, but until then&#8230;), and as I reread the docs, I remember how unhelpful diagrams like this are: Someday when I suss it out I might write my own mod_rewrite guide.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m futzing around with <code>mod_rewrite</code> again (I eventually plan to switch everything over to <a href="http://lighttpd.net/" title="Lighttpd web server">lighttpd</a>, but until then&#8230;), and as I reread the <a href="http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html">docs</a>, I remember how unhelpful diagrams like this are:</p>
<p><img src="/static/mod-rewrite/mod_rewrite_fig1.png" alt="apache's mod_rewrite diagram... it's sooooo clear" width="350" height="315" /></p>
<p>Someday when I suss it out I might write my own <code>mod_rewrite</code> guide.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bunnyhero.org/2007/06/12/mod_rewrite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

