<?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>www.idevelopsoftware.com &#187; Xcode</title>
	<atom:link href="http://www.idevelopsoftware.com/topic/blog/software/xcode/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.idevelopsoftware.com</link>
	<description>Homepage</description>
	<lastBuildDate>Thu, 19 Aug 2010 18:38:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Setting up Unit Testing in Xcode 3.1</title>
		<link>http://www.idevelopsoftware.com/2008/07/setting-up-unit-testing-in-xcode-31/</link>
		<comments>http://www.idevelopsoftware.com/2008/07/setting-up-unit-testing-in-xcode-31/#comments</comments>
		<pubDate>Mon, 28 Jul 2008 21:07:26 +0000</pubDate>
		<dc:creator>bsmith</dc:creator>
				<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Tips from the Trenches]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://idvlpsw.wordpress.com/?p=111</guid>
		<description><![CDATA[Xcode includes OCUnit, so you don&#8217;t need to get a copy. But, you might want to take a look at their website (http://sente.epfl.ch/software/ocunit/) for information and tutorials on how OCUnit is intended to be used. If you are planning on doing Test Driven Development (TDD) you may also want to get the following packages: OCMock [...]]]></description>
			<content:encoded><![CDATA[<p>
Xcode includes OCUnit, so you don&#8217;t need to get a copy.  But, you might want to take a look at their website (http://sente.epfl.ch/software/ocunit/) for information and tutorials on how OCUnit is intended to be used.
</p>
<p>
If you are planning on doing Test Driven Development (TDD) you may also want to get the following packages:</p>
<ul>
<li>OCMock &#8211; OCMock is an Objective-C implementation of mock objects. (<a href="http://www.mulle-kybernetik.com/software/OCMock/">http://www.mulle-kybernetik.com/software/OCMock/</a>)</li>
<li>Hamcrest &#8211; library of matchers for building test expressions (<a href="http://code.google.com/p/hamcrest/">http://code.google.com/p/hamcrest/</a>)</li>
</ul>
<p>
Other good articles on Xcode Unit Testing that I came across:</p>
<ul>
<li>Unit Testing with OCUnit &#8211; <a href="http://www.macdevcenter.com/pub/a/mac/2004/04/23/ocunit.html?page=1">http://www.macdevcenter.com/pub/a/mac/2004/04/23/ocunit.html?page=1</a></li>
<li>Test Driving Your Code with OCUnit &#8211; <a href="http://developer.apple.com/tools/unittest.html">http://developer.apple.com/tools/unittest.html</a></li>
<li>Xcode unit testing articles &#8211; <a href="http://chanson.livejournal.com/tag/unit+testing">http://chanson.livejournal.com/tag/unit+testing</a></li>
<li>Unit Testing with Xcode &#8211; <a href="http://www.stiefels.net/2007/05/01/unit-testing-with-xcode/">http://www.stiefels.net/2007/05/01/unit-testing-with-xcode/</a></li>
</ul>
<p>
By reading through the documents references above I was able to get OCUnit up and running for one of my projects.  It took a bit of experimentation, but in the end it looks like OCUnit will work just fine for doing TDD in Xcode with Objective-C.  Anyone wanting to try out TDD should give it a try. The benefits for your project are significant.  Go for it!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.idevelopsoftware.com/2008/07/setting-up-unit-testing-in-xcode-31/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Method Swizzling in Safari on Mac OS X</title>
		<link>http://www.idevelopsoftware.com/2008/05/method-swizzling-in-safari-on-mac-os-x/</link>
		<comments>http://www.idevelopsoftware.com/2008/05/method-swizzling-in-safari-on-mac-os-x/#comments</comments>
		<pubDate>Sat, 10 May 2008 03:59:35 +0000</pubDate>
		<dc:creator>bsmith</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Xcode]]></category>
		<category><![CDATA[How To]]></category>

		<guid isPermaLink="false">http://idvlpsw.wordpress.com/?p=66</guid>
		<description><![CDATA[Recently I have been working on an extension for the Safari web browser. The biggest challenge when developing an extension for Safari is determining how to hook your code into Safari.app. Most browsers these days provide hooks to allow development of extensions, but Safari does not. A technique that many people use to add functionality [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I have been working on an extension for the Safari web browser. The biggest challenge when developing an extension for Safari is determining how to hook your code into Safari.app. Most browsers these days provide hooks to allow development of extensions, but Safari does not.</p>
<p>A technique that many people use to add functionality to Safari (and other Cocoa applications) is called Method Swizzling.  If you want to learn more about this technique there is a <a href="http://www.cocoadev.com/index.pl?MethodSwizzling">terrific article</a> explaining all the details on the CocoaDev site.</p>
<p>When applying the method swizzling technique you may find that the linker complains about <i>unresolved classes</i> and won&#8217;t link your bundle.  This issue usually crops up when you try swizzling a method that is in a class you learned about by running <a href="http://www.codethecode.com/projects/class-dump/">class-dump</a> or by using <a href="http://www.fscript.org">FScript</a>. If you run into this problem bring up the project properties in Xcode and add <code>-undefined dynamic_lookup</code> to the <b>Other Linker Flags</b> section.</p>
<p>Without this extra flag your plug-in will not link, and you will be stuck in the mud!  Thanks to Aaron Harnly, author of <a href="http://harnly.net/software/letterbox">Letterbox</a>, for pointing this out to me in an e-mail exchange.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.idevelopsoftware.com/2008/05/method-swizzling-in-safari-on-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generating a GDB Log File for Xcode Debug Sessions</title>
		<link>http://www.idevelopsoftware.com/2008/02/generating-a-gdb-log-file-for-xcode-debug-sessions/</link>
		<comments>http://www.idevelopsoftware.com/2008/02/generating-a-gdb-log-file-for-xcode-debug-sessions/#comments</comments>
		<pubDate>Sat, 02 Feb 2008 22:35:11 +0000</pubDate>
		<dc:creator>bsmith</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://idvlpsw.wordpress.com/?p=67</guid>
		<description><![CDATA[If you would like to capture a log of everything that GDB displays during a debugging session you can do the following: $ defaults write com.apple.Xcode PBXGDBDebuggerLogToFile YES The statement above will turn on logging to a file. Now, you need to set the filename for the debugger output file. Use the following statement to [...]]]></description>
			<content:encoded><![CDATA[<p>If you would like to capture a log of everything that GDB displays during a debugging session you can do the following:<br />
<code><br />
$ defaults write com.apple.Xcode PBXGDBDebuggerLogToFile YES<br />
</code><br />
The statement above will turn on logging to a file. Now, you need to set the filename for the debugger output file. Use the following statement to accomplish that.<br />
<code><br />
$ defaults write com.apple.Xcode PBXGDBDebuggerLogFileName /tmp/gdboutput.log<br />
</code><br />
This will create a file in the /tmp directory called gdboutput.log, containing everything you see in the GDB command window during your debugging session.</p>
<p>Both of these commands need to be typed into a Terminal.app window. You only need to do this once, as your machine will remember the settings.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.idevelopsoftware.com/2008/02/generating-a-gdb-log-file-for-xcode-debug-sessions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
