<?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>Neil Cowburn &#187; Technology</title> <atom:link href="http://neilcowburn.com/category/technology/feed/" rel="self" type="application/rss+xml" /><link>http://neilcowburn.com</link> <description></description> <lastBuildDate>Fri, 16 Dec 2011 12:11:35 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/> <item><title>iOS Tip: Break into the Debugger</title><link>http://www.neilcowburn.com/feeder/?FeederAction=clicked&#038;feed=Articles+%28RSS2%29&#038;seed=http%3A%2F%2Fneilcowburn.com%2F2011%2F12%2F16%2Fios-tip-break-into-the-debugger%2F&#038;seed_title=iOS+Tip%3A+Break+into+the+Debugger&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rss#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ios-tip-break-into-the-debugger</link> <comments>http://www.neilcowburn.com/feeder/?FeederAction=clicked&#038;feed=Articles+%28RSS2%29&#038;seed=http%3A%2F%2Fneilcowburn.com%2F2011%2F12%2F16%2Fios-tip-break-into-the-debugger%2F&#038;seed_title=iOS+Tip%3A+Break+into+the+Debugger#comments</comments> <pubDate>Fri, 16 Dec 2011 11:59:42 +0000</pubDate> <dc:creator>Neil</dc:creator> <category><![CDATA[Technology]]></category><guid isPermaLink="false">http://neilcowburn.com/?p=585</guid> <description><![CDATA[A useful macro to enable you to force the debugger to break]]></description> <content:encoded><![CDATA[<p>Sometimes, when debugging edge cases, it&#8217;s useful to have the debugger break at an arbitrary point without having to set a breakpoint and step through the code. It could be that you have a large array of items and only one is causing an issue you need to resolve. Rather than stepping through each item in the array, it&#8217;s more efficient for your workflow if the debugger were to break only when a certain condition is met. For example:</p><pre><code>if ([myArray objectForKey:@"identifier"] isEqualToString:@"myID"]) {
    DebugBreak(); // Step through the code from here
}</code></pre><p>The macro below will allow you to write code like the example above. It will work on both real iOS hardware and in the iOS simulator:</p><pre><code>#if TARGET_CPU_ARM
    #define DebugBreak() __asm__ __volatile__ ("mov r0, %0\nmov r1, %1\nmov r12, #37\nswi 128\n" \
                                            : : "r" (getpid ()), "r" (signal) : "r12", "r0", "r1", "cc")
#elif TARGET_CPU_X86
    #define DebugBreak() __asm__("int $3\n" : : )
#endif
</code></pre><p>Anything that makes debugging easier and more efficient is a good thing in my book.</p> ]]></content:encoded> <wfw:commentRss>http://www.neilcowburn.com/feeder/?FeederAction=clicked&#038;feed=Articles+%28RSS2%29&#038;seed=http%3A%2F%2Fneilcowburn.com%2F2011%2F12%2F16%2Fios-tip-break-into-the-debugger%2F&#038;seed_title=iOS+Tip%3A+Break+into+the+Debugger/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Trouble with ProKit 6.0.1 Update? Restore a Previous Version</title><link>http://www.neilcowburn.com/feeder/?FeederAction=clicked&#038;feed=Articles+%28RSS2%29&#038;seed=http%3A%2F%2Fneilcowburn.com%2F2011%2F03%2F30%2Frestoring-a-previous-version-of-prokit%2F&#038;seed_title=Trouble+with+ProKit+6.0.1+Update%3F+Restore+a+Previous+Version&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rss#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=restoring-a-previous-version-of-prokit</link> <comments>http://www.neilcowburn.com/feeder/?FeederAction=clicked&#038;feed=Articles+%28RSS2%29&#038;seed=http%3A%2F%2Fneilcowburn.com%2F2011%2F03%2F30%2Frestoring-a-previous-version-of-prokit%2F&#038;seed_title=Trouble+with+ProKit+6.0.1+Update%3F+Restore+a+Previous+Version#comments</comments> <pubDate>Wed, 30 Mar 2011 11:32:18 +0000</pubDate> <dc:creator>Neil</dc:creator> <category><![CDATA[Mac]]></category> <category><![CDATA[Technology]]></category> <category><![CDATA[ProKit]]></category><guid isPermaLink="false">http://neilcowburn.com/?p=454</guid> <description><![CDATA[There are reports of some people having issues with the recent ProKit 6.0.1 update. If you’ve tried the various fixes that can be found, but you’ll still having issues, then this is what worked for me.]]></description> <content:encoded><![CDATA[<p>There are reports of some <a href="http://www.digitalrebellion.com/blog/posts/prokit_6.0.1_breaking_final_cut_studio.html">people having issues</a> with the recent ProKit 6.0.1 update, but Apple have been quiet on the matter.</p><p><p>If you&#8217;re one of the people and you&#8217;ve tried the various fixes that can be found, but you&#8217;ll still having issues, then this is what worked for me:</p><br /><ol><li>Download <a href="http://support.apple.com/kb/DL1008"><strong>ProKit 5.1</strong></a> from Apple.</li><li>Double-click<strong> ProKitUpdate5.1.dmg</strong> and you&#8217;ll see <strong>ProKitUpdate5.1.mpkg</strong>.</li><li><strong>Right-click</strong> (or <strong>Ctrl-click</strong>) <strong>ProKitUpdate5.1.mpkg</strong> and click <strong>Show Package Contents</strong>.</li><li>Expand <strong>Contents</strong> and <strong>Packages </strong>revealing <strong>ProAppRuntime.pkg</strong> and <strong>ProRuntime.pkg</strong>.</li><li><strong>Right-click</strong> (or <strong>Ctrl-click</strong>) <strong>ProAppRuntime.pkg</strong> and click <strong>Show Package Contents</strong>.</li><li>Expand <strong>Contents</strong> and copy <strong>Archive.pax.gz</strong> to your <strong>Desktop</strong>.</li><li>Double-click <strong>Archive.pax.gz</strong> and the Archive Utility will extract the contents to a folder called <strong>Archive</strong>.</li><li>Within the <strong>Archive</strong> folder, navigate to <strong>System/Library/PrivateFrameworks</strong> and copy the <strong>ProKit.framework</strong> folder to your <strong>Desktop</strong>.</li> &lt;br/>You now have version 5.1 of the ProKit.framework ready to replace the 6.0.1 version.<li>Open up <strong>Terminal</strong> (which can be found in <strong>/Applications/Utilities</strong>) and enter the following command:</li><pre><code><br />sudo pkgutil --forget com.apple.pkg.ProAppRuntime</code></pre>Since you&#8217;re running the command through the <strong>S</strong>uper <strong>U</strong>ser account, you&#8217;ll be prompted for your Administrator password. Type in your password and click OK.</li><li>In <strong>Finder</strong>, navigate to <strong>/System/Library/PrivateFrameworks</strong> and <strong>copy</strong> the <strong>ProKit.framework</strong> folder to your <strong>Documents</strong> folder.</li><li><strong>Delete</strong> the <strong>ProKit.framework </strong>folder from <strong>/System/Library/PrivateFrameworks</strong>. You&#8217;ll be prompted for your Administrator password.</li><li><strong><span style="text-decoration: underline;">This is important.</span></strong> I&#8217;ve seen users inadvertently copy ProKit.framework 5.1 <em>into</em> the existing ProKit.framework folder. Deleting the existing ProKit.framework folder will ensue this does not happen.</li><li>Copy the <strong>ProKit.framework</strong> folder from your <strong>Desktop</strong> to <strong>/System/Library/PrivateFrameworks</strong>. You&#8217;ll be prompted for your Administrator password again.</li><li><strong>Launch Final Cut Studio</strong> and you should be good to go.</li></ol></p> ]]></content:encoded> <wfw:commentRss>http://www.neilcowburn.com/feeder/?FeederAction=clicked&#038;feed=Articles+%28RSS2%29&#038;seed=http%3A%2F%2Fneilcowburn.com%2F2011%2F03%2F30%2Frestoring-a-previous-version-of-prokit%2F&#038;seed_title=Trouble+with+ProKit+6.0.1+Update%3F+Restore+a+Previous+Version/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 1/16 queries in 0.003 seconds using disk: basic
Object Caching 326/351 objects using disk: basic

Served from: neilcowburn.com @ 2012-02-08 21:40:17 -->
