<?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>KDBDallas &#187; iPhone</title>
	<atom:link href="http://kdbdallas.com/tag/iphone/feed/" rel="self" type="application/rss+xml" />
	<link>http://kdbdallas.com</link>
	<description>Mac and iPhone Developer, Lacrosse Fan and Coach, Husband, Father, all in one</description>
	<lastBuildDate>Fri, 13 Jan 2012 21:35:25 +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>Newsprint is now available in the App Store</title>
		<link>http://kdbdallas.com/2010/02/26/newsprint-is-now-available-in-the-app-store/</link>
		<comments>http://kdbdallas.com/2010/02/26/newsprint-is-now-available-in-the-app-store/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 17:56:15 +0000</pubDate>
		<dc:creator>Dallas</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[HashBang Ind]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Newsprint]]></category>
		<category><![CDATA[Programs]]></category>

		<guid isPermaLink="false">http://kdbdallas.com/?p=299</guid>
		<description><![CDATA[My latest application, Newsprint, is now available in the iPhone App Store! Newsprint is a professional grade feed (RSS/Atom) reader for the iPhone and iPod touch, with support for Google Reader. You can find more info on Newsprint at: http://www.NewsprintApp.com You can find Newsprint in the App Store by using this link: http://www.NewsprintApp.com/download]]></description>
			<content:encoded><![CDATA[<p>My latest application, Newsprint, is now available in the iPhone App Store!</p>
<p>Newsprint is a professional grade feed (RSS/Atom) reader for the iPhone and iPod touch, with support for Google Reader.</p>
<p>You can find more info on Newsprint at: <a href="http://www.NewsprintApp.com">http://www.NewsprintApp.com</a><br />
You can find Newsprint in the App Store by using this link: <a href="http://www.NewsprintApp.com/download">http://www.NewsprintApp.com/download</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kdbdallas.com/2010/02/26/newsprint-is-now-available-in-the-app-store/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone 3.0 and KillExchangeLocks</title>
		<link>http://kdbdallas.com/2009/06/21/iphone-30-and-killexchangelocks/</link>
		<comments>http://kdbdallas.com/2009/06/21/iphone-30-and-killexchangelocks/#comments</comments>
		<pubDate>Sun, 21 Jun 2009 09:21:41 +0000</pubDate>
		<dc:creator>Dallas</dc:creator>
				<category><![CDATA[App Store]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[HashBang Ind]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Jailbrake]]></category>
		<category><![CDATA[Programs]]></category>
		<category><![CDATA[AppStore]]></category>
		<category><![CDATA[Firmware 3.0]]></category>
		<category><![CDATA[HashBang Industries]]></category>
		<category><![CDATA[KillExchangeLocks]]></category>

		<guid isPermaLink="false">http://kdbdallas.com/?p=224</guid>
		<description><![CDATA[I will be honest and upfront and say I don&#8217;t know if KillExchangeLocks will be revamped for 3.0. I have pretty much totally moved away from the entire Jailbrake scene. In fact out of all 6 devices I own only 1 is Jailbroken and I only keep that one on hand because I have 2 [...]]]></description>
			<content:encoded><![CDATA[<p>I will be honest and upfront and say I don&#8217;t know if KillExchangeLocks will be revamped for 3.0.</p>
<p>I have pretty much totally moved away from the entire Jailbrake scene.<br />
In fact out of all 6 devices I own only 1 is Jailbroken and I only keep that one on hand because I have 2 paid apps that I released back during firmware 1.x and before the AppStore.</p>
<p>I am very sorry if this news comes as a disappointment.</p>
<p>Since 2.0 and the AppStore came out Jailbraking has lost its appeal to me as I use AT&#038;T so that&#8217;s not a concern for me and since the only reason I ever got into the Jailbrake scene in the first place was to be able to write my own apps and run other peoples apps on a great device that had so much more potential.</p>
<p>Now with the AppStore it seems like Jailbraking is done for one or more of the following: Carrier Unlock, Apps that Apple won&#8217;t approve, and Warez.<br />
I don&#8217;t care about carrier unlocks, and I don&#8217;t approve of Warez (even if you say you use them as demo&#8217;s and buy the ones you like, because 99.9% are not doing that), and that just leaves apps that Apple won&#8217;t approve. This would be the only thing to keep me around but Apple lets most things in (it might take a couple rejections first though) that I am interested in.</p>
<p>Also, Apple has been getting really good at closing all the holes that made this app possible (as technically they are security holes).<br />
So much so that the last version &#8220;oddly&#8221; wouldn&#8217;t work for everyone, including me.<br />
I spent a ton of time searching for new ways back then and never found anything that I was happy with, and then I finally gave up and just stopped syncing my work email.</p>
<p>(It was a plus for my day job to have me accessible by email all the time and I decided it wasn&#8217;t worth the time and work I was putting into not having my personal device locked down)</p>
<p>Of course I understand that this isn&#8217;t the same for everyone.<br />
All I can really say is I feel your pain (as if that helps anything), and that in a comment on the post way back about version 3.0 of KillExchangeLocks, <em>Eirik</em> mentioned that a new app has just shown up in Cydia called: &#8220;Exchange Unlock&#8221;.</p>
<p>With that in mind, let me get the &#8220;legalize&#8221; (if you will) out of the way.<br />
&#8220;Exchange Unlock&#8221; is not my work, nor do I have anything to do with it in any way.<br />
I have NO idea if it works, and I can not be held responsible if it blows up your device, literally or figuratively.</p>
<p>I do wish you the best of luck, and encourage you to check out my other work at: <a href="http://www.HashBangInd.com">HashBang Industries</a> (http://www.HashBangInd.com)</p>
]]></content:encoded>
			<wfw:commentRss>http://kdbdallas.com/2009/06/21/iphone-30-and-killexchangelocks/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Coming Soon to a Bookstore Near You</title>
		<link>http://kdbdallas.com/2009/05/05/coming-soon-to-a-bookstore-near-you/</link>
		<comments>http://kdbdallas.com/2009/05/05/coming-soon-to-a-bookstore-near-you/#comments</comments>
		<pubDate>Tue, 05 May 2009 21:56:12 +0000</pubDate>
		<dc:creator>Dallas</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Cocoa Touch]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[SDK]]></category>

		<guid isPermaLink="false">http://kdbdallas.com/?p=213</guid>
		<description><![CDATA[I have been offered a gig of being the Technical Editor for an upcoming iPhone programming book. The book is called &#8220;Cocoa Touch for iPhone 3.0&#8243; and is being written by my friend Jiva DeVoe and published by Wiley and Sons Publishing. You can visit the current pre-emptive webpage for the book at: http://www.wiley.com/WileyCDA/WileyTitle/productCd-0470481072.html I [...]]]></description>
			<content:encoded><![CDATA[<p>I have been offered a gig of being the Technical Editor for an upcoming iPhone programming book.</p>
<p>The book is called &#8220;Cocoa Touch for iPhone 3.0&#8243; and is being written by my friend <a href="http://www.random-ideas.net/">Jiva DeVoe</a> and published by <a href="http://www.wiley.com/WileyCDA/">Wiley and Sons Publishing</a>.</p>
<p>You can visit the current pre-emptive webpage for the book at: <a href="http://www.wiley.com/WileyCDA/WileyTitle/productCd-0470481072.html">http://www.wiley.com/WileyCDA/WileyTitle/productCd-0470481072.html</a></p>
<p>I was previously a Technical Reviewer for the programming book: <a href="http://my.safaribooksonline.com/9780596156282/preface#acknowledgments">iPhone SDK Application Development, 1st Edition</a></p>
<p>It will be interesting the see the differences between being a technical reviewer and a technical editor.</p>
]]></content:encoded>
			<wfw:commentRss>http://kdbdallas.com/2009/05/05/coming-soon-to-a-bookstore-near-you/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Log all accessed methods in Objective-C with DTrace</title>
		<link>http://kdbdallas.com/2009/02/07/log-all-accessed-methods-in-objective-c-with-dtrace/</link>
		<comments>http://kdbdallas.com/2009/02/07/log-all-accessed-methods-in-objective-c-with-dtrace/#comments</comments>
		<pubDate>Sat, 07 Feb 2009 07:10:46 +0000</pubDate>
		<dc:creator>Dallas</dc:creator>
				<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Cocoa Touch]]></category>
		<category><![CDATA[DTrace]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://kdbdallas.com/?p=173</guid>
		<description><![CDATA[I have recently been debugging some Objective-C and Cocoa/Cocoa Touch code. Not being familiar with all the code and with a TON of methods being accessed in milliseconds, my attempts at stepping through the code just wasn&#8217;t working, as clicking &#8216;Step Into&#8217; as fast as I could keep up and over an hour of stepping [...]]]></description>
			<content:encoded><![CDATA[<p>I have recently been debugging some Objective-C and Cocoa/Cocoa Touch code.</p>
<p>Not being familiar with all the code and with a TON of methods being accessed in milliseconds, my attempts at stepping through the code just wasn&#8217;t working, as clicking &#8216;Step Into&#8217; as fast as I could keep up and over an hour of stepping through I was still not even close to figuring out what I needed to know.</p>
<p>This lead me to the thought of logging every method that was accessed and then I could step look through it and skip around as needed.<br />
However with 60 some odd files and say maybe 20 methods in each file, that would take a lot of NSLog&#8217;s.<br />
I started looking around and was pointed to bbums blog about <a href="http://www.friday.com/bbum/2008/01/01/objective-c-a-hack-to-log-all-methods/">doing something similar</a>.<br />
However it still would take adding some code, plus I couldn&#8217;t get it working right with the iPhone.</p>
<p>This lead me to wonder about <a href="http://en.wikipedia.org/wiki/Dtrace">DTrace</a>.<br />
After a recent podcast from <a href="http://twitter.com/macdevnet">Scotty</a> at the <a href="http://www.mac-developer-network.com/">Mac Developer Network</a>, featuring <a href="http://cocoasamurai.blogspot.com/">Colin Wheeler</a> talking about DTrace, I have been very interested in learning more about DTrace.</p>
<p>The difficult thing I have been finding is that since DTrace was originally written for Sun, it is hard to find info related to MacOS and more so Cocoa.</p>
<p>I then found a video from Colin about using DTrace with Cocoa and XCode.<br />
<a href="http://www.viddler.com/explore/Machx/videos/8">http://www.viddler.com/explore/Machx/videos/8</a></p>
<p>I wasn&#8217;t able to get what I wanted working, so I hit <a href="http://twitter.com/CocoaSamurai">Colin up on Twitter</a> and then talked to him a bit in email and he pointed me to the <strong>Golden Solution</strong>!</p>
<p>The solution is:<br />
<code>objc$target:::entry{}</code></p>
<p>So I took that and created a DTrace script.<br />
You can grab it here:<br />
<a href='http://kdbdallas.com/wp-content/uploads/2009/02/logallmethodsd.zip'>http://kdbdallas.com/wp-content/uploads/2009/02/logallmethodsd.zip</a></p>
<p>To run it open Terminal and run:<br />
sudo ./logAllMethods.d -p PID</p>
<p>Of course replacing &#8216;PID&#8217; with the PID of your running program and remembering that for DTrace &#8216;sudo&#8217; is required.</p>
<p>Also note that this works for iPhone programs running in the iPhone Simulator.<br />
Just look for the PID of your iPhone app within Activity Monitor once it&#8217;s running in the simulator.</p>
<p>Be careful as depending on the program it can spit out a TON of data VERY quickly.</p>
<p>Running this against Adium for only a fraction of a second gave me a couple hundred lines of output.</p>
<p>The output looks like this:</p>
<p>tesseract:Desktop dallas$ sudo ./logAllMethods.d -p 4371<br />
dtrace: script &#8216;./logAllMethods.d&#8217; matched 71222 probes<br />
CPU     ID                    FUNCTION:NAME<br />
  0  59398                    -retain:entry<br />
  0  34684                    +retain:entry<br />
  0  32061            +idleAllMovies::entry<br />
  0  32062                      -idle:entry<br />
  0  34707                    -retain:entry<br />
  0  32914       -_usingVisualContext:entry<br />
  0  32878        -_resyncNaturalSize:entry<br />
  0  31935                 -loadState:entry<br />
  0  31972               -naturalSize:entry</p>
<p>Hopefully this helps someone out there.<br />
Just remember always use the info I post for good.<br />
(or if its for evil make sure it profitable and then send me a cut)</p>
<p>Once again, special thanks to Colin Wheeler.</p>
]]></content:encoded>
			<wfw:commentRss>http://kdbdallas.com/2009/02/07/log-all-accessed-methods-in-objective-c-with-dtrace/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mac/iPhone: Show Available Usable Disk Space</title>
		<link>http://kdbdallas.com/2008/12/27/maciphone-show-availble-useable-diskspace/</link>
		<comments>http://kdbdallas.com/2008/12/27/maciphone-show-availble-useable-diskspace/#comments</comments>
		<pubDate>Sun, 28 Dec 2008 00:18:53 +0000</pubDate>
		<dc:creator>Dallas</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Cocoa]]></category>

		<guid isPermaLink="false">http://kdbdallas.com/?p=102</guid>
		<description><![CDATA[If you have an application that allows users to upload content to the app, you might want to show the user how much space is available for them to use. This is especially true on the iPhone where it is not as easy for the user to quickly check if they have enough room to [...]]]></description>
			<content:encoded><![CDATA[<p>If you have an application that allows users to upload content to the app, you might want to show the user how much space is available for them to use.</p>
<p>This is especially true on the iPhone where it is not as easy for the user to quickly check if they have enough room to upload a given file.</p>
<p>You may also want to check if there is enough space before you start the upload, so you can inform them that the file wont fit.</p>
<p>That brings you to the task of figuring out how much free space there is, and more importantly how much free space is left that you as an unprivileged program can access.</p>
<p>The following code is based towards the iPhone, however all that would be needed to change it to be used on the Mac is the location you are checking for free space, and the setting of the label.</p>
<p><strong>NOTE:</strong> <em>The below &#8220;shown&#8221; code is old. The updated code is in the zip file at the bottom</em></p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #6e371a;">#include &lt;sys/param.h&gt;</span>
<span style="color: #6e371a;">#include &lt;sys/mount.h&gt;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #400080;">NSString</span> <span style="color: #002200;">*</span>sizeType;
&nbsp;
<span style="color: #a61390;">float</span> availableDisk;
&nbsp;
<span style="color: #400080;">NSArray</span> <span style="color: #002200;">*</span>paths <span style="color: #002200;">=</span> NSSearchPathForDirectoriesInDomains<span style="color: #002200;">&#40;</span>NSDocumentDirectory, NSUserDomainMask, <span style="color: #a61390;">YES</span><span style="color: #002200;">&#41;</span>;
&nbsp;
<span style="color: #a61390;">struct</span> statfs tStats;
&nbsp;
statfs<span style="color: #002200;">&#40;</span><span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>paths lastObject<span style="color: #002200;">&#93;</span> cString<span style="color: #002200;">&#93;</span>, <span style="color: #002200;">&amp;</span>tStats<span style="color: #002200;">&#41;</span>;
&nbsp;
availableDisk <span style="color: #002200;">=</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">float</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#40;</span>tStats.f_bavail <span style="color: #002200;">*</span> tStats.f_bsize<span style="color: #002200;">&#41;</span>;
&nbsp;
<span style="color: #a61390;">if</span> <span style="color: #002200;">&#40;</span>availableDisk &gt; <span style="color: #2400d9;">1024</span><span style="color: #002200;">&#41;</span>
<span style="color: #002200;">&#123;</span>
	<span style="color: #11740a; font-style: italic;">//Kilobytes</span>
	availableDisk <span style="color: #002200;">=</span> availableDisk <span style="color: #002200;">/</span> <span style="color: #2400d9;">1024</span>;
&nbsp;
	sizeType <span style="color: #002200;">=</span> <span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot; KB&quot;</span>;
<span style="color: #002200;">&#125;</span>
&nbsp;
<span style="color: #a61390;">if</span> <span style="color: #002200;">&#40;</span>availableDisk &gt; <span style="color: #2400d9;">1024</span><span style="color: #002200;">&#41;</span>
<span style="color: #002200;">&#123;</span>
	<span style="color: #11740a; font-style: italic;">//Megabytes</span>
	availableDisk <span style="color: #002200;">=</span> availableDisk <span style="color: #002200;">/</span> <span style="color: #2400d9;">1024</span>;
&nbsp;
	sizeType <span style="color: #002200;">=</span> <span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot; MB&quot;</span>;
<span style="color: #002200;">&#125;</span>
&nbsp;
<span style="color: #a61390;">if</span> <span style="color: #002200;">&#40;</span>availableDisk &gt; <span style="color: #2400d9;">1024</span><span style="color: #002200;">&#41;</span>
<span style="color: #002200;">&#123;</span>
	<span style="color: #11740a; font-style: italic;">//Gigabytes</span>
	availableDisk <span style="color: #002200;">=</span> availableDisk <span style="color: #002200;">/</span> <span style="color: #2400d9;">1024</span>;
&nbsp;
	sizeType <span style="color: #002200;">=</span> <span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot; GB&quot;</span>;
<span style="color: #002200;">&#125;</span>
&nbsp;
diskSpaceLbl.text <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Available Disk Space: &quot;</span> stringByAppendingFormat<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;%.2f&quot;</span>, availableDisk<span style="color: #002200;">&#93;</span> stringByAppendingString<span style="color: #002200;">:</span>sizeType<span style="color: #002200;">&#93;</span>;</pre></div></div>

<p>This will give you something like the following:</p>
<p><img class="alignnone size-full wp-image-104" title="availablediskspace" src="http://kdbdallas.com/wp-content/uploads/2008/12/availablediskspace.png" alt="availablediskspace" width="257" height="29" /></p>
<p><strong><em>UPDATE:</em></strong><br />
I have gone a step further and made this into an easy to use class, that works out of the box with the iPhone and the Mac.</p>
<p><a href='http://www.kdbdallas.com/Code/FSStats.zip'><img src="http://kdbdallas.com/wp-includes/images/crystal/archive.png"/></a> <a href='http://www.kdbdallas.com/Code/FSStats.zip'>FSStats.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kdbdallas.com/2008/12/27/maciphone-show-availble-useable-diskspace/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Using Your iPhone Sim On The Android Dev Phone</title>
		<link>http://kdbdallas.com/2008/12/14/using-your-iphone-sim-on-the-android-dev-phone/</link>
		<comments>http://kdbdallas.com/2008/12/14/using-your-iphone-sim-on-the-android-dev-phone/#comments</comments>
		<pubDate>Sun, 14 Dec 2008 20:28:45 +0000</pubDate>
		<dc:creator>Dallas</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[AT&T]]></category>

		<guid isPermaLink="false">http://kdbdallas.com/?p=91</guid>
		<description><![CDATA[If you have AT&#38;T (with say an iPhone) and get the Android Dev Phone, you can use your iPhone&#8217;s Sim with the G1 as it is both hardware and software unlocked. When you insert your Sim and then start up the Dev Phone for the first time you will come to the first page of [...]]]></description>
			<content:encoded><![CDATA[<p>If you have AT&amp;T (with say an iPhone) and get the Android Dev Phone, you can use your iPhone&#8217;s Sim with the G1 as it is both hardware and software unlocked.</p>
<p>When you insert your Sim and then start up the Dev Phone for the first time you will come to the first page of the setup.</p>
<p>Click on the Menu button and click Add APN.</p>
<p>Now enter in the following information:</p>
<p>Name: att<br />
APN: wap.cingular<br />
Password: CINGULAR1</p>
<p>Leave all the other fields blank.</p>
<p>Now click on Menu again and choose Save.</p>
<p>That should be it! You can now use your Android with your AT&amp;T account.</p>
]]></content:encoded>
			<wfw:commentRss>http://kdbdallas.com/2008/12/14/using-your-iphone-sim-on-the-android-dev-phone/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Pi Presentation: SQLite</title>
		<link>http://kdbdallas.com/2008/12/04/pi-presentation-sqlite/</link>
		<comments>http://kdbdallas.com/2008/12/04/pi-presentation-sqlite/#comments</comments>
		<pubDate>Thu, 04 Dec 2008 19:20:18 +0000</pubDate>
		<dc:creator>Dallas</dc:creator>
				<category><![CDATA[Cocoa Touch]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[Pi]]></category>
		<category><![CDATA[SQLite]]></category>

		<guid isPermaLink="false">http://kdbdallas.com/?p=62</guid>
		<description><![CDATA[Last night I gave a presentation at the Phoenix iPhone Developers Group (Pi) on SQLite. I am posting the presentation and sample code here for anyone who is interested. Please note that this is by no means the &#8220;proper&#8221; or only way of doing things. This is simply one way of doing it, and is [...]]]></description>
			<content:encoded><![CDATA[<p>Last night I gave a presentation at the Phoenix iPhone Developers Group (Pi) on SQLite.</p>
<p>I am posting the presentation and sample code here for anyone who is interested.</p>
<p><em>Please note that this is by no means the &#8220;proper&#8221; or only way of doing things. This is simply one way of doing it, and is for reference purposes only. The code uses the FMDB SQLite Wrapper.</em></p>
<p><a href="http://kdbdallas.com/wp-content/uploads/2008/12/example.zip"><img class="alignnone" title="archive" src="http://kdbdallas.com/wp-includes/images/crystal/archive.png" alt="" width="46" height="60" /></a> Example Code: (<a href="http://kdbdallas.com/wp-content/uploads/2008/12/example.zip">example.zip</a>)</p>
<p><a href="http://kdbdallas.com/wp-content/uploads/2008/12/sqlite-presentation.zip"><img class="alignnone" title="archive" src="http://kdbdallas.com/wp-includes/images/crystal/archive.png" alt="" width="46" height="60" /></a> Keynote Presentation (<a href="http://kdbdallas.com/wp-content/uploads/2008/12/sqlite-presentation.zip">sqlite-presentation.zip</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://kdbdallas.com/2008/12/04/pi-presentation-sqlite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Developers and the App Store</title>
		<link>http://kdbdallas.com/2008/12/02/developers-and-the-app-store/</link>
		<comments>http://kdbdallas.com/2008/12/02/developers-and-the-app-store/#comments</comments>
		<pubDate>Wed, 03 Dec 2008 00:20:03 +0000</pubDate>
		<dc:creator>Dallas</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Jailbrake]]></category>
		<category><![CDATA[Programs]]></category>
		<category><![CDATA[App Store]]></category>

		<guid isPermaLink="false">http://kdbdallas.com/?p=60</guid>
		<description><![CDATA[Most of the following was in response to the blog article by Layton Duncan of Polar Bear Farm. iPhone developers were happy to see the AppStore come to life as it gave us a official way to release our app to the world. Little did we know that people would freak out about having to [...]]]></description>
			<content:encoded><![CDATA[<p><em>Most of the following was in response to the <a href="http://www.polarbearfarm.com/blog/?p=5">blog article</a> by Layton Duncan of <a href="http://www.polarbearfarm.com/">Polar Bear Farm</a>.</em></p>
<p>iPhone developers were happy to see the AppStore come to life as it gave us a official way to release our app to the world. Little did we know that people would freak out about having to pay even $1 for apps, when before the App Store we were selling to the Jailbrake community for $10 or so, without complaint.</p>
<p>The $1 app issue is unfortunately not one that I think Apple can fix, as it’s not them causing it. It’s the consumers. Consumers seem to have it in their head that it is ok to pay $5, $10, $20 and up, for desktop applications, but that an iPhone app for some reason shouldn’t cost more then $1. Maybe they are stuck in the mind frame of old school cellphone apps/games that were absolute crap and not worth more then $1 (if even that), or if they just don’t understand what it really takes to make a beautiful, stable iPhone application.</p>
<p>Personally I think it is a combination of those 2 and that when the app store opened people were not sure what to charge, and some of the bigger name companies came to the AppStore with free and low price apps, and this set the consumers in a mind frame that free or almost free is what is expected. Who knows, maybe they are just cheap. The only way around this that I can see is for all or at least a large amount of developers to “ban together” and start charging a fair (to both sides) price.</p>
<p>No doubt it will hurt sells at first but perhaps we can get passed the misguided mentality.</p>
]]></content:encoded>
			<wfw:commentRss>http://kdbdallas.com/2008/12/02/developers-and-the-app-store/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>KillExchangeLocks version 3.0 Released</title>
		<link>http://kdbdallas.com/2008/11/29/killexchangelocks-version-30-released/</link>
		<comments>http://kdbdallas.com/2008/11/29/killexchangelocks-version-30-released/#comments</comments>
		<pubDate>Sat, 29 Nov 2008 22:36:31 +0000</pubDate>
		<dc:creator>Dallas</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Fanboy]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Jailbrake]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Programs]]></category>
		<category><![CDATA[Toolchain]]></category>
		<category><![CDATA[Autolock]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Passcode]]></category>

		<guid isPermaLink="false">http://kdbdallas.com/?p=58</guid>
		<description><![CDATA[With the latest iPhone firmware update (2.2), Apple fixed several &#8220;security holes&#8221;, one of which broke KillExchangeLocks version 2.0. The fix that broke things was CVE-ID: CVE-2008-4229 Impact: Restoring a device from backup may not re-enable the Passcode Lock Description: The Passcode Lock feature is designed to prevent applications from being launched unless the correct [...]]]></description>
			<content:encoded><![CDATA[<p>With the latest iPhone firmware update (2.2), Apple fixed several &#8220;security holes&#8221;, one of which broke KillExchangeLocks version 2.0.</p>
<p>The fix that broke things was CVE-ID:  <strong>CVE-2008-4229</strong></p>
<p><strong>Impact:</strong> Restoring a device from backup may not re-enable the Passcode Lock</p>
<p><strong>Description:</strong> The Passcode Lock feature is designed to prevent applications from being launched unless the correct passcode is entered. A race condition in the handling of device settings may cause the Passcode Lock to be removed when the device is restored from backup. This may allow a person with physical access to the device to launch applications without the passcode. This update addresses the issue by improving the system&#8217;s ability to recognize missing preferences. This issue does not affect systems prior to iPhone OS 2.0 or iPhone OS for iPod touch 2.0. Credit to Nolen Scaife for reporting this issue.</p>
<p><a href="http://lists.apple.com/archives/security-announce/2008/Nov/msg00002.html">http://lists.apple.com/archives/security-announce/2008/Nov/msg00002.html</a></p>
<p>The key parts here is the resoultion, &#8220;This update addresses the issue by improving the system&#8217;s ability to recognize missing preferences&#8221;, and the person to blame is Nolen Scaife for reporting this issue. <img src='http://kdbdallas.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>KillExchangeLocks version 3 does not implement the ideal solution as Apple has done a pretty good job on their fix. Instead of removing the passcode automatically like before, instead you now force the settings app to alow you to remove the passcode, as if you had setup a passcode without using Exchange.</p>
<p>This still times out every 24 hours like before, as Apple is actively querying the Exchange server every 24 hours to update and/or validate the security settings.</p>
<p>The up side is you should only have to run this part once, and you will always be able to remove the passcode.</p>
<p>Version 3 gives you the option if you want to modify your Auto Lock timeout.</p>
<p>The problem here is that the iPhone will over write any change if you go into the Settings app and click on the General tab (which shows your timeout setting).</p>
<p>Therefore this could need to be reset often, if you go into Settings -&gt; General a lot.</p>
<p>I added some extra Time out levels for your convience.</p>
<p>You can now choose between: Never, 1 min, 2 min, 3 min, 4 min, 5 min, 10 min, 15 min, 20 min, 25 min, 30 min, 35 min, 40 min, 45 min, 50 min, 55 min, and 1 hour time out levels.</p>
<p>As I said before, this is by no means the ideal fix, but it is the only way I have found so far, and I figure this is better then having nothing.</p>
<p>If you really want a better fix in place, I would ask you to think about donating to this project as that would make it easier for me to work on this project then other paying projects. It is in no way required, but welcomed. If you wish to donate you can do so using PayPal.</p>
<p>KillExchangeLocks is available in Cydia under Utilities.</p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input name="cmd" type="hidden" value="_s-xclick" />
<input name="hosted_button_id" type="hidden" value="1526975" />
<input name="submit" src="https://www.paypal.com/en_US/i/btn/btn_donate_SM.gif" type="image" /> <img src="https://www.paypal.com/en_US/i/scr/pixel.gif" border="0" alt="" width="1" height="1" /></form>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post"> </form>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post"> </form>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post"><img class="alignnone" src="http://codegenocide.com/images/KillExchangeLocks_3.0.png" alt="KillExchangeLocks 3" /></p>
</form>
]]></content:encoded>
			<wfw:commentRss>http://kdbdallas.com/2008/11/29/killexchangelocks-version-30-released/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>RemindYou 2.0 now in Beta (Jailbrake 2.0)</title>
		<link>http://kdbdallas.com/2008/08/31/remindyou-20-now-in-beta-jailbrake-20/</link>
		<comments>http://kdbdallas.com/2008/08/31/remindyou-20-now-in-beta-jailbrake-20/#comments</comments>
		<pubDate>Mon, 01 Sep 2008 04:17:54 +0000</pubDate>
		<dc:creator>Dallas</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Jailbrake]]></category>
		<category><![CDATA[Programs]]></category>
		<category><![CDATA[RemindYou]]></category>
		<category><![CDATA[Toolchain]]></category>
		<category><![CDATA[2.0]]></category>

		<guid isPermaLink="false">http://kdbdallas.com/?p=45</guid>
		<description><![CDATA[I finished up RemindYou 2.0 for iPhone 2.0 Jailbrake this morning (like 2am)! It will be going out to testers in the next couple of days and should be out for the world very soon. If you just can&#8217;t wait and wan&#8217;t to help beta test, email me and we will see what we can [...]]]></description>
			<content:encoded><![CDATA[<p>I finished up RemindYou 2.0 for iPhone 2.0 Jailbrake this morning (like 2am)!</p>
<p>It will be going out to testers in the next couple of days and should be out for the world very soon.</p>
<p>If you just can&#8217;t wait and wan&#8217;t to help beta test, email me and we will see what we can do.</p>
]]></content:encoded>
			<wfw:commentRss>http://kdbdallas.com/2008/08/31/remindyou-20-now-in-beta-jailbrake-20/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

