<?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>Tech Thought &#187; Tech</title>
	<atom:link href="http://blog.evandavey.com/category/tech/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.evandavey.com</link>
	<description>Tech tips, hints, and general musings. PHP, Perl, Mysql, Javascript, AJAX, JSON, Linux, Mac OSX</description>
	<lastBuildDate>Thu, 08 Jul 2010 06:42:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>How-To: Check root DNS settings for domain</title>
		<link>http://blog.evandavey.com/2009/12/how-to-check-root-dns-settings-for-domain.html</link>
		<comments>http://blog.evandavey.com/2009/12/how-to-check-root-dns-settings-for-domain.html#comments</comments>
		<pubDate>Sun, 20 Dec 2009 01:09:52 +0000</pubDate>
		<dc:creator>Ev</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[dig]]></category>
		<category><![CDATA[dns]]></category>

		<guid isPermaLink="false">http://blog.evandavey.com/?p=572</guid>
		<description><![CDATA[Using &#8220;dig&#8221; you can determine what IP address or CNAME your domain is pointing to quite easily. However what I didn&#8217;t know was that you can actually check what the root server thinks your domain is pointing at, so you can check if its set correctly when you are migrating to a new IP address. [...]]]></description>
			<content:encoded><![CDATA[<p>Using &#8220;dig&#8221; you can determine what IP address or CNAME your domain is pointing to quite easily.  However what I didn&#8217;t know was that you can actually check what the root server thinks your domain is pointing at, so you can check if its set correctly when you are migrating to a new IP address.</p>
<p>To do this, simply type:</p>
<pre>dig domaintolookup.com +trace</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.evandavey.com/2009/12/how-to-check-root-dns-settings-for-domain.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What does iPhone OS 3.0 Mean for your Apps?</title>
		<link>http://blog.evandavey.com/2009/08/what-does-iphone-os-3-0-mean-for-your-apps.html</link>
		<comments>http://blog.evandavey.com/2009/08/what-does-iphone-os-3-0-mean-for-your-apps.html#comments</comments>
		<pubDate>Thu, 27 Aug 2009 22:15:15 +0000</pubDate>
		<dc:creator>Ev</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[iPhone Development]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://blog.evandavey.com/?p=549</guid>
		<description><![CDATA[Recently I was involved in a podcast regarding the iPhone OS 3.0 upgrade. We looked at all the new features (and some upcoming ones in v3.1) and discussed how they relate to new features clients can develop in their apps. You can hear more here: What does iPhone OS 3.0 Mean for Your Apps (WSP [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I was involved in a podcast regarding the iPhone OS 3.0 upgrade.  We looked at all the new features (and some upcoming ones in v3.1) and discussed how they relate to new features clients can develop in their apps.  </p>
<p>You can hear more here:</p>
<p><a href="http://wspeonline.com/news/140-what-does-the-iphone-os-30-upgrade-mean-for-your-apps.html">What does iPhone OS 3.0 Mean for Your Apps (WSP Online)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.evandavey.com/2009/08/what-does-iphone-os-3-0-mean-for-your-apps.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone UIScrollView with UIImageView have issues Interface Builder</title>
		<link>http://blog.evandavey.com/2009/07/iphone-uiscrollview-with-uiimageview-have-issues-interface-builder.html</link>
		<comments>http://blog.evandavey.com/2009/07/iphone-uiscrollview-with-uiimageview-have-issues-interface-builder.html#comments</comments>
		<pubDate>Mon, 13 Jul 2009 22:55:58 +0000</pubDate>
		<dc:creator>damien.wilmann</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[Interface Builder]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[UIImageView]]></category>
		<category><![CDATA[UIScrollView]]></category>

		<guid isPermaLink="false">http://blog.evandavey.com/?p=537</guid>
		<description><![CDATA[Ever wanted to have an image view in a scrollview? Sure, you could directly add it using code, but wouldn&#8217;t it be nice to do it in Interface Builder? If you&#8217;re like me, you like to leave on the defaults unless absolutely necessary. I had an issue where I added an image view to the [...]]]></description>
			<content:encoded><![CDATA[<p>Ever wanted to have an image view in a scrollview? Sure, you could directly add it using code, but wouldn&#8217;t it be nice to do it in Interface Builder?</p>
<p>If you&#8217;re like me, you like to leave on the defaults unless absolutely necessary. I had an issue where I added an image view to the scroll view in Interface Builder.<br />
The image view then had an image added to in code. I resized the content view of the scroll view in code to be the same size as the image view (which you have to do<br />
in order to get it to scroll).</p>
<p>Unfortunately, when an image larger than the scrollview was used, it went off the top of the scroll view by about 30px. I thought its origin was using the main view,<br />
instead of the scroll view&#8217;s frame, but after modifying various properties I had no luck &#8211; and strange results, with the image always returning to about 30px higher than<br />
the scroll view content area.</p>
<p>After trying to resolve things programattically, I resorted to Interface Builder again. I tried any number of properties on the scroll view to get its content<br />
placed at its origin. It turns out that, by default, a UIImageView has a default &#8220;Mode&#8221; of center. That affects its alignment in its <emph>parent view</emph>. This ain&#8217;t<br />
HTML kids, it is the elements themselves who decide how they are aligned in their parent elements. So, I just change the &#8220;Mode&#8221; to &#8220;Top Left&#8221;, and Robert&#8217;s your mother&#8217;s<br />
brother.</p>
<p><img src="http://blog.evandavey.com/wp-content/uploads/2009/07/top-left.png" alt="Top Left Screenshot" /></p>
<p>The code for getting the scroll view to scroll (just FYI) is included below. If thisImage is bigger than the scroll view in any dimension, it will let you scroll<br />
in the corresponding direction &#8211; but if it&#8217;s the same size or smaller, no scrolling is possible in that direction. Pretty nice. self.scrollView, by the way, has<br />
only the default Interface Builder properties.</p>
<pre>
CGImageRef imageRef = thisImage.CGImage;
CGFloat width = CGImageGetWidth(imageRef);
CGFloat height = CGImageGetHeight(imageRef);

[self.scrollView setContentSize:CGSizeMake(width, height)];
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.evandavey.com/2009/07/iphone-uiscrollview-with-uiimageview-have-issues-interface-builder.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone: Bugged UINavigationController? View doesn&#8217;t Scroll.</title>
		<link>http://blog.evandavey.com/2009/07/bugged-navigation-view-stuck.html</link>
		<comments>http://blog.evandavey.com/2009/07/bugged-navigation-view-stuck.html#comments</comments>
		<pubDate>Fri, 10 Jul 2009 01:19:27 +0000</pubDate>
		<dc:creator>damien.wilmann</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[Stuck]]></category>
		<category><![CDATA[UINavigationController]]></category>
		<category><![CDATA[UIView]]></category>

		<guid isPermaLink="false">http://blog.evandavey.com/?p=524</guid>
		<description><![CDATA[Developing a networked iPhone application, I had two views that were very similar &#8211; so similar in fact that they were copies of one-another with &#8220;Sending&#8221; renamed to &#8220;Receiving&#8221;. The idea was to get them both working with different XIB files, and then modify them. The code to load the sending view (from the main [...]]]></description>
			<content:encoded><![CDATA[<p>Developing a networked iPhone application, I had two views that were very similar &#8211; so similar in fact that they were copies of one-another with &#8220;Sending&#8221; renamed to &#8220;Receiving&#8221;. The idea was to get them both working with different XIB files, and then modify them.</p>
<p>The code to load the sending view (from the main app delegate) was:</p>
<pre>- (IBAction)sendContact:(id)sender
{
	DataController* dc = [DataController sharedInstance];
	dc.contactRecord = (NSMutableDictionary*) [self.userDefaults dictionaryForKey:@"currentUser"];

	SendingViewController *sendingViewController = [[SendingViewController alloc] initWithNibName:@"ReceiverView" bundle:nil];
	[self setBackButtonText:@"Back"];
	[self.navigationController pushViewController:sendingViewController animated:YES];
	[sendingViewController release];
}</pre>
<p>The code for the receiving view was:</p>
<pre>- (IBAction)receiveContact:(id)sender
{
	ReceivingViewController *receiverViewController = [[ReceivingViewController alloc] initWithNibName:@"ReceivingView" bundle:nil];
	[self setBackButtonText:@"Back"];
	[self.navigationController pushViewController:receiverViewController animated:YES];
	[receiverViewController release];
}</pre>
<p>On load, I could _swear_ that nothing happend with the DataController&#8217;s contact record. But something screwy was going on. When I hit &#8220;send&#8221; first  (on app launch), hitting &#8220;receive&#8221; worked fine (you could navigate back with no worries at all). However, when you hit &#8220;receive&#8221; first, going back only got the navigation bar to change, while the receive view was still visible.</p>
<p>It took ages, but setting contactRecord in the DataController shared instance fixed the problem.</p>
<p>The thing is, the view loaded just fine, no worries at all. No errors or warnings occured&#8230; and I wasn&#8217;t using contactRecord for anything on the view. So why did it behave like it encountered an error? I searched the code, and I was setting a label (which didn&#8217;t even exist on-screen anymore, it was an unused IBOutlet UILabel) to something contained in the DataController. Why it didn&#8217;t error properly, and why that stopped the view from unloading properly is completely beyond me&#8230; The NavigationBar operates (somewhat) in isolation from the views inside it, so if a view gets stuck (but not the Nav control) you can find yourself in a very weird situation.</p>
<p>So, my advice to you is:</p>
<ul>
<li>It ain&#8217;t the same until it&#8217;s _exactly_ the same.</li>
<li>Just because it doesn&#8217;t error, doesn&#8217;t mean it hasn&#8217;t produced an error.</li>
<li>If you can at all avoid it, don&#8217;t copy paste entire files. Best to start empty and include the stuff you need instead.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.evandavey.com/2009/07/bugged-navigation-view-stuck.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BudTrap: An easy way to solve iPhone/iPod headphone tangles</title>
		<link>http://blog.evandavey.com/2009/05/budtrap-an-easy-way-to-solve-iphoneipod-headphone-tangles.html</link>
		<comments>http://blog.evandavey.com/2009/05/budtrap-an-easy-way-to-solve-iphoneipod-headphone-tangles.html#comments</comments>
		<pubDate>Fri, 29 May 2009 23:45:51 +0000</pubDate>
		<dc:creator>Ev</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[budtrap]]></category>
		<category><![CDATA[headphones]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[iPod]]></category>

		<guid isPermaLink="false">http://blog.evandavey.com/?p=489</guid>
		<description><![CDATA[The guys at BudTrap have a great idea.  Create a device, which clips into your iPhone/iPod, stops your headphone getting tangled, and costs just $5 &#8211; with $1 being donated to charity.  On top of which, you get 5 additional &#8220;buddy&#8221; devices which you can share with your friends. They are also into working out [...]]]></description>
			<content:encoded><![CDATA[<p>The guys at <a href="http://www.budtrap.com" target="_blank">BudTrap</a> have a great idea.  Create a device, which clips into your iPhone/iPod, stops your headphone getting tangled, and costs just $5 &#8211; with $1 being donated to charity.  On top of which, you get 5 additional &#8220;buddy&#8221; devices which you can share with your friends.</p>
<p><img class="alignnone size-full wp-image-492" title="BudTrap In Use" src="http://blog.evandavey.com/wp-content/uploads/2009/05/picture-4.png" alt="BudTrap In Use" width="156" height="223" /></p>
<p>They are also into working out how much time you save by using their device &#8211; which they use as a global tally to show how much time the world is saving by removing the need to untangle headphones.</p>
<p>This is a really novel idea and a cool device.  Head over to <a href="http://budtrap.com" target="_blank">BudTrap.com</a> now to start saving your tangle time.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.evandavey.com/2009/05/budtrap-an-easy-way-to-solve-iphoneipod-headphone-tangles.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How-To: Make UIWebView transparent</title>
		<link>http://blog.evandavey.com/2009/02/how-to-make-uiwebview-transparent.html</link>
		<comments>http://blog.evandavey.com/2009/02/how-to-make-uiwebview-transparent.html#comments</comments>
		<pubDate>Fri, 13 Feb 2009 01:07:40 +0000</pubDate>
		<dc:creator>Ev</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[iPhone Development]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://blog.evandavey.com/?p=409</guid>
		<description><![CDATA[Common problem, need to apply nice HTML formatting for a section of your page, but want the UIWebView not to appear as a big white box &#8211; only the content of the UIWebView to appear. How to do it? myWebView.opaque = NO; myWebView.backgroundColor = [UIColor clearColor]; [myWebView loadHTMLString: @"&#60;html&#62;&#60;body style='background-color: transparent'&#62; Content Here&#60;/body&#62;&#60;/html&#62;" baseURL:nil]; The above [...]]]></description>
			<content:encoded><![CDATA[<p>Common problem, need to apply nice HTML formatting for a section of your page, but want the UIWebView not to appear as a big white box &#8211; only the content of the UIWebView to appear.  How to do it?</p>
<pre>myWebView.opaque = NO;
myWebView.backgroundColor = [UIColor clearColor];
[myWebView loadHTMLString:
@"&lt;html&gt;&lt;body style='background-color: transparent'&gt;
       Content Here&lt;/body&gt;&lt;/html&gt;" baseURL:nil];</pre>
<p>The above works in 2.2.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.evandavey.com/2009/02/how-to-make-uiwebview-transparent.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How-To: URL Encode NSString in Objective-C</title>
		<link>http://blog.evandavey.com/2009/01/how-to-url-encode-nsstring-in-objective-c.html</link>
		<comments>http://blog.evandavey.com/2009/01/how-to-url-encode-nsstring-in-objective-c.html#comments</comments>
		<pubDate>Tue, 20 Jan 2009 19:57:04 +0000</pubDate>
		<dc:creator>Ev</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://blog.evandavey.com/?p=362</guid>
		<description><![CDATA[It&#8217;s very easy to URL Encode an NSString in Objective-C (i.e. make a string safe to send using a GET request).  Simply do this: NSString* escapedUrlString = [unescapedString stringByAddingPercentEscapesUsingEncoding: NSASCIIStringEncoding]; Then just use the escapedUrlString in your NSURL object and you&#8217;re on your way.]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s very easy to URL Encode an NSString in Objective-C (i.e. make a string safe to send using a GET request).  Simply do this:</p>
<pre>NSString* escapedUrlString =
   [unescapedString stringByAddingPercentEscapesUsingEncoding:
                        NSASCIIStringEncoding];</pre>
<p>Then just use the <strong>escapedUrlString</strong> in your NSURL object and you&#8217;re on your way.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.evandavey.com/2009/01/how-to-url-encode-nsstring-in-objective-c.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>WSDL WebServices for Salesforce using PHP</title>
		<link>http://blog.evandavey.com/2009/01/wsdl-webservices-for-salesforce-using-php.html</link>
		<comments>http://blog.evandavey.com/2009/01/wsdl-webservices-for-salesforce-using-php.html#comments</comments>
		<pubDate>Tue, 20 Jan 2009 04:53:19 +0000</pubDate>
		<dc:creator>Ev</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://blog.evandavey.com/?p=356</guid>
		<description><![CDATA[I&#8217;ve found developing for Salesforce with PHP to be somewhat of an undocumented nightmare.  However, there are a few useful blog posts around that can make life easier.  One is here, which takes you through creating a webservice on Salesforce and then accessing it via PHP calls (yes &#8211; an end-to-end example!  hooray!) &#8211; thanks [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve found developing for Salesforce with PHP to be somewhat of an undocumented nightmare.  However, there are a few useful blog posts around that can make life easier.  One is <a href="http://sfdc.arrowpointe.com/2008/12/05/calling-apex-web-services-from-php/" target="_blank">here</a>, which takes you through creating a webservice on Salesforce and then accessing it via PHP calls (yes &#8211; an end-to-end example!  hooray!) &#8211; thanks to <a href="http://www.arrowpointe.com" target="_blank">ArrowPointe</a> for that post.</p>
<p>One gotchya that I discovered while attempting to access Webservices was ensuring that you actually expose your Apex class as a webservice:</p>
<pre class="codeBlock">global class myClass {
    <strong>webservice</strong> static Double getTotalSales() {
        Double globalTotal = 0;
        // Code goes here....

        return globalTotal;
    }
}</pre>
<p>Additionally, on the PHP end, ensure you put the name of the class you are attempting to access in the NAMESPACE when you put your session ID in the salesforce header (see below).  The below example assumes you have already connected to salesforce using the PHP Toolkit and the connection is in the <strong>$sfc</strong> variable:</p>
<pre>    $sessionID = $sfc-&gt;getSessionId();

    $wsdl="soapclient/myClass.wsdl.xml";
    $NAMESPACE = "http://soap.sforce.com/schemas/class/<strong>myClass</strong>";

    $sforce_header = new SoapHeader($NAMESPACE, "SessionHeader",
                        array("sessionId" =&gt; $sessionID));
    $client = new soapclient($wsdl);
    $client-&gt;__setSoapHeaders(array($sforce_header));

    try{
        $result = $client-&gt;getTotalSales();   
    }
    catch(Exception $e) {
        print "&lt;pre&gt;";
        print_r($e);
        exit;
    }</pre>
<p>If you forget that step, you can end up with a <strong>[soapenv:Client] Element {}item invalid at this location</strong> error which is bloody hard to debug.  Trust me.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.evandavey.com/2009/01/wsdl-webservices-for-salesforce-using-php.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Objective-C: Calculating Days, Minutes, Hours from seconds</title>
		<link>http://blog.evandavey.com/2009/01/objective-c-calculating-days-minutes-hours-from-seconds.html</link>
		<comments>http://blog.evandavey.com/2009/01/objective-c-calculating-days-minutes-hours-from-seconds.html#comments</comments>
		<pubDate>Tue, 20 Jan 2009 04:42:22 +0000</pubDate>
		<dc:creator>Ev</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[mac osx]]></category>
		<category><![CDATA[maths]]></category>
		<category><![CDATA[objective-c]]></category>

		<guid isPermaLink="false">http://blog.evandavey.com/?p=350</guid>
		<description><![CDATA[If you need to convert a total number of seconds into specific components (days, hours, minutes and seconds) in Objective-C, you can use this code snippet.  You can probably do this a million other ways, but this works beautifully for me:     NSNumber *valueForDisplay = [NSNumber numberWithDouble: [self valueForDisplay:clockName]];     NSNumber *totalDays = [NSNumber numberWithDouble: [...]]]></description>
			<content:encoded><![CDATA[<p>If you need to convert a total number of seconds into specific components (days, hours, minutes and seconds) in Objective-C, you can use this code snippet.  You can probably do this a million other ways, but this works beautifully for me:</p>
<pre>    NSNumber *valueForDisplay = [NSNumber numberWithDouble:
              [self valueForDisplay:clockName]];

    NSNumber *totalDays = [NSNumber numberWithDouble:
             ([valueForDisplay doubleValue] / 86400)];
    NSNumber *totalHours = [NSNumber numberWithDouble:
             (([valueForDisplay doubleValue] / 3600) -
              ([totalDays intValue] * 24))];
    NSNumber *totalMinutes = [NSNumber numberWithDouble:
             (([valueForDisplay doubleValue] / 60) -
             ([totalDays intValue] * 24 * 60) -
             ([totalHours intValue] * 60))];
    NSNumber *totalSeconds = [NSNumber numberWithInt:
             ([valueForDisplay intValue] % 60)];</pre>
<p>The above assumes that <strong>valueForDisplay</strong> contains the total value in seconds.  Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.evandavey.com/2009/01/objective-c-calculating-days-minutes-hours-from-seconds.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>How-To: Add subdirectories to your iPhone Application</title>
		<link>http://blog.evandavey.com/2009/01/how-to-add-subdirectories-to-your-iphone-application.html</link>
		<comments>http://blog.evandavey.com/2009/01/how-to-add-subdirectories-to-your-iphone-application.html#comments</comments>
		<pubDate>Wed, 14 Jan 2009 10:08:15 +0000</pubDate>
		<dc:creator>Ev</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://blog.evandavey.com/?p=344</guid>
		<description><![CDATA[I battled with this for quite sometime without realising how simple the solution to the problem is. I wanted to have my complex app resource directory structure replicated in the &#8220;Resources&#8221; directory of my app &#8211; so that all my images, sound files and html files were stored in logical locations &#8211; except they always [...]]]></description>
			<content:encoded><![CDATA[<p>I battled with this for quite sometime without realising how simple the solution to the problem is.</p>
<p>I wanted to have my complex app resource directory structure replicated in the &#8220;Resources&#8221; directory of my app &#8211; so that all my images, sound files and html files were stored in logical locations &#8211; except they always ended up in the base directory of the bundle!</p>
<p>To solve this problem you have to choose the &#8220;Create Folder References for any added folders&#8221; option when you drag your folder into the Xcode project:</p>
<p><img class="alignnone size-full wp-image-346" title="Selecting to include files in Xcode" src="http://blog.evandavey.com/wp-content/uploads/2009/01/picture-2.png" alt="Selecting to include files in Xcode" width="400" height="180" /></p>
<p>This fixes the problem!  You can then reference your files with the path to your directories included:</p>
<pre>NSString *filePath = [[[NSBundle mainBundle] resourcePath]
                stringByAppendingPathComponent:@"pathToMyFiles"];</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.evandavey.com/2009/01/how-to-add-subdirectories-to-your-iphone-application.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
