<?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>Make It So!</title>
	<atom:link href="http://jeanlucdavid.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://jeanlucdavid.com</link>
	<description>Jean-Luc David&#039;s Thoughts on APIs, Startups and Technology</description>
	<lastBuildDate>Mon, 07 May 2012 19:54:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Displaying .SVG Files on Windows Phone 7.5</title>
		<link>http://jeanlucdavid.com/2012/05/displaying-svg-files-on-windows-phone-7-5/</link>
		<comments>http://jeanlucdavid.com/2012/05/displaying-svg-files-on-windows-phone-7-5/#comments</comments>
		<pubDate>Mon, 07 May 2012 19:31:36 +0000</pubDate>
		<dc:creator>jldavid</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://jeanlucdavid.com/?p=928</guid>
		<description><![CDATA[I was attending a Windows 8 workshop last Saturday &#38; an acquaintance I haven&#8217;t seen in three years came up and started chatting with me. He was trying to display an .SVG file in mobile browsers. It worked in all browsers except for Windows Phone 7.5. He was using the &#60;embed&#62; tag to bring in [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jeanlucdavid.com/wp-content/uploads/2012/05/svg_icon02.png"><img class="aligncenter size-full wp-image-934" title="svg_icon02" src="http://jeanlucdavid.com/wp-content/uploads/2012/05/svg_icon02.png" alt="" width="250" height="250" /></a>I was attending a Windows 8 workshop last Saturday &amp; an acquaintance I haven&#8217;t seen in three years came up and started chatting with me. He was trying to display an .SVG file in mobile browsers. It worked in all browsers except for Windows Phone 7.5. He was using the &lt;embed&gt; tag to bring in the external .SVG file to no avail &#8211; it would show up as a blank graphic on the screen.</p>
<p>I decided at that point to help him out. My first try was to attempt to include the external .SVG file using:</p>
<ul>
<li>&lt;img&gt;</li>
<li>&lt;object&gt;</li>
<li>&lt;iframe&gt;</li>
<li>&lt;frameset&gt; (yes, frames)</li>
</ul>
<p>All to no avail. It showed up blank in Internet Explorer no matter what I tried to use to embed the file. The strange thing is that if you accessed the file directly from Internet Explorer, the .SVG file would display no problem on the phone. The SVG file content would also display if you added the SVG code inline in the page (as opposed to an external file) &#8211; curiouser &amp; curiouser.</p>
<p>With a little research, I came across the following MSDN article with guidance on embedding SVG into a web page to be optimally displayed in Internet Explorer: <a href="http://msdn.microsoft.com/en-us/library/gg589526(v=vs.85).aspx#inlineXHTML">http://msdn.microsoft.com/en-us/library/gg589526(v=vs.85).aspx#inlineXHTML</a>. As per the article&#8217;s recommendation, I used the &lt;object&gt; tag, added an .xhtml extension on the file and the .SVG image displayed on the phone as expected.</p>
<p>I may be wrong, but I think the source of the issue is that the browser was unable to bridge the gap between the HTML DOM and the XML DOM in the SVG file. By switching the HTML file to a valid XHTML file, the parser interpreted the document as an XML file within another XML file and successfully displayed the SVG image.</p>
<p>Here are official recommendations on how to choose between Canvas and SVG: <a href="http://msdn.microsoft.com/en-us/library/IE/gg193983(v=vs.85).aspx" target="_blank">http://msdn.microsoft.com/en-us/library/IE/gg193983(v=vs.85).aspx</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://jeanlucdavid.com/2012/05/displaying-svg-files-on-windows-phone-7-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixing the Infinite Reboot Loop on Google IO Galaxy Tab 10.1</title>
		<link>http://jeanlucdavid.com/2012/05/fixing-the-infinite-reboot-loop-on-google-io-galaxy-tab-10-1/</link>
		<comments>http://jeanlucdavid.com/2012/05/fixing-the-infinite-reboot-loop-on-google-io-galaxy-tab-10-1/#comments</comments>
		<pubDate>Mon, 07 May 2012 18:58:06 +0000</pubDate>
		<dc:creator>jldavid</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://jeanlucdavid.com/?p=920</guid>
		<description><![CDATA[Last year, I was fortunate to attend Google IO and receive a Samsung Galaxy Tab 10.1. It&#8217;s a nice device, but a little temperamental - minor mood swings manifesting as unexpected crashes and reboots. I&#8217;ve had to tinker &#38; revive it a few times over the past year &#8211; compared to the iPad, it&#8217;s definitely a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jeanlucdavid.com/wp-content/uploads/2012/05/samgaltab.png"><img class="size-full wp-image-923 aligncenter" title="samgaltab" src="http://jeanlucdavid.com/wp-content/uploads/2012/05/samgaltab.png" alt="" width="250" height="78" /></a>Last year, I was fortunate to attend <a href="https://developers.google.com/events/io/" target="_blank">Google IO</a> and receive a <a href="http://www.samsung.com/global/microsite/galaxytab/10.1/index.html" target="_blank">Samsung Galaxy Tab 10.1</a>. It&#8217;s a nice device, but a little temperamental - minor mood swings manifesting as unexpected crashes and reboots. I&#8217;ve had to tinker &amp; revive it a few times over the past year &#8211; compared to the iPad, it&#8217;s definitely a tablet for geeks. The latest issue I&#8217;ve experienced is the<a href="http://forum.xda-developers.com/showthread.php?p=14600617" target="_blank"> infinite reboot loop which has been extensively documented on the XDA-Developer website</a>. Apparently, a recent 3. 1 update from Samsung causes a file corruption issue, which then leads to the infinite reboot. To fix the issue, I followed these steps:</p>
<ul>
<li>Installed the Android SDK for Windows (<a href="http://dl.google.com/android/installer_r18-windows.exe" target="_blank">installer_r18-windows.exe</a>). I then had to <a href="http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u3-download-1501626.html" target="_blank">install the latest JDK</a>.</li>
<li>Launched the SDK Manager &amp; installed the latest platform-tools</li>
<li>I tried connecting the Galaxy Tab to my Windows 7 PC but it couldn&#8217;t find the right drivers for Fastboot. Came across this <a href="http://theunlockr.com/2009/10/06/how-to-set-up-adb-usb-drivers-for-android-devices/" target="_blank">post about installing ADB/USB drivers for Android devices</a>.  I downloaded <a href="http://www.junefabrics.com/android/download.php" target="_blank">PDANet</a>, selected Samsung and my tablet got recognized. Note the Samsung ADB drivers linked on the page (<a href="http://www.yardimage.co.uk/files/i7500/samsungADB.zip" target="_blank">http://www.yardimage.co.uk/files/i7500/samsungADB.zip</a>) leads to a 404. I found a few download sites for samsungADB.zip on Google.</li>
<li> I then followed the <a href="http://forum.xda-developers.com/showthread.php?p=14600617" target="_blank">unbrick &amp; flash instructions found on this page</a>, and the &#8220;infinite loop&#8221; issue was repaired.</li>
</ul>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://jeanlucdavid.com/2012/05/fixing-the-infinite-reboot-loop-on-google-io-galaxy-tab-10-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Certificate Problems on Samsung Galaxy Tab 10.1</title>
		<link>http://jeanlucdavid.com/2012/04/certificate-problems-on-samsung-galaxy-tab-10-1-cannot-safely-connect-to-server/</link>
		<comments>http://jeanlucdavid.com/2012/04/certificate-problems-on-samsung-galaxy-tab-10-1-cannot-safely-connect-to-server/#comments</comments>
		<pubDate>Tue, 03 Apr 2012 11:46:32 +0000</pubDate>
		<dc:creator>jldavid</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://jeanlucdavid.com/?p=917</guid>
		<description><![CDATA[If you haven&#8217;t used your Galaxy Tab in a few weeks &#38; start getting errors such as &#8220;Cannot safely connect to sever&#8221; when trying to configure email, visiting Google.com gives you SSL certificate errors and the Android Marketplace hasn&#8217;t switched over to Google Play, then chances are that that there is a problem with your root [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jeanlucdavid.com/wp-content/uploads/2012/05/samgaltab.png"><img class="aligncenter size-full wp-image-923" title="samgaltab" src="http://jeanlucdavid.com/wp-content/uploads/2012/05/samgaltab.png" alt="" width="250" height="78" /></a>If you haven&#8217;t used your Galaxy Tab in a few weeks &amp; start getting errors such as &#8220;Cannot safely connect to sever&#8221; when trying to configure email, visiting <a href="http://www.google.com" target="_blank">Google.com</a> gives you SSL certificate errors and the Android Marketplace hasn&#8217;t switched over to <a href="https://play.google.com/store" target="_blank">Google Play</a>, then chances are that that there is a <a href="http://www.slatedroid.com/topic/6826-help-cannot-safely-connect-to-server/" target="_blank">problem with your root certificate</a>. The fix is trivial (but unfortunately not obvious) &#8211; check the date and time on your tablet (if it has reset). Update the clock to the current date and time and everything should start working normally.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeanlucdavid.com/2012/04/certificate-problems-on-samsung-galaxy-tab-10-1-cannot-safely-connect-to-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up GIT &amp; SSH on BitBucket</title>
		<link>http://jeanlucdavid.com/2012/03/setting-up-git-ssh-on-bitbucket/</link>
		<comments>http://jeanlucdavid.com/2012/03/setting-up-git-ssh-on-bitbucket/#comments</comments>
		<pubDate>Sat, 31 Mar 2012 17:26:33 +0000</pubDate>
		<dc:creator>jldavid</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://jeanlucdavid.com/?p=908</guid>
		<description><![CDATA[Tried to set up SSH certificate using BitBucket&#8217;s documentation and found it woefully lacking and they recommend 37 steps to follow in order to complete the task. Even after following the instructions carefully &#8211; it wasn&#8217;t working out for me. My colleague Leo Tse recommended I follow GitHub&#8217;s instructions for setting up SSH (in five steps no [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-907" title="bitbucket" src="http://jeanlucdavid.com/wp-content/uploads/2012/03/bitbucket1.png" alt="" width="230" height="230" /></p>
<p>Tried to set up SSH certificate using <a href="http://confluence.atlassian.com/pages/viewpage.action?pageId=270827678" target="_blank">BitBucket&#8217;s documentation</a> and found it woefully lacking and they recommend 37 steps to follow in order to complete the task. Even after following the instructions carefully &#8211; it wasn&#8217;t working out for me. My <a href="https://twitter.com/#!/Le_o" target="_blank">colleague Leo Tse</a> recommended I follow <a href="http://help.github.com/mac-set-up-git/" target="_blank">GitHub&#8217;s instructions for setting up SSH</a> (in five steps no less) and it worked like a charm. If you are having problems &#8211; check it out.</p>
<div class="codecolorer-container python default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">BONUS: git <span style="color: #ff7700;font-weight:bold;">is</span> now part of the installation package <span style="color: #ff7700;font-weight:bold;">for</span> Xcode <span style="color: #ff4500;">4</span>+</div></div>
]]></content:encoded>
			<wfw:commentRss>http://jeanlucdavid.com/2012/03/setting-up-git-ssh-on-bitbucket/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Deploying Titanium iOS Apps using TestFlight</title>
		<link>http://jeanlucdavid.com/2012/03/deploying-titanium-ios-apps-using-testflight/</link>
		<comments>http://jeanlucdavid.com/2012/03/deploying-titanium-ios-apps-using-testflight/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 20:48:31 +0000</pubDate>
		<dc:creator>jldavid</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://jeanlucdavid.com/?p=828</guid>
		<description><![CDATA[Here are the five steps for deploying your Titanium Studio iOS apps using TestFlight. These steps were done with the latest bits as of March 26th, 2012. There is a lot of misinformation on YouTube &#38; many of the existing tutorials apply to earlier versions of iOS and Xcode (for example, Entitlements are not handled the [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-832" title="testflight" src="http://jeanlucdavid.com/wp-content/uploads/2012/03/testflight.png" alt="" width="128" height="128" /></p>
<p>Here are the five steps for deploying your Titanium Studio iOS apps using TestFlight. These steps were done with the latest bits as of March 26th, 2012. There is a lot of misinformation on YouTube &amp; many of the existing tutorials apply to earlier versions of iOS and Xcode (for example, <a href="http://developer.apple.com/library/ios/#technotes/tn2250/_index.html#//apple_ref/doc/uid/DTS40009933-CH1-TROUBLESHOOTING_GUIDE-CODE_SIGNING_ENTITLEMENTS" target="_blank">Entitlements are not handled the same way in the latest version of iOS</a>). Hopefully, this tutorial will help you get off the ground quickly and avoid the potholes along the way!</p>
<ol>
<li><strong>Set up your Development &amp; Distribution Provisioning Profiles on the iOS Provisioning Portal</strong>:</li>
<ul>
<li>Log into the iOS Provisioning Portal: <a href="https://developer.apple.com/ios/manage/overview/index.action">https://developer.apple.com/ios/manage/overview/index.action</a></li>
<li>Under the <a href="https://developer.apple.com/ios/manage/devices/index.action" target="_blank">devices tab</a>, add the UUIDs for the target devices.</li>
<li>Make sure you generate an <a href="https://developer.apple.com/ios/manage/provisioningprofiles/viewDistributionProfiles.action" target="_blank">iOS Distribution Provisioning Profile</a> using your current Development profile, and download a copy.</li>
<li>Install the Distribution Profile by dragging the .mobileprovision file onto your Xcode icon</li>
<li>If all else fails, <a href="http://jeanlucdavid.com/2012/03/setting-up-appcelerator-titanium-for-iphone-development-in-4-easy-steps/" target="_blank">use my instructions to clean up your certificates before going through these steps</a></li>
</ul>
<li><strong>Set up a new project &amp; add members in TestFlight</strong>:</li>
<ul>
<li>Create an account &amp; log into TestFlight: <a href="https://testflightapp.com" target="_blank">https://testflightapp.com</a></li>
<li>Setting up a new project is easy in TestFlight. Just select +Add Team and choose a name for your project</li>
<li>Add members to the team by entering their email addresses. You should include a message to your testers strongly urging them to open the email and click on the invite link using the devices they will be using to test on.</li>
</ul>
<li><strong>Get your testers to sign in/sign up USING THEIR DEVICES</strong>:</li>
<ul>
<li>I can&#8217;t urge you enough to <strong>encourage your testers to open their invites using their test devices</strong>. TestFlight has a quirk that it doesn&#8217;t necessarily recognize mobile devices after a user has set up their account. For example, if the user accepted the invite using Gmail on a MacBook Air and tries to access the link using an iPhone at a later date, it may not capture the UUID and the fact that it belongs to that tester. If this happens, you&#8217;ll pretty much need another email address for the tester and resend the invite as there is no easy way to input UUIDs per user.</li>
<li>Once you have the UUIDs, you can either copy/paste them or export them. You need to do these steps every time you add a new user/device:</li>
<ul>
<li>Log into the iOS Provisioning Portal: <a href="https://developer.apple.com/ios/manage/overview/index.action">https://developer.apple.com/ios/manage/overview/index.action</a></li>
<li>Add the new devices</li>
<li>Revoke your Developer &amp; Distribution certificates</li>
<li>Create new Developer &amp; Distribution certificates (including the new devices)</li>
<li>Download &amp; install the certificates into your development environment</li>
<li>Build your project using the new Distribution certificate</li>
</ul>
</ul>
<li><strong>Build &amp; upload an .ipa file in TestFlight</strong>:</li>
<ul>
<li>In Titanium Studio, instead of deploying to your device, select &#8220;Distribute &#8211; Apple iTunes Store&#8221;. It will build an .app file which will be destined for Release rather than Debug (important)<img src="http://jeanlucdavid.com/wp-content/uploads/2012/03/distribute.png" alt="" /></li>
<li>When the Distribute window comes up, attach &amp; build using your iOS Distribution Provisioning Profile as opposed to your iOS Developer Provisioning Profile (in my case, I called it <strong>multidev.mobileprovision</strong> &#8211; see Step 1). Otherwise, you&#8217;ll encounter an &#8220;<strong><span style="color: #ff0000;">Invalid Profile: distribution build entitlements must have get-task-allow set to false</span></strong>&#8221; error (see below).<img class="aligncenter size-full wp-image-846" title="invalidprofile" src="http://jeanlucdavid.com/wp-content/uploads/2012/03/invalidprofile.png" alt="" width="546" height="102" /></li>
<li>In essence, you are trying to distribute an app using an iOS Development Provisioning Profile (meant for deployment on personal devices), rather than an iOS Distribution Provisioning Profile (meant for a team of up to 100 testers). The correct way of setting it up is shown below:<img src="http://jeanlucdavid.com/wp-content/uploads/2012/03/distrib1.png" alt="" /></li>
<li>Once the build process is completed, you<span style="color: #000000;">&#8216;ll see &lt;terminated&gt; Application Packager and [INFO] Performing clean build</span> in the Console status</li>
<li>Navigate to your Workspace using Finder. Your <em>.app</em>file can be found in a directory like this one:<img src="http://jeanlucdavid.com/wp-content/uploads/2012/03/path-e1332809392760.png" alt="" /></li>
<li>Create a folder called Payload (with a capital P at the beginning) on your desktop. Drag the .app file you built into the folder.</li>
<li>Control+click the Payload folder and select Compress &#8220;Payload&#8221;</li>
<li>A <strong>Payload.zip</strong> file will appear on your desktop. Rename it to <strong>&lt;your app name&gt;.ipa</strong>. You may want to include a version number to keep track of all the apps you&#8217;ve built &#8211; for example: <em>Payload.zip</em> renamed to <em>AngryBirds.v1.0.0.ipa</em><img src="http://jeanlucdavid.com/wp-content/uploads/2012/03/conversion.png" alt="" /></li>
<li>Upload your new .ipa file to TestFlight (<a href="https://testflightapp.com/dashboard/builds/add/" target="_blank">https://testflightapp.com/dashboard/builds/add/</a>)</li>
</ul>
<li><strong>Deploy your app to your testers</strong>:</li>
<ul>
<li>Once the file uploads, you&#8217;ll have the option to send an email to all testers that (a) have devices registered by TestFlight and (b) are listed in the provisioning certificate. See below:<img src="http://jeanlucdavid.com/wp-content/uploads/2012/03/perm.png" alt="" width="563" height="371" /></li>
<li>Next, all of your selected testers will receive a notification that a new build is available. They will be able to install your new app directly from the phone (as shown below):<img src="http://jeanlucdavid.com/wp-content/uploads/2012/03/install.jpg" alt="" /></li>
</ul>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://jeanlucdavid.com/2012/03/deploying-titanium-ios-apps-using-testflight/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting Up Titanium Studio 1.0.9, Xcode 4.3.2 &amp; iOS 5.1 SDK</title>
		<link>http://jeanlucdavid.com/2012/03/setting-up-titanium-studio-1-0-9-xcode-4-3-2-ios-5-1/</link>
		<comments>http://jeanlucdavid.com/2012/03/setting-up-titanium-studio-1-0-9-xcode-4-3-2-ios-5-1/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 20:39:53 +0000</pubDate>
		<dc:creator>jldavid</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://jeanlucdavid.com/?p=824</guid>
		<description><![CDATA[Here are the updated instructions for setting up the latest iOS development environment for Titanium Studio (it&#8217;s essentially a quick follow up to my two previous blog posts). Update to the latest MacOS - currently Lion. Some new SDKs require the latest operating system as a pre-requisite. Optional &#8211; uninstall previous versions of Xcode. The [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jeanlucdavid.com/wp-content/uploads/2012/03/titanium128.png"><img class="aligncenter size-full wp-image-799" title="titanium128" src="http://jeanlucdavid.com/wp-content/uploads/2012/03/titanium128.png" alt="" width="128" height="128" /></a></p>
<p>Here are the updated instructions for setting up the latest iOS development environment for Titanium Studio (it&#8217;s essentially a quick follow up <a href="http://jeanlucdavid.com/2012/03/troubleshooting-titanium-and-iphone-ios-5-1/" target="_blank">to my two</a> <a href="http://jeanlucdavid.com/2012/03/setting-up-appcelerator-titanium-for-iphone-development-in-4-easy-steps/" target="_blank">previous blog posts</a>).</p>
<ol>
<li><strong>Update to the latest MacOS </strong>- currently Lion. Some new SDKs require the latest operating system as a pre-requisite.</li>
<li><strong>Optional &#8211; uninstall previous versions of Xcode</strong>. The command line instruction to do this is:
<div>
<div>
<div class="codecolorer-container python default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sudo /Developer/Library/uninstall-devtools -mode<span style="color: #66cc66;">=</span><span style="color: #008000;">all</span></div></div>
</div>
</div>
</li>
<li><strong>Optional &#8211; uninstall or update  Titanium Studio</strong>. Instructions are found here: <a href="https://wiki.appcelerator.org/display/tis/Uninstalling+Studio">https://wiki.appcelerator.org/display/tis/Uninstalling+Studio</a></li>
<li><strong>Download &amp; install Xcode 4.3.2 &amp; iOS 5.1 SDK</strong>. Available as a .dmg file here: <a href="https://developer.apple.com/downloads/index.action">https://developer.apple.com/downloads/index.action</a></li>
<li><strong>Download &amp; install Titanium</strong> (latest version 1.0.9). The latest .dmg is available here: <a href="http://titanium-studio.s3.amazonaws.com/latest/Titanium%20Studio.dmg" target="_blank">http://titanium-studio.s3.amazonaws.com/latest/Titanium%20Studio.dmg</a></li>
<li><strong>Download &amp; install the Mobile SDK</strong> (the recommended stable version is the latest from the Master branch &#8211; currently <a href="http://builds.appcelerator.com.s3.amazonaws.com/mobile/master/mobilesdk-2.0.0.v20120326211803-osx.zip" target="_blank">mobilesdk-2.0.0.v20120326211803-osx.zip</a>): <a href="http://builds.appcelerator.com.s3.amazonaws.com/index.html">http://builds.appcelerator.com.s3.amazonaws.com/index.html</a>. To install the SDK,  simply click on the <em>Help &gt; Install Titanium SDK from URL</em> option within the Titanium Studio IDE. Some prefer to use other builds for speed, functionality &amp; stability benefits</li>
<li><strong>*Install Xcode 4.3.1 command line tools -</strong> from “Xcode -&gt; Preferences -&gt; Downloads”. <strong>*</strong>Instructions derived from the following blog post by the Appcelerator team: <a href="http://developer.appcelerator.com/blog/2012/03/titanium-and-xcode-4-3-revisited.html">http://developer.appcelerator.com/blog/2012/03/titanium-and-xcode-4-3-revisited.html</a></li>
<li><strong>*Run this command</strong>:
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sudo xcode<span style="color: #339933;">-</span>select <span style="color: #339933;">-</span><span style="color: #b1b100;">switch</span> <span style="color: #339933;">/</span>Applications<span style="color: #339933;">/</span>Xcode<span style="color: #339933;">.</span>app<span style="color: #339933;">/</span>Contents<span style="color: #339933;">/</span>Developer</div></div>
</li>
<li><strong>*Download and extract the following file</strong> &#8211;  <a href="https://github.com/downloads/pegli/ios-sim/ios-sim-xcode4.3.tar.gz">ios-sim-xcode4.3.tar.gz</a></li>
<li><strong>*Copy the ios-sim executable to any Titanium SDK paths you are using</strong>. For example:
<div class="codecolorer-container python default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #66cc66;">~</span>/Library/Application Support/Titanium/mobilesdk/osx/1.8.1/iphone/</div></div>
</li>
<li><strong>Create a default project &amp; deploy it to the simulator</strong>. This will test whether Titanium Studio &#8220;recognizes&#8221; your Xcode install &amp; whether your certificates are still working.</li>
</ol>
<p>Good luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://jeanlucdavid.com/2012/03/setting-up-titanium-studio-1-0-9-xcode-4-3-2-ios-5-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Troubleshooting Appcelerator Titanium and iPhone iOS 5.1</title>
		<link>http://jeanlucdavid.com/2012/03/troubleshooting-titanium-and-iphone-ios-5-1/</link>
		<comments>http://jeanlucdavid.com/2012/03/troubleshooting-titanium-and-iphone-ios-5-1/#comments</comments>
		<pubDate>Fri, 23 Mar 2012 21:28:04 +0000</pubDate>
		<dc:creator>jldavid</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://jeanlucdavid.com/?p=760</guid>
		<description><![CDATA[Update: Appcelerator&#8217;s official recommendation dated March 16th is to either downgrade to Xcode v.4.2.1 or living on the edge with Xcode 4.3 (via Mitch Amihod) Tried to deploy a default Titanium app targeting the iPhone iOS 4.2 onto a physical device with iOS 5.1 installed. As you could probably guess, the app installed on the device as [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-799" title="titanium128" src="http://jeanlucdavid.com/wp-content/uploads/2012/03/titanium128.png" alt="" width="128" height="128" /></p>
<p><strong>Update</strong>: <a href="http://developer.appcelerator.com/blog/2012/03/titanium-and-xcode-4-3-revisited.html" target="_blank">Appcelerator&#8217;s official recommendation dated March 16th is to either downgrade to Xcode v.4.2.1 or living on the edge with Xcode 4.3</a> (via <a href="https://twitter.com/#!/meeech/status/183381756160901120" target="_blank">Mitch Amihod</a>)</p>
<p>Tried to deploy a default Titanium app targeting the iPhone iOS 4.2 onto a physical device with iOS 5.1 installed. As you could probably guess, the app installed on the device as expected but when launched, it would crash after the splash screen.</p>
<p>The trouble is that I had the iOS 4.2 SDK installed. I tried to install the IOS 5.1 SDK, but unfortunately Titanium Studio would only recognize the iOS 3.0, 4.0, 4.1 and 4.2 SDKs. I tried to re-target Titanium Studio to recognize the iOS 5.1 SDK, but to no avail &#8211; iOS 5.1 would not show up as an option no matter what. After doing some digging around, I found a file called <a href="https://github.com/appcelerator/titanium_mobile/blob/master/support/iphone/builder.py" target="_blank">builder.py</a> in the Titanium Studio application path that had a command called <em>-showsdks</em> (at line 50) which provides the Titanium Studio IDE with the list of targetable platforms. For example:</p>
<div class="codecolorer-container python default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">xcodebuild -showsdks</div></div>
<p>I typed in the command in Terminal and got the following result:</p>
<div class="codecolorer-container python default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Mac OS X SDKs:<br />
Mac OS X <span style="color: #ff4500;">10.5</span>                 -sdk macosx10.5<br />
Mac OS X <span style="color: #ff4500;">10.6</span>                 -sdk macosx10.6<br />
<br />
iOS SDKs:<br />
iOS <span style="color: #ff4500;">4.2</span>                       -sdk iphoneos4.2<br />
<br />
iOS Simulator SDKs<br />
Simulator - iOS <span style="color: #ff4500;">3.2</span>           -sdk iphonesimulator3.2<br />
Simulator - iOS <span style="color: #ff4500;">4.0</span>           -sdk iphonesimulator4.0<br />
Simulator - iOS <span style="color: #ff4500;">4.1</span>           -sdk iphonesimulator4.1<br />
Simulator - iOS <span style="color: #ff4500;">4.2</span>           -sdk iphonesimulator4.2</div></div>
<p>After a few hours of troubleshooting, I discovered the trick was to pretty much uninstall all previous versions of Xcode. The command to do this is:</p>
<div class="codecolorer-container python default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sudo /Developer/Library/uninstall-devtools -mode<span style="color: #66cc66;">=</span><span style="color: #008000;">all</span></div></div>
<p>Then when you open Titanium Studio, the following message appears:</p>
<p style="text-align: left;"><img class="size-full wp-image-781" title="iosconfigdetails" src="http://jeanlucdavid.com/wp-content/uploads/2012/03/iosconfigdetails.png" alt="" width="319" height="122" /></p>
<p>I decided to install the following components:</p>
<ul>
<li><strong>Xcode 4.2 for Lion (build 4D199 with the iOS 5 SDK Gold Master build)</strong> which was the recommended build by the Titanium team &#8211; available at the following link (requires an iOS Developer Program account): <a href="https://developer.apple.com/downloads/index.action#" target="_blank">https://developer.apple.com/downloads/index.action#</a>. After the install, the iOS 5.0 SDK came up as an target option in the Titanium Studio IDE (and via <span style="color: #000000;"><em>xcodebuild -showsdks</em></span>)</li>
<li><strong>Appcelerator 1.7.6 Mobile SDK</strong> &#8211; found on the continuous builds website (<a href="http://builds.appcelerator.com.s3.amazonaws.com" target="_blank">http://builds.appcelerator.com.s3.amazonaws.com</a>). The later 1.7.x builds are recommended for use with the iOS 5+ SDKs. To install the mobile SDK, simply click on the <em>Help &gt; Install Titanium SDK from URL</em> option within the Titanium Studio IDE. The URL I used was: <a href="http://builds.appcelerator.com.s3.amazonaws.com/mobile/1_7_X/mobilesdk-1.7.6.v20120320183239-osx.zip" target="_blank">http://builds.appcelerator.com.s3.amazonaws.com/mobile/1_7_X/mobilesdk-1.7.6.v20120320183239-osx.zip</a></li>
</ul>
<p>To test out the new install (and crossing my fingers), I created a new blank Titanium mobile project targeting the Appcelerator 1.7.6 SDK. When deploying the app to my iPhone, I selected the iOS 5 SDK as a compile target. The app deployed to my phone, and lo and behold, it worked! Hope the instructions are helpful for you too.</p>
<p>If you want clarity on what Xcode version contains what iOS SDK version (which can get quite convoluted when you try to explain it out loud), here is a Wikipedia entry to hopefully help clear things up: <a href="http://en.wikipedia.org/wiki/IOS_SDK" target="_blank">http://en.wikipedia.org/wiki/IOS_SDK</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jeanlucdavid.com/2012/03/troubleshooting-titanium-and-iphone-ios-5-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting Up Appcelerator Titanium for iPhone Development in 4 Easy Steps</title>
		<link>http://jeanlucdavid.com/2012/03/setting-up-appcelerator-titanium-for-iphone-development-in-4-easy-steps/</link>
		<comments>http://jeanlucdavid.com/2012/03/setting-up-appcelerator-titanium-for-iphone-development-in-4-easy-steps/#comments</comments>
		<pubDate>Thu, 22 Mar 2012 16:15:23 +0000</pubDate>
		<dc:creator>jldavid</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://jeanlucdavid.com/?p=752</guid>
		<description><![CDATA[&#160; One of the most common tasks when developing iPhone apps is to set up your environment in order to deploy your apps directly to a device (it&#8217;s always an exciting moment to see your app run on a phone for the first time!). If you don&#8217;t do it every day, it&#8217;s easy to forget [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p><a href="http://jeanlucdavid.com/wp-content/uploads/2012/03/devices.png"><img class="aligncenter size-full wp-image-818" title="devices" src="http://jeanlucdavid.com/wp-content/uploads/2012/03/devices.png" alt="" width="248" height="177" /></a>One of the most common tasks when developing iPhone apps is to set up your environment in order to deploy your apps directly to a device (it&#8217;s always an exciting moment to see your app run on a phone for the first time!). If you don&#8217;t do it every day, it&#8217;s easy to forget the steps, especially as there are certificates involved. As a reminder for future reference (and to hopefully help some people out there), here are the steps I like to follow:</p>
<p>1) <strong>Make sure that your environment is up to date</strong>: The most recent version of Xcode and iOS SDKs require the latest Mac operating systems. Upgrade to Lion (pro-tip: <a href="http://support.apple.com/kb/HT4854" target="_blank">once you buy MacOSX Lion, you can upgrade every device that you own</a>). Get all the security updates for Lion. Update to the latest version of iTunes, Xcode and iOS SDK.</p>
<p><strong>Update</strong>: As <a href="https://twitter.com/#!/meeech/status/183381756160901120" target="_blank">Mitch Amihod pointed out</a>, <a href="http://developer.appcelerator.com/blog/2012/03/titanium-and-xcode-4-3-revisited.html" target="_blank">Appcelerator&#8217;s official recommendation dated March 16th is to either downgrade to Xcode v.4.2.1 or living on the edge with Xcode 4.3</a> (<a href="http://jeanlucdavid.com/2012/03/troubleshooting-titanium-and-iphone-ios-5-1/" target="_blank">which doesn&#8217;t contradict my recommendation to use Xcode 4.2 w/ iOS 5.0 SDK</a>). If I encounter any problems, I&#8217;ll have to test out Xcode 4.2.1.</p>
<p>2) <strong>Clean up your Apple development certificates</strong>. Once you become a member of the Apple iOS Developer Program, you can access the iOS Provisioning portal and create development certificates for both Xcode and Titanium Studio. What commonly happens is that you&#8217;ll create development certificates that you will not use right away, and they will get invalidated over time. If you try to use these old expired certificates, you&#8217;ll get all sorts of error messages trying to deploy apps to your iPhone. Here are the steps to clean up your certificates (<a href="http://stackoverflow.com/questions/999313/iphone-app-signing-a-valid-signing-identity-matching-this-profile-could-not-be" target="_blank">originally posted on StackOverflow</a>):</p>
<ul>
<li>Close all applications, except your web page logged into the <a href="https://developer.apple.com/ios/manage/overview/index.action" target="_blank">iOS Provisioning Portal</a>.</li>
<li>Open Xcode. Click on the <em>Window &gt; Organizer</em> option, and select &#8220;<em>Provisioning Profiles</em>&#8221; on the left. This should bring up your provisioning profiles.</li>
<li>Highlight all your developer profiles, right click and delete them.</li>
<li>Go back to the browser to the <a href="https://developer.apple.com/ios/manage/overview/index.action" target="_blank">iOS Provisioning Portal</a> (don&#8217;t use the &#8220;Launch Assistant&#8221; just yet).</li>
<li>Click on <a href="https://developer.apple.com/ios/manage/certificates/team/index.action" target="_blank">Certificates</a> at the left. You will probably have just one line listed with your name/company. Click on <em>Revoke</em>, then click OK to verify.</li>
<li>Click on <a href="https://developer.apple.com/ios/manage/devices/index.action" target="_blank">Devices</a>. Select all the devices you want to remover, then click OK to verify.</li>
<li>Wait about two minutes to let Apple to refresh their server backend.</li>
<li>Click on <a href="https://developer.apple.com/ios/manage/overview/index.action" target="_blank">Home</a> on the left side navigation.</li>
<li>Click on &#8220;<em>Launch Assistant</em>&#8220;</li>
<li>Create a new application ID &#8211; call it whatever you want, just make it unique &amp; avoid using IDs you&#8217;ve used in the past (important).</li>
<li>Follow the instructions provided by the Assistant wizard till the end. The main thing you accomplished was deleting your old provision profiles and start over fresh &#8211; doing so will make the deployment process less prone to mess up.</li>
</ul>
<p>3. <strong>Add your .mobileprovision certificate to Titanium Studio</strong>. A lot of people get messed up by this step &#8211; when you launch your app to a device in Titanium Studio, this screen will appear:</p>
<p><a href="http://jeanlucdavid.com/wp-content/uploads/2012/03/pleaseaddaprovisioningprofile.png"><img class="aligncenter size-full wp-image-755" title="pleaseaddaprovisioningprofile" src="http://jeanlucdavid.com/wp-content/uploads/2012/03/pleaseaddaprovisioningprofile.png" alt="" width="527" height="524" /></a></p>
<p>Despite what it says, ignore the &#8220;<em>Register your iOS device with Apple</em>&#8221; and &#8220;<em>Obtain Development Provisioning Profile from Apple</em>&#8221; steps &#8211; you&#8217;ve already done both using the <em>Launch Assistant</em> on the <a href="https://developer.apple.com/ios/manage/overview/index.action" target="_blank">iOS Provisioning Portal</a> in step 2! Click on the blue &#8220;<span style="color: #0000ff;"><em>Upload</em></span>&#8221; link next to &#8220;<em>Upload Development Provisioning Profile</em>&#8221; and select the <strong>.mobileprovision</strong> developer certificate you generated &amp; downloaded in step 2 (as instructed by the <em>Launch Assistant</em>). This is quite confusing step &#8211; let&#8217;s hope the Titanium team cleans up this UI in a future release of the IDE!</p>
<p>4. <strong>Configure and set up iTunes</strong>. Titanium Studio uses iTunes sync to transfer your custom apps to your iPhone. In order to get it working correctly, you need to set up the Sync Apps option (which will synchronize all your iPhone apps with your development computer). The kicker is that if your development environment isn&#8217;t one of your computers you authorized with iTunes, you run the risk of losing &amp; having to redownload/organize apps on your iPhone. To avoid this, select <em>File &gt; Transfer Purchases from &#8220;x iPhone&#8221;</em>  to backup your apps .ipa files.</p>
<p>Be sure to read part 2 of this blog post &#8220;<a href="http://jeanlucdavid.com/2012/03/troubleshooting-titanium-and-iphone-ios-5-1/" target="_blank">Troubleshooting Appcelerator Titanium and iPhone iOS 5.1</a>&#8221; to learn what SDK bits to install to properly set your dev environment!</p>
]]></content:encoded>
			<wfw:commentRss>http://jeanlucdavid.com/2012/03/setting-up-appcelerator-titanium-for-iphone-development-in-4-easy-steps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>No Harmony Link Devices Found with Logitech Revue</title>
		<link>http://jeanlucdavid.com/2012/03/no-harmony-link-devices-found-with-harmony-revue/</link>
		<comments>http://jeanlucdavid.com/2012/03/no-harmony-link-devices-found-with-harmony-revue/#comments</comments>
		<pubDate>Wed, 07 Mar 2012 05:58:21 +0000</pubDate>
		<dc:creator>jldavid</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://jeanlucdavid.com/?p=735</guid>
		<description><![CDATA[I just got a new Logitech Revue with Google TV &#8211; one of the cool features is the ability to control the device using your iPhone or iPad. I downloaded the Harmony Link application from the Canadian iTunes store, then encountered the following error: &#8220;No Harmony Link devices found&#8221;. After a little digging around, I [...]]]></description>
			<content:encoded><![CDATA[<p>I just got a new <a href="http://www.logitech.com/en-us/smarttv/revue?nav" target="_blank">Logitech Revue with Google TV</a> &#8211; one of the cool features is the ability to control the device <a href="http://www.logitech.com/smartTV/accessories/devices/7544" target="_blank">using your iPhone or iPad</a>. I downloaded the <a href="http://itunes.apple.com/us/app/logitech-harmony-link/id463534596?mt=8" target="_blank">Harmony Link</a> application from the Canadian iTunes store, then encountered the following error: &#8220;No Harmony Link devices found&#8221;. After a little digging around, I solved the problem &#8211; here is the solution:</p>
<ul>
<li>Make sure you install the <a href="http://itunes.apple.com/us/app/logitech-harmony-for-logitech/id398088581?mt=8" target="_blank">Logitech Harmony® for Logitech Revue™ app</a>, found in the U.S. iTunes app store, not the <a href="http://itunes.apple.com/us/app/logitech-harmony-link/id463534596?mt=8" target="_blank">Logitech Harmony® Link</a> app found in the Canadian/non-U.S. iTunes store. The <a href="http://itunes.apple.com/us/app/logitech-harmony-for-logitech/id398088581?mt=8" target="_blank">Logitech Harmony® for Logitech Revue™ app</a> will not show up in the Canadian store, and <a href="http://itunes.apple.com/us/app/logitech-harmony-link/id463534596?mt=8" target="_blank">Logitech Harmony® Link</a> is incompatible with the Revue. If you have any doubts, the application icon looks like this:</li>
</ul>
<p><a href="http://jeanlucdavid.com/wp-content/uploads/2012/03/revue.png"><img class="aligncenter size-full wp-image-741" title="revue" src="http://jeanlucdavid.com/wp-content/uploads/2012/03/revue.png" alt="" width="198" height="191" /></a></p>
<ul>
<li>Second thing, make sure both your Google TV and iPhone/iPad are connected to the same local wifi network. Note that if your Google TV is connected to the network using both an ethernet and wifi connection, the ethernet connection will take precedence and your Apple device won&#8217;t be able to find your Google TV. The same issue will occur if your router is too locked down, preventing devices on the network to &#8220;talk&#8221; to each other. The process of connecting to your Logitech Revue should only take a second.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://jeanlucdavid.com/2012/03/no-harmony-link-devices-found-with-harmony-revue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unable to Verify Server Information Error Connecting Your iPhone to mail.microsoftonline.com</title>
		<link>http://jeanlucdavid.com/2012/02/unable-to-verify-server-information-error-connecting-your-iphone-to-mail-microsoftonline-com/</link>
		<comments>http://jeanlucdavid.com/2012/02/unable-to-verify-server-information-error-connecting-your-iphone-to-mail-microsoftonline-com/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 07:07:27 +0000</pubDate>
		<dc:creator>jldavid</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://jeanlucdavid.com/?p=723</guid>
		<description><![CDATA[I was hitting my head against the wall trying to connect my iPhone to Hosted Exchange &#8211; found the answer in this forum post. Here are the correct steps for making a successful connection: Click on Settings Select &#8220;Mail, Contacts, Calendar&#8221; Click on &#8220;Add Account&#8230;&#8221; Select Microsoft Exchange Enter your username, password and email, leave [...]]]></description>
			<content:encoded><![CDATA[<p>I was hitting my head against the wall trying to connect my iPhone to Hosted Exchange &#8211; found the answer in this <a href="http://social.technet.microsoft.com/Forums/en-US/onlineservicesexchange/thread/b47a1d87-ee6e-44bf-ab11-f856948569e4/" target="_blank">forum post</a>. Here are the correct steps for making a successful connection:</p>
<ul>
<li>Click on Settings</li>
<li>Select &#8220;Mail, Contacts, Calendar&#8221;</li>
<li>Click on &#8220;Add Account&#8230;&#8221;</li>
<li>Select Microsoft Exchange</li>
<li>Enter your username, password and email, leave the domain blank (unless you specifically need to use it)</li>
<li>Click on Next at the top right</li>
<li>A server field will appear &#8211; if you are in North America, your first instinct will be to <a href="http://technet.microsoft.com/en-us/library/cc745934.aspx" target="_blank">add the following URL as indicated in the documentation</a> &#8220;https://red001.mail.microsoftonline.com&#8221; (<a href="http://technet.microsoft.com/en-us/library/cc745934.aspx" target="_blank">if you are not in North America, you can find your server here</a>). If you do, you&#8217;ll repeatedly get the &#8220;Unable to Verify Server Information&#8221; error.</li>
<li>The correct server URL to use with the iPhone is &#8220;Red001.mail.microsoftonline.com&#8221;. It&#8217;s critical that you omit the &#8220;https://&#8221; and Red001 starts with a capital R (<a href="http://social.technet.microsoft.com/Forums/en-US/onlineservicesexchange/thread/b47a1d87-ee6e-44bf-ab11-f856948569e4/" target="_blank">as documented here</a>).</li>
</ul>
<p>Good luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://jeanlucdavid.com/2012/02/unable-to-verify-server-information-error-connecting-your-iphone-to-mail-microsoftonline-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

