<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Can't see nothing but the source code &#187; XCode</title>
	<atom:link href="http://codeforfun.wordpress.com/tag/xcode/feed/" rel="self" type="application/rss+xml" />
	<link>http://codeforfun.wordpress.com</link>
	<description>Java development with an iPhone touch pad for the Atari 2600 from an urban hip-hop perspective</description>
	<lastBuildDate>Wed, 09 Dec 2009 01:51:25 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='codeforfun.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/8d21f8fd8dcc021adcd46592bfbddcda?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Can't see nothing but the source code &#187; XCode</title>
		<link>http://codeforfun.wordpress.com</link>
	</image>
			<item>
		<title>Objective-C Gotchas</title>
		<link>http://codeforfun.wordpress.com/2009/11/30/objective-c-gotchas/</link>
		<comments>http://codeforfun.wordpress.com/2009/11/30/objective-c-gotchas/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 17:05:29 +0000</pubDate>
		<dc:creator>Cliff</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[iPhone SDK]]></category>
		<category><![CDATA[iphone unit testing]]></category>
		<category><![CDATA[Objective C]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://codeforfun.wordpress.com/?p=1080</guid>
		<description><![CDATA[You&#8217;re working in Objective-C land trying to get a product out the door and into the Apple iTunes Store, right? (Don&#8217;t argue with me I&#8217;m just setting the stage.) You&#8217;re feeling the second cup of coffee seep into your bloodstream which creates a certain euphoric sensation as the last 3 times you mashed Cmd+B turned [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeforfun.wordpress.com&blog=228419&post=1080&subd=codeforfun&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>You&#8217;re working in Objective-C land trying to get a product out the door and into the Apple iTunes Store, right? (Don&#8217;t argue with me I&#8217;m just setting the stage.) You&#8217;re feeling the second cup of coffee seep into your bloodstream which creates a certain euphoric sensation as the last 3 times you mashed Cmd+B turned up no errors. Yes, that&#8217;s what&#8217;s happening in your copy of XCode right now. You then Cmd+Tilde to toggle the other XCode window active (Cmd+Tilde is a nifty Apple shortcut for switching active windows in the current app) and Cmd+B once again when a red flag on the play pops up in some code that had been just fine moments ago? What happened? Hi, <a href="http://codeforfun.wordpress.com/about/">I&#8217;m Cliff</a>. You&#8217;re here because XCode got&#8217;cha and you&#8217;re not quite sure how/why/where. I&#8217;m here because I wanna list as many of these got&#8217;chas before I forget them.</p>
<p><strong>Property accessor notation in Earlier SDKs</strong><br />
Here&#8217;s one weird gotcha that I just hit again for the first time. If you have a variable typed as a protocol and that protocol has a setter, which takes another protocol type defined then you may get an error when using dot notation in SDKs earlier than 3.0. That is a definition like this:</p>
<pre class="brush: plain;">
@protocol MyCoolAbstractType &lt;NSObject&gt;
-(void) setNetworkDataProvider:(id&lt;MyNetworkDataProvider&gt;)aNetworkDataProvider;
@end
</pre>
<p>&#8230;should be coded like this:</p>
<pre class="brush: plain;">
@protocol MyCoolAbstractType &lt;NSObject&gt;
@property (nonatomic, retain) id&lt;MyNetworkDataProvider&gt; networkDataProvider;
@end
</pre>
<p>&#8230;before you can do this:</p>
<pre class="brush: plain;">
id&lt;MyCoolAbstractType&gt; myObj = //create object from factory
myObj.networkDataProvider = [[MyConcreteNetworkDataProvider alloc] init];
</pre>
<p>Evidently the &#8220;Discover setter is a property&#8221; feature is something new Santa delivered with 3.0 and never told me about. Here I thought I had that toy from 2 years ago!</p>
<p><strong>Unit Tests Can&#8217;t Be Signed</strong><br />
I added a unit test dependency to my &#8220;Application&#8221; target the other week in order to streamline my dev cycles. The idea was to ensure any changes I made to satisfy the integrated application bundle did not impact behaviors outlined in my test cases. (I use mini applications to perform my integration testing.) The problem here is that, even though this works well for simulator builds, an on-device build will fail as XCode attempts to sign your unit test target output. I haven&#8217;t discovered a work-around for this one yet so I&#8217;m gonna just punt and remove the test dependency from any targets meant to run on device.</p>
<p><em>I&#8217;ll trow up more as I find them&#8230;</em></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codeforfun.wordpress.com/1080/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codeforfun.wordpress.com/1080/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/codeforfun.wordpress.com/1080/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/codeforfun.wordpress.com/1080/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/codeforfun.wordpress.com/1080/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/codeforfun.wordpress.com/1080/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/codeforfun.wordpress.com/1080/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/codeforfun.wordpress.com/1080/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/codeforfun.wordpress.com/1080/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/codeforfun.wordpress.com/1080/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeforfun.wordpress.com&blog=228419&post=1080&subd=codeforfun&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://codeforfun.wordpress.com/2009/11/30/objective-c-gotchas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/11e7597f889f569d804b6f8c79e60e6a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Cliff</media:title>
		</media:content>
	</item>
		<item>
		<title>XCode orange breakpoints???</title>
		<link>http://codeforfun.wordpress.com/2009/09/20/xcode-orange-breakpoints/</link>
		<comments>http://codeforfun.wordpress.com/2009/09/20/xcode-orange-breakpoints/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 01:08:57 +0000</pubDate>
		<dc:creator>Cliff</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[iPhone SDK]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://codeforfun.wordpress.com/?p=1012</guid>
		<description><![CDATA[I waste more time not knowing the details behind XCode. I&#8217;m playing with some basic image drawing code and trying to figure out why my custom UIView doesn&#8217;t appear on screen. Naturally I click the gutter in the drawRect method to set a break-point. XCode moonwalks right over the breakpoint each time! I try all [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeforfun.wordpress.com&blog=228419&post=1012&subd=codeforfun&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I waste more time not knowing the details behind XCode. I&#8217;m playing with some basic image drawing code and trying to figure out why my custom UIView doesn&#8217;t appear on screen. Naturally I click the gutter in the drawRect method to set a break-point. XCode moonwalks right over the breakpoint each time! I try all different kinds of varaitions of my custom drawing, both overriding UIImageView and manually adding it to another view. Each time XCode does a hop-scotch over the drawRect breakpoint. I only notice that the break point turns orage when I run the program. I finally figure out that I had a type-o in a custom graphic file name causing it to appear like nothing was happening. Still XCode ignores my breakpoint.</p>
<p>Because I&#8217;ve seen this behavior before I now know my code is begin executed even though XCode doesn&#8217;t honor my breakpoint. What I really need to know is why does XCode sometimes ignore breakpoints? What is the significance of these orange breakpoints? As of now there&#8217;s nothing I can do to set the break-point except for checking the checkbox in the breakpoint manager dialog. Why does this happen? Why is my IDE clowning me?</p>
<p><strong>*Update*</strong><br />
Found the answer <a href="http://www.innerexception.com/2008/05/in-xcode-orange-breakpoint-means-gdb.html">here</a>. In short, XCode sometimes gets its symbol references confused. To rememdy the problem you can either disable &#8220;Lazy Loading of Symbols&#8221; in the debug preferences or delete the file from XCode (just remove the reference not the actual file) and re-add it.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codeforfun.wordpress.com/1012/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codeforfun.wordpress.com/1012/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/codeforfun.wordpress.com/1012/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/codeforfun.wordpress.com/1012/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/codeforfun.wordpress.com/1012/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/codeforfun.wordpress.com/1012/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/codeforfun.wordpress.com/1012/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/codeforfun.wordpress.com/1012/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/codeforfun.wordpress.com/1012/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/codeforfun.wordpress.com/1012/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeforfun.wordpress.com&blog=228419&post=1012&subd=codeforfun&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://codeforfun.wordpress.com/2009/09/20/xcode-orange-breakpoints/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/11e7597f889f569d804b6f8c79e60e6a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Cliff</media:title>
		</media:content>
	</item>
		<item>
		<title>TDD for iPhone development</title>
		<link>http://codeforfun.wordpress.com/2009/01/09/tdd-for-iphone-development/</link>
		<comments>http://codeforfun.wordpress.com/2009/01/09/tdd-for-iphone-development/#comments</comments>
		<pubDate>Fri, 09 Jan 2009 19:47:19 +0000</pubDate>
		<dc:creator>Cliff</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[iPhone TDD]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://codeforfun.wordpress.com/?p=737</guid>
		<description><![CDATA[I&#8217;m getting more familiar with the tools and technology surrounding iPhone development but I still face challenges daily. Hi, my name&#8217;s Cliff. You&#8217;re here because a random Yahoo/Google search or cross-link from another site pulled you in by your chin hairs. (In the case of women reading you&#8217;re here because you&#8217;re trying to figure out [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeforfun.wordpress.com&blog=228419&post=737&subd=codeforfun&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I&#8217;m getting more familiar with the tools and technology surrounding iPhone development but I still face challenges daily. Hi, my name&#8217;s <a href="http://codeforfun.wordpress.com/about/">Cliff</a>. You&#8217;re here because a random Yahoo/Google search or cross-link from another site pulled you in by your chin hairs. (In the case of women reading you&#8217;re here because you&#8217;re trying to figure out where you husband/significant other spends all of his spare time.) Bear with me as I try to make sense of the tedium involved in <a href="http://www.macworld.com/article/132003/xcode.html">XCode</a> unit testing.</p>
<p><strong>Not yer Daddy&#8217;s cup o&#8217; Java!</strong><br />
For score and several years of Java development has seasoned me similar to a rotisserie side of pork spinning slowly over an open hearth. As a flavored piece of pig, I&#8217;ve come to expect certain things&#8230; from my IDE&#8230; from advertised test tools&#8230; from any form of modern development. For one, I don&#8217;t expect a ton of over head associated with adding a new test. Consequently, copying the Google tools for mac files into each project that wants to be agile is becoming painful. I&#8217;ve also come to expect&#8230; no demand a certain ability to easily decouple. Running things in isolation is key to true unit tests, not requiring the stars to line up is crucial. I&#8217;ve also grown used to the CLASSPATH. For those that only deal in XCode, Ruby, or Cocoa the CLASSPATH is the bane of all Java development allowing one to easily gain and/or dismally lose runtime visibility of entire libraries of supporting logic. Today I&#8217;m having trouble getting Objective-C class implementations to be visible without individually adding them. While that&#8217;s not too bad I found a classpathy work-around while playing with another open source project a while ago. This other project was setup with individual modules which made me very happy since it smells of modular reuse. It&#8217;s main module contained all of the supporting logic and could be embedded or reused in any client application. Writing tests that exercised anything from the project became a simple matter of adding that main module as a dependency of the test target.</p>
<p><strong>My Dilemma</strong><br />
Because I started a project sans knowledge of how to properly decouple I have a bunch of classes tied to the default application build target in XCode. I tried to add this target&#8217;s output as a dependency of my test target as I did with the other project. Since the output is an executable application I believe it&#8217;s causing things not to work as expected. If you have any idea of a work-around that doesn&#8217;t involve adding each file loaded by the test to be manually added to both the application and the the test target then speak up.</p>
<p><strong>Retribution *Ahem* Reimbursement</strong><br />
I&#8217;ve asked people to do my work for me plenty times before and I&#8217;m not ashamed to do it again. As your reward for being a faithful reader of my blog and committing occasional insight to my struggles you can expect silent but honorable mention as I speak to others on behalf of your contribution. Followup posts on this site to highlight your involvement in any way will be edited, reworded, and/or deleted prior to clearing moderation. (In all reality, I sincerely appreciate all comments and feedback. I don&#8217;t actually steal credit unless you request that I do and at the end of the day we&#8217;re all working towards a common goal&#8230; Don&#8217;t take nothing you read here seriously&#8230; it&#8217;s just jokes!)</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codeforfun.wordpress.com/737/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codeforfun.wordpress.com/737/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/codeforfun.wordpress.com/737/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/codeforfun.wordpress.com/737/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/codeforfun.wordpress.com/737/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/codeforfun.wordpress.com/737/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/codeforfun.wordpress.com/737/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/codeforfun.wordpress.com/737/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/codeforfun.wordpress.com/737/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/codeforfun.wordpress.com/737/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeforfun.wordpress.com&blog=228419&post=737&subd=codeforfun&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://codeforfun.wordpress.com/2009/01/09/tdd-for-iphone-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/11e7597f889f569d804b6f8c79e60e6a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Cliff</media:title>
		</media:content>
	</item>
		<item>
		<title>Subversion 1.5 and XCode 3.1.2</title>
		<link>http://codeforfun.wordpress.com/2008/12/18/subversion-15-and-xcode-312/</link>
		<comments>http://codeforfun.wordpress.com/2008/12/18/subversion-15-and-xcode-312/#comments</comments>
		<pubDate>Thu, 18 Dec 2008 17:58:35 +0000</pubDate>
		<dc:creator>Cliff</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[iPhone SDK]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://codeforfun.wordpress.com/?p=696</guid>
		<description><![CDATA[Why don&#8217;t somebody fix this already? I think I finally got the latest XCode 3.1.2 to work with the latest Subversion 1.5 release. This was after downloading the latest 2.2 iPhone SDK. I scoured the web and found the best tip here. There&#8217;s another possible more automated solution here but because I don&#8217;t feel comfortable [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeforfun.wordpress.com&blog=228419&post=696&subd=codeforfun&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Why don&#8217;t somebody fix this already? I think I finally got the latest XCode 3.1.2 to work with the latest Subversion 1.5 release. This was after downloading the latest 2.2 iPhone SDK. I scoured the web and found the best tip <a href="http://www.talentgrouplabs.com/blog/archive/2008/12/02/xcode-3.1.2-and-subversion-1.5.x-compatibility.aspx">here</a>. There&#8217;s another possible more automated solution <a href="http://www.cocoabuilder.com/archive/message/xcode/2008/9/25/24866">here</a> but because I don&#8217;t feel comfortable running a bash script I copied off of some web page (try it and you&#8217;ll cuss. Then you&#8217;ll see what I mean!) I went with the <a href="http://www.talentgrouplabs.com/blog/archive/2008/12/02/xcode-3.1.2-and-subversion-1.5.x-compatibility.aspx">other approach</a>. I&#8217;ll shorthand the steps I followed below because following the first link above, I think, misses some important files and doesn&#8217;t work correctly. The general idea is to copy your Subversion installed libraries (assuming you used the <a href="http://www.collab.net/products/subversion/">Collab.net bundle</a>) into the place where XCode binds to.</p>
<p>From your home directory:<br />
mkdir svn-bkup<br />
sudo cp /usr/lib/libsvn_* svn-bkup<br />
sudo cp /usr/lib/libapr-1.dylib svn-bkup<br />
sudo cp /usr/lib/libaprutil-1.dylib svn-bkup</p>
<p>sudo cp /opt/subversion/lib/libapr-1.dylib /usr/lib<br />
sudo cp /opt/subversion/lib/libaprutil-1.dylib /usr/lib<br />
sudo cp /opt/subversion/lib/libsvn_* /usr/lib</p>
<p>[restart xcode]</p>
<p>That&#8217;s what I did and now it no longer complains &#8220;error 155021 this Subversion client is too old and stoopid to work with your shiny new svn checkout that&#8217;s just bananas!&#8221; Your error message may vary but the concept is the same.</p>
<p><em>This message is brought to you, in part, by the proud sponsors listed in the <a href="http://codeforfun.wordpress.com/hall-of-aim/">Hall of Aim</a>.</em></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codeforfun.wordpress.com/696/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codeforfun.wordpress.com/696/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/codeforfun.wordpress.com/696/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/codeforfun.wordpress.com/696/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/codeforfun.wordpress.com/696/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/codeforfun.wordpress.com/696/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/codeforfun.wordpress.com/696/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/codeforfun.wordpress.com/696/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/codeforfun.wordpress.com/696/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/codeforfun.wordpress.com/696/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeforfun.wordpress.com&blog=228419&post=696&subd=codeforfun&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://codeforfun.wordpress.com/2008/12/18/subversion-15-and-xcode-312/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/11e7597f889f569d804b6f8c79e60e6a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Cliff</media:title>
		</media:content>
	</item>
		<item>
		<title>XCode refactoring sux!</title>
		<link>http://codeforfun.wordpress.com/2008/10/28/xcode-refactoring-sux/</link>
		<comments>http://codeforfun.wordpress.com/2008/10/28/xcode-refactoring-sux/#comments</comments>
		<pubDate>Wed, 29 Oct 2008 02:54:05 +0000</pubDate>
		<dc:creator>Cliff</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[iPhone SDK]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://codeforfun.wordpress.com/?p=579</guid>
		<description><![CDATA[The title may be slightly exaggerated but when you grow used to a tool like IntelliJ Idea you start to become spoiled by everything it gives you. First off refactoring support in Idea is second to NONE! Honestly, there are no front runners. When you code in Idea you can literally feel the text of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeforfun.wordpress.com&blog=228419&post=579&subd=codeforfun&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The title may be slightly exaggerated but when you grow used to a tool like <a href="http://www.jetbrains.com/idea/index.html">IntelliJ Idea</a> you start to become spoiled by everything it gives you. First off refactoring support in Idea is second to NONE! Honestly, there are no front runners. When you code in Idea you can literally feel the text of the source code under your finger tips. Now goind from Idea to, say <a href="http://eclipse.org">Eclipse</a> isn&#8217;t too bad because Eclipse supports 98% of the refactorings that Idea has out of the box but it likes to torture you with dialog boxes. (I don&#8217;t like to be prompted or questioned when I know what I&#8217;m doing. If I ask to extract a method, or variable or rename something don&#8217;t give me some damned options just do what I ask!!!) Now going from Idea to something like visual C++.. phew!!! Talk about shell shock! Let&#8217;s just say it&#8217;s nice and toasty in the Idea house while somebody in the <a href="http://msdn.com">MSDN</a> camp forgot to pay <a href="http://www.pplelectric.com/">PPL</a>. Ok now let&#8217;s move from Idea to <a href="http://developer.apple.com/tools/xcode/">XCode</a>. Not as frigid as it was when we bolted butt-naked into Redmond with VS but still pretty darned cold. Why am I complaining?</p>
<p><strong>Typical use case:</strong><br />
Dev guy writes a method. Dev guy later sees that he picked a dumb name  for said method. (The method name should be a generic toggleView not a specific gotoTheVerySpecificUseCaseViewThatIThoughtOfAt10pmWhileIWasDrinkingPabstBeer) Now in Idea I use a hot-key on the method name type the new name and click run. (Nobody taps me on the shoulder to ask me if I&#8217;d like fries with that refactoring as they do in Eclipse land.) I just tried that fancy recipe in XCode and when I run I get an error. I didn&#8217;t even look at the details when GDB started to grind and slow the vent handling. I already knew from the last time I tried right-click and refactor a method name from the implementation. The refactorer doesn&#8217;t get those tough to reach spots. You know how when you ask you daughter to clean her room and she only gets the visible areas but you really wanted her to clean the back of that nasty closet? Or like when you buy one of those store brand toothbrushes with the labeling &#8220;Each! Compare to Reach toothbrush&#8230;&#8221; In other words, there were remnants left behind from the refactoring. This is completely unacceptable! As much as Apple pays attention to detail in their products I&#8217;d expect nothing less than perfection in their IDE! I don&#8217;t think this is an area where I&#8217;m misusing the tool either. refactor/rename should understand the Cocoa environment well enough to understand that I need IBOutlets referenced in nib files updated as well. I guarantee you that the folks at <a href="http://jetbrains.com">JetBrains</a> would not have left this stone unturned.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codeforfun.wordpress.com/579/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codeforfun.wordpress.com/579/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/codeforfun.wordpress.com/579/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/codeforfun.wordpress.com/579/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/codeforfun.wordpress.com/579/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/codeforfun.wordpress.com/579/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/codeforfun.wordpress.com/579/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/codeforfun.wordpress.com/579/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/codeforfun.wordpress.com/579/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/codeforfun.wordpress.com/579/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeforfun.wordpress.com&blog=228419&post=579&subd=codeforfun&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://codeforfun.wordpress.com/2008/10/28/xcode-refactoring-sux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/11e7597f889f569d804b6f8c79e60e6a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Cliff</media:title>
		</media:content>
	</item>
	</channel>
</rss>