<?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>Tomorrow Evening &#187; Tutorial</title>
	<atom:link href="http://blog.tomorrowevening.com/tag/tut/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.tomorrowevening.com</link>
	<description>Digitally Driven</description>
	<lastBuildDate>Fri, 16 Jul 2010 06:33:48 +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>Xcode 3.2.3 Problems and Solutions</title>
		<link>http://blog.tomorrowevening.com/xcode/xcode-3-2-3-problems-and-solutions/</link>
		<comments>http://blog.tomorrowevening.com/xcode/xcode-3-2-3-problems-and-solutions/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 23:04:53 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[Xcode]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://blog.tomorrowevening.com/?p=270</guid>
		<description><![CDATA[Upgrading to Xcode 3.2.3 can give you a few problems at first, but here's how I've found out how to fix those issues. Problem Immediately when opening older files you're going to get a "Missing Base SDK" error. Solution Under the Groups &#38; Files panel, you'll see a group called Targets. Expand the Targets group [...]]]></description>
			<content:encoded><![CDATA[<p>Upgrading to Xcode 3.2.3 can give you a few problems at first, but here's how I've found out how to fix those issues.<br />
<span id="more-270"></span><br />
<strong>Problem</strong><br />
Immediately when opening older files you're going to get a "<strong>Missing Base SDK</strong>" error.</p>
<p><strong>Solution</strong><br />
Under the <strong>Groups &amp; Files</strong> panel, you'll see a group called <strong>Targets</strong>. Expand the Targets group and double click on your project name.<br />
Make sure you're in the <strong>Build panel</strong>.<br />
Under <strong>Architectures</strong>, change the <strong>Base SDK</strong> to iPhone Device 3.2 or above.</p>
<p><strong>Problem</strong><br />
OpenFrameworks iPhone projects won't compile, most common issue is a <strong>DWARF</strong> issue.</p>
<p><strong>Solution</strong><br />
1. Download the mac version of OF.<br />
2. In the mac version, navigate to libs/FreeImage/lib/osx/<br />
3. Copy the file "freeimage.a" to libs/FreeImage/lib/iPhone<br />
4. In the iPhone version, rename "libFreeImage_iphone_universal.a" to "libFreeImage_iphone_universal_iphone.a"<br />
5. Rename "freeimage.a" to "libFreeImage_iphone_universal.a"</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tomorrowevening.com/xcode/xcode-3-2-3-problems-and-solutions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ANT and Flex</title>
		<link>http://blog.tomorrowevening.com/flex/ant-and-flex/</link>
		<comments>http://blog.tomorrowevening.com/flex/ant-and-flex/#comments</comments>
		<pubDate>Tue, 04 May 2010 17:01:44 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://blog.tomorrowevening.com/?p=244</guid>
		<description><![CDATA[While writing my framework about 6 months ago, I wanted to create ASDocs for it so anyone using the framework would know how to work with it. I also love the idea of compiling all the source into a SWC file to make sending that source very easy to do. It's a very cumbersome process [...]]]></description>
			<content:encoded><![CDATA[<p>While writing my framework about 6 months ago, I wanted to create ASDocs for it so anyone using the framework would know how to work with it. I also love the idea of compiling all the source into a SWC file to make sending that source very easy to do. It's a very cumbersome process to create ASDocs and compile to a SWC through the executable files by itself, and upon research discovered <a href="http://ant.apache.org/" target="_blank">ANT</a>.<br />
<span id="more-244"></span> For those who don't know, ANT can be seen as the middle man between you and sending commands to a Java build tool.  From there, you send ANT an XML file of the commands to run to the appropriate Java file. Sound easy? Heck ya it is.<br />
I use Flex, however you can install ANT with any Eclipse based IDE. Please note, the majority of my build.xml is a combination of source I've found on multiple blogs, this post is the verdict of what I've learned with what I've found.<br />
First, let's create out XML document. Title it "build.xml". The "project name" is the name reference you'll see in the ant window.</p>
<pre class="xml">&nbsp;
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;project</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;SWC and ASDoc Build&quot;</span> <span style="color: #000066;">default</span>=<span style="color: #ff0000;">&quot;main&quot;</span> <span style="font-weight: bold; color: black;">&gt;</span></span></pre>
<p>Second, we want to create variables within the script so it makes referencing files and folders easier.</p>
<pre class="xml"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- CREATE THE VARS --&gt;</span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;FLEX_HOME&quot;</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;/Applications/Adobe Flex Builder 3/sdks/4.0.0&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;asdoc.exe&quot;</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;${FLEX_HOME}/bin/asdoc&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;project.path&quot;</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;/Users/Duffy/Desktop/Projects/Clients/INC/Framework&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;output&quot;</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;${project.path}/local&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;src&quot;</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;${project.path}/src&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;version&quot;</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
&nbsp;
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;taskdef</span> <span style="color: #000066;">resource</span>=<span style="color: #ff0000;">&quot;flexTasks.tasks&quot;</span> <span style="color: #000066;">classpath</span>=<span style="color: #ff0000;">&quot;${FLEX_HOME}/ant/lib/flexTasks.jar&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
&nbsp;
<span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- SWC Related --&gt;</span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;output.swc&quot;</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;${output}/swc&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;swc.title&quot;</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;duff&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
&nbsp;
<span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- AS DOC Related --&gt;</span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;output.docs&quot;</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;${output}/asdocs&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;doc.title&quot;</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;Duff API v.${version}&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
&nbsp;</pre>
<p>Here you'll see I'm referencing where the .exe ("asdoc.exe") and .jar ("flexTasks.tasks") files exist on my machine so ant knows how to use the compiler. I also reference where my project is located, as well as the source folder ("src") and output folders("output.swc" and "output.docs").</p>
<p><strong>Note</strong><br />
I have periods delimit spaces with my variables with ANT, however you can name them however you want: "outputSWC", "output.swc", "output-swc" as examples.</p>
<p>Next, I'm going to tell ANT what functions it'll need to run. First and foremost, I want ANT to not "think" about overwriting files, so I'll delete a directory, then recreate it to save it the trouble. After that's done, I'll have it create the docs and the swc.</p>
<pre class="xml">&nbsp;
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;target</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;main&quot;</span> <span style="color: #000066;">depends</span>=<span style="color: #ff0000;">&quot;clean-asdoc-directory, create-docs, clean-swc-directory, generate-swc&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
&nbsp;
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;target</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;clean-asdoc-directory&quot;</span> <span style="font-weight: bold; color: black;">&gt;</span></span>
   <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;delete</span> <span style="color: #000066;">dir</span>=<span style="color: #ff0000;">&quot;${output.swc}&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
   <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;mkdir</span>  <span style="color: #000066;">dir</span>=<span style="color: #ff0000;">&quot;${output.swc}&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/target<span style="font-weight: bold; color: black;">&gt;</span></span></span>
&nbsp;
<span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- runs the asdoc.exe compiler on the source --&gt;</span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;target</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;create-docs&quot;</span> <span style="font-weight: bold; color: black;">&gt;</span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;exec</span> <span style="color: #000066;">executable</span>=<span style="color: #ff0000;">&quot;${asdoc.exe}&quot;</span> <span style="color: #000066;">failonerror</span>=<span style="color: #ff0000;">&quot;true&quot;</span> <span style="font-weight: bold; color: black;">&gt;</span></span>
    	<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;arg</span> <span style="color: #000066;">line</span>=<span style="color: #ff0000;">&quot;-doc-sources '${src}'&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
    	<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;arg</span> <span style="color: #000066;">line</span>=<span style="color: #ff0000;">'-window-title &quot;${doc.title}&quot;'</span><span style="font-weight: bold; color: black;">/&gt;</span></span>
    	<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;arg</span> <span style="color: #000066;">line</span>=<span style="color: #ff0000;">&quot;-main-title '${doc.title}'&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
    	<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;arg</span> <span style="color: #000066;">line</span>=<span style="color: #ff0000;">&quot;-output ${output.docs}&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/exec<span style="font-weight: bold; color: black;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;echo<span style="font-weight: bold; color: black;">&gt;</span></span></span>ASDOC created successfully<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/echo<span style="font-weight: bold; color: black;">&gt;</span></span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/target<span style="font-weight: bold; color: black;">&gt;</span></span></span></pre>
<p>The first function is "clean-asdoc-directory", which deletes the directory then recreates it. We'll use the same functionality for compiling the SWC.  Next, we have it create the documentation by running our ASDoc executable file. Each "arg line" is an argument that's sent to the executable so it receives the required variables. As you can see about, I have many "${}" lines, which are references to the "property" (aka variables) we created above. We also want the executable build to fail if there's any problems at all.</p>
<p>Now, let's compile that swc.</p>
<pre class="xml"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- deletes and recreates the swc directory --&gt;</span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;target</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;clean-swc-directory&quot;</span> <span style="font-weight: bold; color: black;">&gt;</span></span>
   <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;delete</span> <span style="color: #000066;">dir</span>=<span style="color: #ff0000;">&quot;${output.swc}&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
   <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;mkdir</span>  <span style="color: #000066;">dir</span>=<span style="color: #ff0000;">&quot;${output.swc}&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/target<span style="font-weight: bold; color: black;">&gt;</span></span></span>
&nbsp;
<span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- generate the swc --&gt;</span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;target</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;generate-swc&quot;</span> <span style="color: #000066;">description</span>=<span style="color: #ff0000;">&quot;Compile the SWC file&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>
&nbsp;
	<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;fileset</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;sources&quot;</span> <span style="color: #000066;">dir</span>=<span style="color: #ff0000;">&quot;${src}&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>
		<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;include</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;**/*.as&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
	<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/fileset<span style="font-weight: bold; color: black;">&gt;</span></span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;pathconvert</span> <span style="color: #000066;">property</span>=<span style="color: #ff0000;">&quot;classes&quot;</span> <span style="color: #000066;">pathsep</span>=<span style="color: #ff0000;">&quot; &quot;</span> <span style="color: #000066;">refid</span>=<span style="color: #ff0000;">&quot;sources&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>
		<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;chainedmapper<span style="font-weight: bold; color: black;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;globmapper</span> <span style="color: #000066;">from</span>=<span style="color: #ff0000;">&quot;${src}/*&quot;</span> <span style="color: #000066;">to</span>=<span style="color: #ff0000;">&quot;*&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;mapper</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;package&quot;</span> <span style="color: #000066;">from</span>=<span style="color: #ff0000;">&quot;*.as&quot;</span> <span style="color: #000066;">to</span>=<span style="color: #ff0000;">&quot;*&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
		<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/chainedmapper<span style="font-weight: bold; color: black;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/pathconvert<span style="font-weight: bold; color: black;">&gt;</span></span></span>
&nbsp;
	<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;compc</span> <span style="color: #000066;">output</span>=<span style="color: #ff0000;">&quot;${output.swc}/${swc.title}.${version}.swc&quot;</span> <span style="color: #000066;">include-classes</span>=<span style="color: #ff0000;">&quot;${classes}&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>
		<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;source-path</span> <span style="color: #000066;">path-element</span>=<span style="color: #ff0000;">&quot;${src}&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
	<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/compc<span style="font-weight: bold; color: black;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;echo<span style="font-weight: bold; color: black;">&gt;</span></span></span>SWC created successfully<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/echo<span style="font-weight: bold; color: black;">&gt;</span></span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/target<span style="font-weight: bold; color: black;">&gt;</span></span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/project<span style="font-weight: bold; color: black;">&gt;</span></span></span></pre>
<p>The beauty about this "generate-swc" method is that it compiles all .as files within your "src" directory, whereas normally you would either have to manually input each class or each package.<br />
You can <a href="http://blog.tomorrowevening.com/content/2010/05/build.zip">download the final result here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tomorrowevening.com/flex/ant-and-flex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Error proofing SWFAddress</title>
		<link>http://blog.tomorrowevening.com/fla/error-proofing-swfaddress/</link>
		<comments>http://blog.tomorrowevening.com/fla/error-proofing-swfaddress/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 00:22:41 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://blog.tomorrowevening.com/?p=217</guid>
		<description><![CDATA[SWFAddress is a great library which all flash sites should incorporate. However, giving the user control of changing the URL address can break your site. Because many flash websites don't check for this, the user is often left not viewing content. I created a utility class to do the following: Navigate a website based off [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.asual.com/swfaddress/">SWFAddress</a> is a great library which all flash sites should incorporate.  However, giving the user control of changing the URL address can break your site. Because many flash websites don't check for this, the user is often left not viewing content.<br />
I created a utility class to do the following:</p>
<ul>
<li>Navigate a website based off valid deeplink possibilities.</li>
<li>Enable multiple URL values for a single page.</li>
<li>Check for valid URL requests, then act accordingly.</li>
<li>Set a default homepage so the website doesn't redirect you to a "/#/homepage".</li>
</ul>
<p>The last item in that list has become a pet peeve of mine. In my opinion, a website shouldn't auto-direct you to a "yoursite.com/#/home". It should keep the homepage URL until there's user interaction (such as clicking a link).</p>
<p><a href="http://blog.tomorrowevening.com/content/2010/03/ExampleSite.zip">Source</a> - <a href="http://blog.tomorrowevening.com/content/2010/03/ExampleSite/">Online Example</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tomorrowevening.com/fla/error-proofing-swfaddress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>xCode practices between multiple developers</title>
		<link>http://blog.tomorrowevening.com/iphone/xcode-practices/</link>
		<comments>http://blog.tomorrowevening.com/iphone/xcode-practices/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 18:26:20 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[objectivec]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://blog.tomorrowevening.com/?p=172</guid>
		<description><![CDATA[For the past month or so I've been involved with creating 2 iPhone applications at work. I was the sole developer on the first but worked with one other developer on the latter. Seeing as this was our first experiences with xCode and Objective C, there's a few good techniques I'd like to note when [...]]]></description>
			<content:encoded><![CDATA[<p>For the past month or so I've been involved with creating 2 iPhone applications at work. I was the sole developer on the first but worked with one other developer on the latter.  Seeing as this was our first experiences with xCode and Objective C, there's a few good techniques I'd like to note when it comes to organization.<br />
<span id="more-172"></span><br />
First off, when organizing your classes/images/audio/etc files, it's always great to create "Groups" in your xCode's "Groups &amp; Files" panel. When you create your project, you'll notice how the parent folders of your application's name is organized into 5 groups: Classes, Other Sources, Resources, Frameworks, and Products. It's great to keep adding groups as parents of these folders to organize those files.</p>
<p>Changing your files' "Path Type" is also imperative in synchronizing files between multiple developers/computers. To get to the Path Type, right-click (ctrl+click) your file(s) and hit 'Get Info'.<br />
Under the General tab of the pop-up you'll see your Path Type. xCode defaults files to being "Relative to Enclosing Group".<br />
<img src="http://blog.tomorrowevening.com/content/2010/01/before.jpg" alt="" title="before" width="396" height="599" class="alignnone size-full wp-image-173" /></p>
<p>If you're going to organize your files into folders in Finder and then add them into xCode without checking "Copy items into designation group's folder (if needed)", it's imperative to change the Path Type to "Relative to Project". You'll notice the Path under your files' Name will change.<br />
<img src="http://blog.tomorrowevening.com/content/2010/01/after.jpg" alt="" title="after" width="396" height="599" class="alignnone size-full wp-image-174" /></p>
<p>Example: Adding a Default.png image to the application. The image exists in my "Application's folder/images" folder.<br />
Name: Default.png<br />
Path: images/Default.png</p>
<p>This changes the application's start up image so that it doesn't need to be in the same folder as your .xcodeproj file.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tomorrowevening.com/iphone/xcode-practices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weather</title>
		<link>http://blog.tomorrowevening.com/fla/weather/</link>
		<comments>http://blog.tomorrowevening.com/fla/weather/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 16:53:19 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://blog.tomorrowevening.com/?p=75</guid>
		<description><![CDATA[If you haven't noticed where the web is going, everything is all about the now. With Twitter, Facebook, MySpace (anyone still use myspace anymore?), blogging, and others, the web is directing itself more towards small statements to announce what you're doing now. A thing that's nice to display on your website (or you may even [...]]]></description>
			<content:encoded><![CDATA[<p>If you haven't noticed where the web is going, everything is all about the now.  With <a href="http://www.twitter.com/" target="_blank">Twitter</a>, <a href="http://www.facebook.com/" target="_blank">Facebook</a>, <a href="http://www.myspace.com/" target="_blank">MySpace</a> (anyone still use myspace anymore?), blogging, and others, the web is directing itself more towards small statements to announce what you're doing now.  A thing that's nice to display on your website (or you may even need for a client) is to display the weather.<br />
<span id="more-75"></span><br />
<a href="http://developer.yahoo.com/flash/astra-webapis/" target="_blank">Yahoo Web API</a>'s have some nice classes, including a handy class that deals with weather.  Here you can see a quick example I made to display the weather using Fahrenheit in your zip code.  The documentation that they give may be a bit confusing at first, but after 20 min or so of testing you'll see that this API is quite nice!</p>
<pre class="actionscript3"><span style="color: #b1b100;">package</span> <span style="color: #66cc66;">&#123;</span>
&nbsp;
<span style="color: #b1b100;">import</span> com.<span style="color: #006600;">yahoo</span>.<span style="color: #006600;">webapis</span>.<span style="color: #006600;">weather</span>.<span style="color: #006600;">CurrentConditions</span>;
<span style="color: #b1b100;">import</span> com.<span style="color: #006600;">yahoo</span>.<span style="color: #006600;">webapis</span>.<span style="color: #006600;">weather</span>.<span style="color: #006600;">Weather</span>;
<span style="color: #b1b100;">import</span> com.<span style="color: #006600;">yahoo</span>.<span style="color: #006600;">webapis</span>.<span style="color: #006600;">weather</span>.<span style="color: #006600;">WeatherService</span>;
<span style="color: #b1b100;">import</span> com.<span style="color: #006600;">yahoo</span>.<span style="color: #006600;">webapis</span>.<span style="color: #006600;">weather</span>.<span style="color: #006600;">events</span>.<span style="color: #b1b100;">*</span>;
&nbsp;
<span style="color: #b1b100;">import</span> <span style="color: #0066CC;">flash.<span style="color: #006600;">display</span></span>.<span style="color: #0066CC;">Sprite</span>;
&nbsp;
<span style="color: #b1b100;">public</span> <span style="color: #b1b100;">class</span> WeatherTest <span style="color: #b1b100;">extends</span> <span style="color: #0066CC;">Sprite</span>
<span style="color: #66cc66;">&#123;</span>
&nbsp;
<span style="color: #b1b100;">public</span> <span style="color: #b1b100;">var</span> ws:WeatherService;
&nbsp;
<span style="color: #b1b100;">public</span> <span style="color: #b1b100;">const</span> zip:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;ENTER YOUR ZIP HERE&quot;</span>;
 <span style="color: #b1b100;">public</span> <span style="color: #b1b100;">function</span> WeatherTest<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> : <span style="color: #b1b100;">void</span>
<span style="color: #66cc66;">&#123;</span>
&nbsp;
ws = new WeatherService <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
ws.<span style="color: #006600;">getWeather</span><span style="color: #66cc66;">&#40;</span>zip, <span style="color: #ff0000;">&quot;f&quot;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
ws.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>WeatherResultEvent.<span style="color: #006600;">WEATHER_LOADED</span>, weatherLoaded, <span style="color: #b1b100;">false</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #b1b100;">true</span><span style="color: #66cc66;">&#41;</span>;
ws.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>WeatherErrorEvent.<span style="color: #006600;">INVALID_LOCATION</span>, weatherError, <span style="color: #b1b100;">false</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #b1b100;">true</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #b1b100;">private</span> <span style="color: #b1b100;">function</span> weatherLoaded <span style="color: #66cc66;">&#40;</span>e:WeatherResultEvent<span style="color: #66cc66;">&#41;</span> : <span style="color: #b1b100;">void</span> <span style="color: #66cc66;">&#123;</span>
<span style="color: #0066CC;">trace</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;HUMIDITY: &quot;</span> + ws.<span style="color: #006600;">weather</span>.<span style="color: #006600;">current</span>.<span style="color: #006600;">atmosphere</span>.<span style="color: #006600;">humidity</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #0066CC;">trace</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;CODE: &quot;</span> + ws.<span style="color: #006600;">weather</span>.<span style="color: #006600;">current</span>.<span style="color: #006600;">code</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #0066CC;">trace</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;TEMPERATURE: &quot;</span> + ws.<span style="color: #006600;">weather</span>.<span style="color: #006600;">current</span>.<span style="color: #006600;">temperature</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #0066CC;">trace</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;WIND SPEED: &quot;</span> + ws.<span style="color: #006600;">weather</span>.<span style="color: #006600;">current</span>.<span style="color: #006600;">wind</span>.<span style="color: #006600;">speed</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #b1b100;">private</span> <span style="color: #b1b100;">function</span> weatherError <span style="color: #66cc66;">&#40;</span>e:WeatherErrorEvent<span style="color: #66cc66;">&#41;</span> : <span style="color: #b1b100;">void</span> <span style="color: #66cc66;">&#123;</span> <span style="color: #0066CC;">trace</span> <span style="color: #66cc66;">&#40;</span>e.<span style="color: #0066CC;">toString</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.tomorrowevening.com/fla/weather/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
