<?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>Zovirl Industries &#187; XCode</title>
	<atom:link href="http://zovirl.com/tags/xcode/feed/" rel="self" type="application/rss+xml" />
	<link>http://zovirl.com</link>
	<description>Mark Ivey&#039;s Blog</description>
	<lastBuildDate>Tue, 13 Oct 2009 04:47:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>XCode &amp; Python Resources</title>
		<link>http://zovirl.com/2006/07/13/xcode-python-resources/</link>
		<comments>http://zovirl.com/2006/07/13/xcode-python-resources/#comments</comments>
		<pubDate>Thu, 13 Jul 2006 23:34:11 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://zovirl.com/2006/07/13/xcode-python-resources/</guid>
		<description><![CDATA[Some resources for using XCode with Python.  A few introductory sites plus the ones I find most useful on a day-to-day basis:

XCode, Apple&#8217;s free IDE for OSX.
PyObjC, the Python bindings for Cocoa
Apple&#8217;s introduction to PyObjC
PyObjC&#8217;s Documentation page
Example projects for PyObjC
The PyObjC NEWS file is a good place to glean tidbits you can&#8217;t find in [...]]]></description>
			<content:encoded><![CDATA[<p>Some resources for using XCode with Python.  A few introductory sites plus the ones I find most useful on a day-to-day basis:</p>
<ul>
<li><a href="http://developer.apple.com/tools/xcode/">XCode</a>, Apple&#8217;s free IDE for OSX.</li>
<li><a href="http://pyobjc.sourceforge.net/">PyObjC</a>, the Python bindings for Cocoa</li>
<li>Apple&#8217;s <a href="http://developer.apple.com/cocoa/pyobjc.html">introduction to PyObjC</a></li>
<li>PyObjC&#8217;s <a href="http://pyobjc.sourceforge.net/doc/index.php">Documentation page</a></li>
<li><a href="http://pyobjc.sourceforge.net/examples/index.php">Example projects</a> for PyObjC</li>
<li>The PyObjC <a href="http://pyobjc.sourceforge.net/doc/news.php">NEWS</a> file is a good place to glean tidbits you can&#8217;t find in the PyObjC documentation.</li>
<li>A simple <a href="http://zovirl.com/2006/07/files/hex.tar.gz">decimal->hex converter</a> I wrote, if you want to see a minimal PyObjC program</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://zovirl.com/2006/07/13/xcode-python-resources/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XCode &amp; Python Hints</title>
		<link>http://zovirl.com/2006/07/13/xcode-python-hints/</link>
		<comments>http://zovirl.com/2006/07/13/xcode-python-hints/#comments</comments>
		<pubDate>Thu, 13 Jul 2006 23:33:19 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://zovirl.com/2006/07/13/xcode-python-hints/</guid>
		<description><![CDATA[Here are a few hints about how I set up XCode for Python development.
Run your program from XCode
Some versions of PyObjC have a bug so when you make new projects, XCode doesn&#8217;t know how to run them.  Make a new custom executable &#038; point it build/Development/myProgram.app.
No, don&#8217;t quit!
Having the keyboard shortcut to quit XCode [...]]]></description>
			<content:encoded><![CDATA[<p>Here are a few hints about how I set up XCode for Python development.</p>
<h3>Run your program from XCode</h3>
<p>Some versions of PyObjC have a bug so when you make new projects, XCode doesn&#8217;t know how to run them.  Make a new custom executable &#038; point it build/Development/myProgram.app.</p>
<h3>No, don&#8217;t quit!</h3>
<p>Having the keyboard shortcut to quit XCode be the same shortcut as quitting your application (cmd-Q) is a recipe for annoyance when you accidently hit it twice.  Instead, go into XCode&#8217;s preferences and change the key binding to quit XCode to something like cmd-option-Q.</p>
<h3>Faster builds</h3>
<p>You can shave a second or two off the build-test-fix cycle if you set up a dummy &#8220;No Build&#8221; target.  The Development build target will run every time but behind the scenes it isn&#8217;t copying files, it is just making aliases (py2app&#8217;s &#8211;alias option).  Set up a new shell script target which runs /usr/bin/true and you can save the effort.</p>
<h3>You have no debugger, but at least use PDB</h3>
<p>If you set the USE_PDB environment variable, PyObjC will dump you at a PDB prompt when there is an unhandled exception.  You can set this on the &#8220;Arguments&#8221; tab of the custom executable.</p>
]]></content:encoded>
			<wfw:commentRss>http://zovirl.com/2006/07/13/xcode-python-hints/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XCode &amp; Python</title>
		<link>http://zovirl.com/2006/07/13/xcode-python/</link>
		<comments>http://zovirl.com/2006/07/13/xcode-python/#comments</comments>
		<pubDate>Thu, 13 Jul 2006 23:32:44 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://zovirl.com/2006/07/13/xcode-python/</guid>
		<description><![CDATA[Introduction

XCode is the IDE that Apple ships with OS X.  Although primarily targeted towards C++, Objective C, and Java it also plays well with Python.  It is excellent for writing OS X applications in Python thanks to good integration with Apple&#8217;s Interface Builder and py2app (the OS X distutils packager).


If you want to [...]]]></description>
			<content:encoded><![CDATA[<h3>Introduction</h3>
<p>
<a href="http://developer.apple.com/tools/xcode/">XCode</a> is the IDE that Apple ships with OS X.  Although primarily targeted towards C++, Objective C, and Java it also plays well with Python.  It is excellent for writing OS X applications in Python thanks to good integration with Apple&#8217;s Interface Builder and py2app (the OS X distutils packager).
</p>
<p>
If you want to write OSX applications using python, XCode is the tool you want.  This is thanks to solid integration with Apple&#8217;s <a href="http://developer.apple.com/cocoa/">Cocoa</a> application framework and <a href="http://developer.apple.com/tools/interfacebuilder.html">Interface Builder</a>.
</p>
<h3>Debugger</h3>
<p>
First, the bad news: no debugger.  XCode has a debugger but it doesn&#8217;t work with Python.  You&#8217;ll have to use another tool like <a href="http://docs.python.org/lib/module-pdb.html">PDB</a> instead.
</p>
<h3>Environment</h3>
<p><a href="http://zovirl.com/2006/07/xcode_pics/xcode.jpg"><img alt="xcode.jpg" src="http://zovirl.com/2006/07/xcode_pics/thumbs/xcode.jpg"/></a></p>
<p>
Except for the debugger, the rest of the environment is nice.  The UI feels like a proper OSX app, with all the standard keyboard shortcuts and controls, so you&#8217;ll feel right at home.
</p>
<p>
The UI is very flexible, and can accommodate a single fullscreen window or multiple separate windows for each file.
</p>
<h3>Editor</h3>
<p><a href="http://zovirl.com/2006/07/xcode_pics/editor.jpg"><img alt="editor.jpg" src="http://zovirl.com/2006/07/xcode_pics/thumbs/editor.jpg"/></a></p>
<p>
Standard features here.  Syntax highlighting, split panes, menus to jump straight to a class or function.  Content assist exists, but leaves something to be desired.  I have yet to see a content assist for python that is able to keep up with the dynamic nature of Python classes, however.
</p>
<h3>Source Control</h3>
<p><a href="http://zovirl.com/2006/07/xcode_pics/diff.jpg"><img alt="diff.jpg" src="http://zovirl.com/2006/07/xcode_pics/thumbs/diff.jpg"/></a></p>
<p>
XCode knows about Subversion, Perforce, and CVS.  File comparisons are done using Apple&#8217;s File Merge tool so you get nice side-by-side views.
</p>
<h3>Finding Stuff</h3>
<p>
&#8220;Find in Project&#8221; lets you search your entire project.  Bookmarks let you quickly jump to common sections of code
</p>
<h3>Making OSX Apps</h3>
<p>
XCode is a <b>great</b> environment for <a href="http://developer.apple.com/cocoa/">Cocoa</a> development.  <a href="http://pyobjc.sourceforge.net/">PyObjC</a> provides the Cocoa bindings for Python, and once it is installed XCode knows how to make a new Python project.  The distutils setup.py script is handled for you and you can create your .app bundle by clicking Build
</p>
<p><a href="http://zovirl.com/2006/07/xcode_pics/newproject.jpg"><img alt="newproject.jpg" src="http://zovirl.com/2006/07/xcode_pics/thumbs/newproject.jpg"/></a></p>
<h3>Drag-and-Drop your interface&#8230;</h3>
<p><a href="http://zovirl.com/2006/07/xcode_pics/guides.jpg"><img alt="guides.jpg" src="http://zovirl.com/2006/07/xcode_pics/thumbs/guides.jpg"/></a></p>
<p>
Interface Builder lets you set up your widgets.  Helpful guides pop up to help you position your widgets according to the Aqua guidelines.
</p>
<h3>&#8230;and then Drag-and-Connect your buttons</h3>
<p><a href="http://zovirl.com/2006/07/xcode_pics/buttons.jpg"><img alt="buttons.jpg" src="http://zovirl.com/2006/07/xcode_pics/thumbs/buttons.jpg"/></a></p>
<p>
Hooking up buttons to actions in your Python objects is just a matter of ctrl-dragging from the button to the object.
</p>
<h3>Conclusion</h3>
<p>
If you want a Python IDE for your Mac, XCode is a good choice.  If you also want to develop OSX applications in Python, XCode is a <i>very</i> good choice.</p>
]]></content:encoded>
			<wfw:commentRss>http://zovirl.com/2006/07/13/xcode-python/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
