<?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>iOS Developer Tips Blog &#187; Tools</title>
	<atom:link href="http://iPhoneDeveloperTips.com/category/tools/feed" rel="self" type="application/rss+xml" />
	<link>http://iPhoneDeveloperTips.com</link>
	<description>iOS Developer Tips, Tricks and Tutorials.</description>
	<lastBuildDate>Mon, 30 Jan 2012 07:09:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Sensible TableView</title>
		<link>http://iPhoneDeveloperTips.com/tools/sensible-tableview.html</link>
		<comments>http://iPhoneDeveloperTips.com/tools/sensible-tableview.html#comments</comments>
		<pubDate>Tue, 27 Sep 2011 07:30:50 +0000</pubDate>
		<dc:creator>John Muchow</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://iPhoneDeveloperTips.com/?p=10107</guid>
		<description><![CDATA[I recently had an opportunity to spend some time working with Sensible Tableview, a product from SensibleCocoa.com. To get a feel for how the product works, there is an excellent Introduction Video that walks you through the basics of getting started. Let me take you through a few of the first steps in the video [...]]]></description>
			<content:encoded><![CDATA[<p>I recently had an opportunity to spend some time working with <a href="http://sensiblecocoa.com/features.html" target="_blank">Sensible Tableview</a>, a product from <a href="http://sensiblecocoa.com/" target="_blank">SensibleCocoa.com</a>. </p>
<p>To get a feel for how the product works, there is an excellent <a href="I'd like to welcome a new sponsor of iOS Developer Tips, SensibleCocoa.com and their product Sensible TableView.   " target="_blank">Introduction Video</a> that walks you through the basics of getting started. </p>
<p>Let me take you through a few of the first steps in the video to give you a feel for Sensible TableView. The introduction begins by creating a simple grouped table and adding four cells, a textfield, slider, switch and a selection list. The code follows:<br />
<span id="more-10107"></span></p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #400080;">NSArray</span> <span style="color: #002200;">*</span>selectionItems <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #400080;">NSArray</span> arrayWithObjects<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Song 1&quot;</span>, <span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Song 2&quot;</span>, <span style="color: #a61390;">nil</span><span style="color: #002200;">&#93;</span>;
&nbsp;
scTableView <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>SCTableViewModel alloc<span style="color: #002200;">&#93;</span> initWithTableView<span style="color: #002200;">:</span>self.tableView withViewController<span style="color: #002200;">:</span>self<span style="color: #002200;">&#93;</span>;
&nbsp;
SCTableViewSection <span style="color: #002200;">*</span>section <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>SCTableViewSection sectionWithHeaderTitle<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Music Profile&quot;</span><span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#91;</span>scTableView addSection<span style="color: #002200;">:</span>section<span style="color: #002200;">&#93;</span>;
&nbsp;
<span style="color: #002200;">&#91;</span>section addCell<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span>SCTextFieldCell cellWithText<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Name&quot;</span><span style="color: #002200;">&#93;</span><span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#91;</span>section addCell<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span>SCSliderCell cellWithText<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Volume Level&quot;</span><span style="color: #002200;">&#93;</span><span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#91;</span>section addCell<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span>SCSwitchCell cellWithText<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Sharing Enabled&quot;</span><span style="color: #002200;">&#93;</span><span style="color: #002200;">&#93;</span>;
&nbsp;
SCSelectionCell <span style="color: #002200;">*</span>selectionCell <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>SCSelectionCell cellWithText<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Favorite Song&quot;</span><span style="color: #002200;">&#93;</span>;
selectionCell.items <span style="color: #002200;">=</span> selectionItems;
<span style="color: #002200;">&#91;</span>section addCell<span style="color: #002200;">:</span>selectionCell<span style="color: #002200;">&#93;</span>;</pre></div></div>

<p>The tableview is shown in the figure below:</p>
<p><img src="http://iPhoneDeveloperTips.com/wp-content/uploads/2011/09/sensible1.gif" alt="" title="sensible1" width="319" height="293" class="alignnone size-full wp-image-10112" /></p>
<p>If you&#8217;ve worked with a tableview, delegates and creating custom cells, you can appreciate all the functionality provided in about 10 lines of code.</p>
<h5>Detect Table Cell Changes</h5>
<p>Let&#8217;s look at how to bind cells to instance variables in an object. The example shown in the video uses a class that looks as follows:</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #a61390;">@interface</span> Task <span style="color: #002200;">:</span> <span style="color: #400080;">NSObject</span> 
<span style="color: #002200;">&#123;</span>
  <span style="color: #400080;">NSString</span>	<span style="color: #002200;">*</span>name;
  <span style="color: #400080;">NSString</span>	<span style="color: #002200;">*</span>description;
  <span style="color: #400080;">NSDate</span>		<span style="color: #002200;">*</span>dueDate;
  <span style="color: #400080;">NSNumber</span>	<span style="color: #002200;">*</span>active;
  <span style="color: #400080;">NSNumber</span>	<span style="color: #002200;">*</span>priority;
  <span style="color: #400080;">NSNumber</span>	<span style="color: #002200;">*</span>categoryIndex;
  <span style="color: #400080;">NSMutableArray</span> <span style="color: #002200;">*</span>steps;
<span style="color: #002200;">&#125;</span></pre></div></div>

<p>The code to bind a <strong>Task</strong> object variables to fields in a table view is below, notice the reference to <strong>withBoundObject</strong>:</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #400080;">NSArray</span> <span style="color: #002200;">*</span>selectionItems <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #400080;">NSArray</span> arrayWithObjects<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Office&quot;</span>, <span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Home&quot;</span>, <span style="color: #a61390;">nil</span><span style="color: #002200;">&#93;</span>;
taskObject <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>Task alloc<span style="color: #002200;">&#93;</span> init<span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#91;</span>taskObject setName<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Task&quot;</span><span style="color: #002200;">&#93;</span>;
&nbsp;
scTableView <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>SCTableViewModel alloc<span style="color: #002200;">&#93;</span> initWithTableView<span style="color: #002200;">:</span>self.tableView withViewController<span style="color: #002200;">:</span>self<span style="color: #002200;">&#93;</span>;
&nbsp;
SCTableViewSection <span style="color: #002200;">*</span>section <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>SCTableViewSection sectionWithHeaderTitle<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Music Profile&quot;</span><span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#91;</span>scTableView addSection<span style="color: #002200;">:</span>section<span style="color: #002200;">&#93;</span>;
&nbsp;
<span style="color: #002200;">&#91;</span>section addCell<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span>SCTextFieldCell cellWithText<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Name&quot;</span> withPlaceholder<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Enter name&quot;</span> withBoundObject<span style="color: #002200;">:</span>taskObject  withTextFieldTextPropertyName<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;name&quot;</span><span style="color: #002200;">&#93;</span><span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#91;</span>section addCell<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span>SCTextViewCell cellWithText<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Description&quot;</span> withBoundObject<span style="color: #002200;">:</span>taskObject withTextViewTextPropertyName<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;description&quot;</span><span style="color: #002200;">&#93;</span><span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#91;</span>section addCell<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span>SCDateCell cellWithText<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Due Date&quot;</span> withBoundObject<span style="color: #002200;">:</span>taskObject withDatePropertyName<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;dueDate&quot;</span><span style="color: #002200;">&#93;</span><span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#91;</span>section addCell<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span>SCSwitchCell cellWithText<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Active&quot;</span> withBoundObject<span style="color: #002200;">:</span>taskObject withSwitchOnPropertyName<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;active&quot;</span><span style="color: #002200;">&#93;</span><span style="color: #002200;">&#93;</span>;
SCSliderCell <span style="color: #002200;">*</span>priorityCell <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>SCSliderCell cellWithText<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Priority&quot;</span> withBoundObject<span style="color: #002200;">:</span>taskObject withSliderValuePropertyName<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;priority&quot;</span><span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#91;</span>section addCell<span style="color: #002200;">:</span>priorityCell<span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#91;</span>section addCell<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span>SCSelectionCell cellWithText<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Category&quot;</span> withBoundObject<span style="color: #002200;">:</span>taskObject 
               withSelectedIndexesPropertyName<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;categoryIndex&quot;</span> withItems<span style="color: #002200;">:</span>selectionItems allowMultipleSelection<span style="color: #002200;">:</span><span style="color: #a61390;">NO</span><span style="color: #002200;">&#93;</span><span style="color: #002200;">&#93;</span>;</pre></div></div>

<p>With the bound object, you can now watch the values of each table row change in the debugging console, all that is required is to add a delegate method to the current class and implement a method to be called when table data changes.</p>
<p>The method called upon changing table cells is shown below:</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span> tableViewModel<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>SCTableViewModel <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span> tableViewModel valueChangedForRowAtIndexPath<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSIndexPath</span> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>indexPath
<span style="color: #002200;">&#123;</span>
  <span style="color: #002200;">&#91;</span>taskObject logTask<span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#125;</span></pre></div></div>

<p>And inside the task class, the log function is equally as short:</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span>logTask
<span style="color: #002200;">&#123;</span>
  NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;<span style="color: #2400d9;">\n</span><span style="color: #2400d9;">\n</span>name:%@, description:%@, dueDate:%@, active:%@, priority:%@, categoryIndex:%@&quot;</span>,
        name, description, dueDate, active, priority, categoryIndex<span style="color: #002200;">&#41;</span>;
<span style="color: #002200;">&#125;</span></pre></div></div>

<p>The figure below shows the current application and the table fields listed above:</p>
<p><img src="http://iPhoneDeveloperTips.com/wp-content/uploads/2011/09/sensible2.gif" alt="" title="sensible2" width="200" height="298" class="alignnone size-full wp-image-10113" /></p>
<p>Below is the Due Date field, followed by the output shown in the console when the content of the Due Date field changes:</p>
<p><img src="http://iPhoneDeveloperTips.com/wp-content/uploads/2011/09/sensible3.gif" alt="" title="sensible3" width="200" height="299" class="alignnone size-full wp-image-10125" /></p>
<p></br></p>
<p><img src="http://iPhoneDeveloperTips.com/wp-content/uploads/2011/09/sensible4.gif" alt="" title="sensible4" width="537" height="137" class="alignnone size-full wp-image-10126" /></p>
<h5>Other Features</h5>
<p>The examples above should give you an idea of how quickly you can get things working with Sensible TableView, with minimal coding. There are a range of features to simplify your life when working with tables, a few highlights are listed below:</p>
<p>- Custom and predefined cell validation<br />
- Support for Core Data (check out the Core Data video)<br />
- Create custom cells from within Interface Builder<br />
- iOS 5.0 suport including automatic reference counting<br />
- Full source code</p>
<h5>Take a Closer Look</h5>
<p>One of the best ways to see Sensible TableView in action is check out the video tutorials:</p>
<p><a href="http://sensiblecocoa.com/video-tutorials.html" target="_blank">Sensible Tableview Video Tutorials</a></p>
<p>If you work with anything beyond the simplest of tableviews, you owe it to yourself to take a closer look.</p>
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><!-- Do not remove -->]]></content:encoded>
			<wfw:commentRss>http://iPhoneDeveloperTips.com/tools/sensible-tableview.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>mobile[foo] Sliding Navigation Controller</title>
		<link>http://iPhoneDeveloperTips.com/tools/mobilefoo-sliding-navigation-controller.html</link>
		<comments>http://iPhoneDeveloperTips.com/tools/mobilefoo-sliding-navigation-controller.html#comments</comments>
		<pubDate>Thu, 09 Jun 2011 07:04:46 +0000</pubDate>
		<dc:creator>John Muchow</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://iPhoneDeveloperTips.com/?p=8628</guid>
		<description><![CDATA[mobile[foo] just released a new Sliding Navigation Controller for iOS developers. This unique controller delivers a Twitter-like sliding pane interface for the iPad. The controller works much like UINavigationController. It manages a stack of panes/subviews each with their own controller, animation support in integrated into the transitions. Sliding Controller Highlights • Twitter like sliding pane [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mobilefoo.com/" target="_blank">mobile[foo]</a> just released a new <a href="http://iPhoneDeveloperTips.com?wp_ct=40" target="_blank">Sliding Navigation Controller</a> for iOS developers. This unique controller delivers a Twitter-like sliding pane interface for the iPad.</p>
<p>The controller works much like <strong>UINavigationController</strong>. It manages a stack of panes/subviews each with their own controller, animation support in integrated into the transitions.<br />
<span id="more-8628"></span></p>
<p><img class="alignleft" style="margin: 3px;" src="http://iPhoneDeveloperTips.com/wp-content/uploads/2011/06/mobileFooSlider.png" alt="" width="200" height="167" /></p>
<h5>Sliding Controller Highlights</h5>
<p>• Twitter like sliding pane for the iPad<br />
• Supports unlimited levels of content<br />
• Can be skinned as you like<br />
• Supports portrait and landscape orientation</p>
<h5>All for Just $40</h5>
<p>Pay once and use the Sliding Navigaton Controller in as many apps as you want, for as many customers as you like!</p>
<p>And of course, you are welcome to try the <a href="http://iPhoneDeveloperTips.com?wp_ct=40" target="_blank">Sliding Navigaton Controller</a> for free as mobile[foo] believes you should always have the opportunity to try before you buy!</p>
<h5>Sliding Navigation Controller Video</h5>
<p><object width="560" height="349"><param name="movie" value="http://www.youtube.com/v/-bs5nAG1skY?version=3&amp;hl=en_US" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed type="application/x-shockwave-flash" width="560" height="349" src="http://www.youtube.com/v/-bs5nAG1skY?version=3&amp;hl=en_US" allowfullscreen="true" allowscriptaccess="always"></embed></object></p>
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><!-- Do not remove -->]]></content:encoded>
			<wfw:commentRss>http://iPhoneDeveloperTips.com/tools/mobilefoo-sliding-navigation-controller.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>App Cooker iOS Mockup Editor</title>
		<link>http://iPhoneDeveloperTips.com/tools/app-cooker-ios-mockup-editor.html</link>
		<comments>http://iPhoneDeveloperTips.com/tools/app-cooker-ios-mockup-editor.html#comments</comments>
		<pubDate>Mon, 06 Jun 2011 13:18:59 +0000</pubDate>
		<dc:creator>John Muchow</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://iPhoneDeveloperTips.com/?p=8585</guid>
		<description><![CDATA[With the panache and precision of a Master Chef, Hot Apps Factory has whipped up an amazing iOS app planning and prototyping tool. App Cooker was released for iPad just a few days ago and has been getting a great reception. A year in the making, App Cooker was created to assist developers, designers and [...]]]></description>
			<content:encoded><![CDATA[<p>With the panache and precision of a Master Chef, <a href="http://www.hotappsfactory.com/" target="_blank">Hot Apps Factory</a> has whipped up an amazing iOS app planning and prototyping tool.</p>
<p><a  target="_blank"   href="http://www.appcooker.com/">App Cooker</a> was released for iPad just a few days ago and has been getting a great reception. A year in the making, App Cooker was created to assist developers, <a href="http://iPhoneDeveloperTips.com?wp_ct=39"><img style="float: left;"  src="http://iPhoneDeveloperTips.com/wp-content/uploads/2011/06/appcooker.png" title="App Cooker" alt="Style and success are just a click away" width="150" height="149" /></a>designers and all-round app enthusiasts through the complete process of masterminding, mapping out and mocking up new app ideas before any coding is started, a vital step that should never be skipped. It helps the user nail the concept, the design, the financials and everything in between using the professional tools provided.<br />
<span id="more-8585"></span></p>
<p>App Cooker is an exceptionally feature-rich app design software, yet, there&#8217;s even more to come. While current functionality is tweaked and improved App Cooker is available at a greatly discounted rate, <strong>currently over 50% off the future price</strong>! Feature updates will be fast and frequent with the price increasing slightly each time until the product reaches its full functionality.</p>
<p>The demo video on the App Cooker website gives a quick overview of this fantastic new tool for developers: <a href="http://iPhoneDeveloperTips.com?wp_ct=39" target="_blank">www.appcooker.com</a></p>
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><!-- Do not remove -->]]></content:encoded>
			<wfw:commentRss>http://iPhoneDeveloperTips.com/tools/app-cooker-ios-mockup-editor.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Capture iPhone Simulator Screenshots &#8211; Revisited &#8211; iPhone Simulator Cropper</title>
		<link>http://iPhoneDeveloperTips.com/tools/capture-screenshots-of-the-iphone-simulator-with-iphone-simulator-cropper.html</link>
		<comments>http://iPhoneDeveloperTips.com/tools/capture-screenshots-of-the-iphone-simulator-with-iphone-simulator-cropper.html#comments</comments>
		<pubDate>Wed, 28 Jul 2010 07:04:13 +0000</pubDate>
		<dc:creator>John Muchow</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://iPhoneDeveloperTips.com/?p=6775</guid>
		<description><![CDATA[A colleague on a recent iPhone project was looking for a tool to capture a series of screenshots for an upcoming application demo. In a Google search he first bumped into a post I wrote back in February of 2009: Capture iPhone Simulator Screenshots – Open Source Screen Capture Tool, a nice Mac tool for [...]]]></description>
			<content:encoded><![CDATA[<p>A colleague on a recent iPhone project was looking for a tool to capture a series of screenshots for an upcoming application demo. In a Google search he first bumped into a post I wrote back in February of 2009: <a href="http://iphonedevelopertips.com/general/open-source-screen-capture-tool.html">Capture iPhone Simulator Screenshots – Open Source Screen Capture Tool</a>, a nice Mac tool for taking screenshots. As luck would have it, he also found another screen capture tool, one focused solely on iPhone screenshots: <a  target="_blank"   href="http://www.curioustimes.de/iphonesimulatorcropper/">iPhone-Simulator Cropper</a>.<br />
<span id="more-6775"></span></p>
<h5>iPhone-Simulator Cropper</h5>
<p>This tool works by capturing the screen of the simulator runnning on your system. One really slick feature is the option to create captured images in two primary formats &#8211; first, a format suitable for upload to iTunes for your application screenshots &#8211; second, capturing a screenshot that is suitable for display on a website.</p>
<p>The following images show the iPhone-Simulator Cropper application, as well as two sample images captured:</p>
<p><img src="http://iPhoneDeveloperTips.com/wp-content/uploads/2010/07/cropper0.jpg" /></p>
<p>iTunes Connect / App Store:</p>
<p><img src="http://iPhoneDeveloperTips.com/wp-content/uploads/2010/07/cropper1.jpg" /></p>
<p>Website (iPhone Device from Apple Marketing):</p>
<p><img src="http://iPhoneDeveloperTips.com/wp-content/uploads/2010/07/cropper2.jpg" /></p>
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><!-- Do not remove -->]]></content:encoded>
			<wfw:commentRss>http://iPhoneDeveloperTips.com/tools/capture-screenshots-of-the-iphone-simulator-with-iphone-simulator-cropper.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Vimov and iSimulate &#8211; iPhone Developer Tool</title>
		<link>http://iPhoneDeveloperTips.com/tools/vimov-and-isimulate.html</link>
		<comments>http://iPhoneDeveloperTips.com/tools/vimov-and-isimulate.html#comments</comments>
		<pubDate>Fri, 23 Oct 2009 07:08:28 +0000</pubDate>
		<dc:creator>John Muchow</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://iPhoneDeveloperTips.com/?p=4346</guid>
		<description><![CDATA[I&#8217;m happy to announce a new sponsor of iPhone Developer Tips, vimov, the company behind an excellent developer tool, iSimulate. In a previous post I wrote about my experience using iSimulate in an iPhone project I was working on at that time: Testing Multi-Touch, Accelerometer and GPS using the Xcode Simulator. In addition iPhone Developer [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m happy to announce a new sponsor of iPhone Developer Tips, <a href="http://www.vimov.com/" target="_blank">vimov</a>, the company behind an excellent developer tool, <a href="http://iphonedevelopertips.com/?wp_ct=15">iSimulate</a>.</p>
<p>In a previous post I wrote about my experience using iSimulate in an iPhone project I was working on at that time: <a href=" http://iphonedevelopertips.com/tools/isimulate-testing-multi-touch-events-accelerometer-movements-using-xcode-simulator.html" target="_blank">Testing Multi-Touch, Accelerometer and GPS using the Xcode Simulator</a>. In addition iPhone Developer Tips hosted a  contest for a free copy of iSimulate: <a href="http://iphonedevelopertips.com/giveaway/isimulate-giveaway-we-have-a-winner.html" target="_blank">iSimulate Giveaway</a>.</p>
<p>In a nutshell, iSimulate is an iPhone application that sends multi-touch events, accelerometer data and GPS location information to the iPhone Simulator wirelessly, which is very handy, as the Xcode simulator does not offer such support to exercise your code.</p>
<p><a href="http://iphonedevelopertips.com/?wp_ct=15"><img border="0" class="alignleft" style="margin: 5px;" src="http://iphonedevelopertips.com/images/ads/isimulate125x125.png" alt="iSimulate" width="125" height="125" /></a>The latest release of iSimulate, includes support for streaming your application as video to a device as well as recognizing orientation changes and notifying your application running in the iPhone Simulator.</p>
<p>iSimulate consists of an SDK library, which is free, that creates a listening server in the simulator that communicates with an iPhone/iPod running the iSimulate client. The client captures all data from the accelerometer sensor, the touch events, the location and device ID and streams them to the server. The iSimulate client is available for purchase <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=306908756&amp;mt=8" target="_blank">on the App Store</a>.</p>
<p>iSimulate is a great addition to any iPhone Developer&#8217;s toolbox.</p>
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><!-- Do not remove -->]]></content:encoded>
			<wfw:commentRss>http://iPhoneDeveloperTips.com/tools/vimov-and-isimulate.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iSimulate &#8211; Testing Multi-Touch, Accelerometer and GPS using Xcode Simulator</title>
		<link>http://iPhoneDeveloperTips.com/tools/isimulate-testing-multi-touch-events-accelerometer-movements-using-xcode-simulator.html</link>
		<comments>http://iPhoneDeveloperTips.com/tools/isimulate-testing-multi-touch-events-accelerometer-movements-using-xcode-simulator.html#comments</comments>
		<pubDate>Wed, 12 Aug 2009 07:44:18 +0000</pubDate>
		<dc:creator>John Muchow</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://iPhoneDeveloperTips.com/?p=3284</guid>
		<description><![CDATA[I recently spent a few hours working with iSimulate, an interesting combination of an iPhone application and a packaged library you add to an Xcode project. iSimulate provides a unique solution to the lack of support in the Xcode simulator for exercising multi-touch events, accelerometer data as well as GPS location information. The timing for [...]]]></description>
			<content:encoded><![CDATA[<p>I recently spent a few hours working with <a  target="_blank" href="http://www.vimov.com/isimulate">iSimulate</a>, an interesting combination of an iPhone application and a packaged library you add to an Xcode project. iSimulate provides a unique solution to the lack of support in the Xcode simulator for exercising multi-touch events, accelerometer data as well as GPS location information. </p>
<p>The timing for working with iSimulate couldn&#8217;t have been better &#8211; I&#8217;m in the midst of testing an application that uses the accelerometer as the primary input mechanism. Unfortunately, with the iPhone simulator alone, there is no built-in mechanism for capturing and processing accelerometer data &#8211; welcome iSimulate.</p>
<p>The application I&#8217;m building is a simple shoot&#8217;em up gun simulation, you&#8217;ve seen any number of these on the App Store. There are a range of guns to choose from, and each has a unique loading sequence, all tied to movements of the device. For example, the grenade launcher, loads with a flick of the wrist, mimicing how one would flick a pistol to open the chamber. There also is an assault rifle that loads in two steps, sharp thrust down followed by the same movement up (think of a pump shotgun). To fire each weapon, you point the top of the phone at your target, and flick you wrist back, similar to the effect of a recoil.<br />
<span id="more-3284"></span></p>
<p>Given the focus of my work on the above application, my testing of iSimulate was limited to the accelerometer, which consisted of running through all the simulations (loading and firing) for each gun in my application.</p>
<p>Using iSimulate requires purchasing an iPhone application of the same name, and installing a free SDK library. <a target="_blank"  href="http://www.vimov.com/isimulate/documentation/">Installing the SDK</a> was a walk in the park, it took all of 2 minutes. Once you rebuild and launch your application in the simulator, you start the iSimulate application on your iPhone. The two will sync-up and you are ready to go, you can now use a real iPhone to test your multi-touch, accelerometer and GPS code.</p>
<p>The video that follows is a screen capture of my iPhone application running with the Xcode simulator, with all accelerometer data coming from iSimulate running on my iPhone. It worked without a hitch and made for a speedy code, build, test cycle, as the iPhone application is loaded into the Xcode simulator, versus the actual device, cutting down the load time significantly.</p>
<p><embed src="http://iphonedevelopertips.com/wp-content/uploads/2009/08/iSim.mov" width="350" height="235" autoplay="false"> </p>
<p>One update that I would welcome to iSimulate, if technically possible, would be support for the built-in camera. This would have been very handy when I was working on iHuntNet and iFishNet, where a photo was taken of a trophy &#8220;catch&#8221; (fish, deer, etc) and the device was used to determine the size of the &#8220;catch&#8221; by comparing against an object with a known size (dollar bill, beer can, etc). In the Xcode simulator I could take a photo, however, the resulting image was blank so testing of the scaling code for size determination could only be done on a device. Having the means to test in the simulator where an actual iPhone takes the photo and makes this available to the iPhone app, would of saved oodles of time in the testing process.</p>
<p>I found iSimulate to be a very creative use of technology to solve a real-world development issue, namely, no support for testing accelerometer, multi-touch and location code within the Xcode simulator. If you are working with any/all of these technologies, I highly recommend you take a closer look. You can learn more about iSimulate here: <a target="_blank" href="http://www.vimov.com/isimulate/">iSimulate</a>.</p>
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><!-- Do not remove -->]]></content:encoded>
			<wfw:commentRss>http://iPhoneDeveloperTips.com/tools/isimulate-testing-multi-touch-events-accelerometer-movements-using-xcode-simulator.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://iphonedevelopertips.com/wp-content/uploads/2009/08/iSim.mov" length="2434118" type="video/quicktime" />
		</item>
		<item>
		<title>Capture iPhone Simulator Screenshots &#8211; Open Source Screen Capture Tool</title>
		<link>http://iPhoneDeveloperTips.com/general/open-source-screen-capture-tool.html</link>
		<comments>http://iPhoneDeveloperTips.com/general/open-source-screen-capture-tool.html#comments</comments>
		<pubDate>Mon, 23 Feb 2009 14:47:11 +0000</pubDate>
		<dc:creator>John Muchow</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://iPhoneDeveloperTips.com/?p=1563</guid>
		<description><![CDATA[I&#8217;ve been on the hunt for an open source screen cature tool for the Mac. I finally found what I was looking for, a tool that in which you can specify the exact size of the capture window. Let me explain&#8230; In the process of creating screenshots to accompany applications submitted to the App Store, [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been on the hunt for an open source screen cature tool for the Mac. I finally found what I was looking for, a tool that in which you can specify the exact size of the capture window. Let me explain&#8230;</p>
<p>In the process of creating screenshots to accompany applications submitted to the App Store, you can include up to 5 images. Although the images can be anything you like, typically the images consist of screenshots of an application running in the iPhone simulator. When working with the simulator there are two sizes used most frequently, 320w x 460h (Apple recommends not to show the status bar across the top) and 480w x 320h (landscape mode).<br />
<span id="more-1563"></span></p>
<p>Until I found <a target="_blank" href="http://www.chimoosoft.com/products/captureme/">Capture Me</a>, I would use the built-in screen capture, command-shift-4, to capture screenshots. Problem is, there was no means to specify the exact image size to capture, so this approach requires either a very steady hand and a good eye, or capturing an area obviously larger than needed and cropping in Preview or another tool.</p>
<p>To use Capture Me, you specify the size of the area to capture and then drag a semi-transparent window over the capture area. Clicking inside the capture area creates a screenshot. You can save screenshots to the desktop (filename will be automatically generated) or have the screenshot copied to the clipboard, or both! </p>
<p>Capture Me also offers a screen recording feature, however, I haven&#8217;t given this a go as of yet.</p>
<p><strong>Additional Features:</strong><br />
Here are a few things that I think would make for some nice additions to Capture Me:</p>
<p>#1 &#8211; Specify the location to save the file</p>
<p>#2 &#8211; Specify the filename for the screenshot. For example, when capturing/uploading screenshots to the App Store I use the filenames &#8220;screenshot1.jpg&#8221; &#8220;screenshot2.jpg&#8221; etc. If I could tell Capture Me to use this same format, it would save me the trouble of renaming the files.</p>
<p>#3 &#8211; The third feature is a little harder to describe, so let me explain how I use the tool which should help clarify what I am after. As I mentioned above, I use Capture Me to create screenshots of the iPhone simulator, what this entails is dragging Capture Me over the simulator and clicking inside the Capture Me window. In order to create the next screenshot, I need to click/drag the Capture Me window and move it to the side, click on the iPhone simulator to setup the next screenshot, then drag the Capture Me window back over the simulator for the next capture. </p>
<p>If I could tell the Capture Me window to move to the left/right the same width of the area I am capturing (+/- a few pixles) I could quickly capture a series of screenshots with ease. Even better if one keyboard shortcut would tell Capture Me to slide to the left/right, and one shortcut to tell Capture Me to slide it back to it&#8217;s original location.</p>
<p>I hope to get some time over the coming weeks and/or months to poke around the Capture Me code and see how far I can get to add the features above. If you beat me to the punch, drop me a note, and count me in as a beta tester.</p>
<p>Many thanks to <a target="_blank" href="http://www.chimoosoft.com/">Chimoosoft</a> for creating, and open sourcing, <a  target="_blank" href="http://www.chimoosoft.com/products/captureme/">Capture Me</a>.</p>
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><!-- Do not remove -->]]></content:encoded>
			<wfw:commentRss>http://iPhoneDeveloperTips.com/general/open-source-screen-capture-tool.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Application Loader</title>
		<link>http://iPhoneDeveloperTips.com/tools/application-loader.html</link>
		<comments>http://iPhoneDeveloperTips.com/tools/application-loader.html#comments</comments>
		<pubDate>Mon, 16 Feb 2009 04:06:58 +0000</pubDate>
		<dc:creator>John Muchow</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://iPhoneDeveloperTips.com/?p=1538</guid>
		<description><![CDATA[Editor&#8217;s Note:The Application Loader app is available on your development system if you have installed iPhone SDK 3.2 or later &#8211; you can locate the Application Loader in the Utilities folder: /Developer/Applications/Utilities/Application Loader.app. If you&#8217;ve ever had to upload a binary to the App Store that has any size to it, say, over 20 MB, [...]]]></description>
			<content:encoded><![CDATA[<p><em><strong>Editor&#8217;s Note:</strong>The Application Loader app is available on your development system if you have installed iPhone SDK 3.2 or later &#8211; you can locate the Application Loader in the Utilities folder: <strong>/Developer/Applications/Utilities/Application Loader.app</strong>.</em></p>
<p>If you&#8217;ve ever had to upload a binary to the App Store that has any size to it, say, over 20 MB, it&#8217;s a little unnerving when you upload through a web-browser and the only status you get is whatever progress indicator your browser offers. Problem is, you can&#8217;t rely on the indicator as a reliable source of information about whether your connection is still alive, or even more meaningful, how far along you are in uploading a large binary.<br />
<span id="more-1538"></span></p>
<p>Apple recommends the loader for binaries that are over 200MB. I&#8217;ve used it for applications that are much smaller as I find the information it provides of great value. You can find the loader by following these steps from within iTunes Connect:</p>
<ul>
<li>Choose <strong>Manage You Applications</strong></li>
<li>Scroll to the bottom of the page</li>
<li>Click the <strong>Get Application Loader</strong> link</li>
<li>Click the <strong>Download Developer Guide</strong> link (good stuff in here, btw)</li>
</ul>
<p>To use the loader, during the process of adding a new application to the App Store, when prompted in iTunes Connect (on the Upload tab), click the checkbox that says <em><strong>Check here to upload your binary later</strong></em>.</p>
<p>Complete the rest of the information required for uploading an application. To begin uploading with the loader, start the application and select <strong>New</strong> from the file menu. You&#8217;ll be prompted for your login information to connect to iTunes. At this point, if all is well, you&#8217;ll be shown a dialog box that has a drop-down list of all the applications iTunes Connect recognizes that are waiting for a binary. The rest of the steps for uploading are self explanatory as the loader walks you through the paces.</p>
<p><strong>Important Note:</strong><br />
There is one gotcha that I ran into when rejecting a binary and attempting to re-upload a new binary with the loader. After rejecting the file, I created a new build and fired up the loader. Unfortunately, the loader did not recognize that there were binaries to be uploaded into my iTunes Connect account.</p>
<p>Here&#8217;s what I had to do to fix the problem:</p>
<ul>
<li>Login into iTunes Connect (with a web-browser)</li>
<li>Choose <strong>Manage You Applications</strong></li>
</ul>
<p>You&#8217;ll see a dialog similar to the figure below for each application in which you rejected a binary:</p>
<p><img src="http://iPhoneDeveloperTips.com/wp-content/uploads/2009/08/rejected.png" /></p>
<ul>
<li>Click on the <strong>Replace Binary</strong></li>
<li>From the <strong>Upload Application</strong> screen, click the checkbox <em><strong>Check here to upload your binary later</strong></em></li>
<li>Save your changes</li>
</ul>
<p>Start up the Application Loader and you should now see the application you rejected earlier as an option for uploading a new binary.</p>
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><!-- Do not remove -->]]></content:encoded>
			<wfw:commentRss>http://iPhoneDeveloperTips.com/tools/application-loader.html/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>iPhone Screen Ruler Utility</title>
		<link>http://iPhoneDeveloperTips.com/tools/iphone-screen-ruler-utility.html</link>
		<comments>http://iPhoneDeveloperTips.com/tools/iphone-screen-ruler-utility.html#comments</comments>
		<pubDate>Mon, 09 Feb 2009 14:00:39 +0000</pubDate>
		<dc:creator>John Muchow</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://iPhoneDeveloperTips.com/?p=1508</guid>
		<description><![CDATA[I&#8217;ve been using a handy little application called Free Ruler to determine the size of visual elements as well as measure and layout content. My first use of Free Ruler was to determine how much space remained on the iPhone screen after I created a tabbar, navigation bar and a row of custom images along [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using a handy little application called <a target="_blank" href="http://www.pascal.com/software/freeruler/">Free Ruler</a> to determine the size of visual elements as well as measure and layout content.</p>
<p>My first use of Free Ruler was to determine how much space remained on the iPhone screen after I created a tabbar, navigation bar and a row of custom images along the bottom of the display (just above the tabbar). I needed an approximate count of the pixels remaining so I could layout a table in the remaining screen space.<br />
<span id="more-1508"></span></p>
<p>The image below shows how one might use Free Ruler to count the number of pixels between the bottom of the navigation bar and the top of the UIDatePicker.</p>
<p><img width="222" src="http://iPhoneDeveloperTips.com/wp-content/uploads/2009/08/ruler.png" /></p>
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><!-- Do not remove -->]]></content:encoded>
			<wfw:commentRss>http://iPhoneDeveloperTips.com/tools/iphone-screen-ruler-utility.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

