<?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>以太之内 生存之上</title> <atom:link href="http://ixhan.com/feed/" rel="self" type="application/rss+xml" /><link>http://ixhan.com</link> <description>Live in your world, get owned in mine</description> <lastBuildDate>Tue, 15 May 2012 04:08:15 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.2</generator> <item><title>JSONKit :Illegal \u Unicode escape sequence</title><link>http://ixhan.com/2012/04/jsonkit-illegal-unicode-escape-sequenc/</link> <comments>http://ixhan.com/2012/04/jsonkit-illegal-unicode-escape-sequenc/#comments</comments> <pubDate>Fri, 27 Apr 2012 08:27:30 +0000</pubDate> <dc:creator>xhan</dc:creator> <category><![CDATA[Coding]]></category> <category><![CDATA[JSONKit]]></category> <guid
isPermaLink="false">http://ixhan.com/?p=790</guid> <description><![CDATA[When JSON string contains unicodes between u0000 and u001f, JSONKit parser fails to work properly. and throws a error as &#8220;Illegal \u Unicode escape sequence&#8221;. This is a known issue(link) but seems like the author thought it&#8217;s a fault caused &#8230;<p
class="read-more"><a
href="http://ixhan.com/2012/04/jsonkit-illegal-unicode-escape-sequenc/">Read more &#187;</a></p>]]></description> <content:encoded><![CDATA[<p>When JSON string contains unicodes between u0000 and u001f, JSONKit parser fails to work properly. and throws a error as &#8220;Illegal \u Unicode escape sequence&#8221;.</p><p>This is a known issue(<a
target="_blank" href="https://github.com/johnezang/JSONKit/pull/26">link</a>) but seems like the author thought it&#8217;s a fault caused by content provider and didn&#8217;t intend to have any fix on this issue.</p><blockquote><p>In this particular case, these services are very clearly &#8220;in the wrong&#8221;. <a
target="_blank" href="http://tools.ietf.org/html/rfc4627">RFC 4627</a> is unambiguous that characters &lt; <code>0x20</code>are verboten. In cases like there, where something is clearly violating the standard, my default response is that &#8220;It&#8217;s the other persons (web service) problem.&#8221; The standard is the standard, and it is Right(tm), even its mistakes.</p></blockquote><p>But in fact there are many JSON encoder may generates JSON string contains invalid characters &lt; 0&#215;20 including Python2.6, &lt;not tested in Python2.7&gt;, pre-rails3. We all love the clean codes but we need make things done first.</p><p><strong>SOLUTION:</strong></p><p>Edit JSONKit.m file:</p><pre> //GOTO Line 1462 or nearby
//      remove this line
//      if(JK_EXPECT_F(currentChar &lt; 0x20UL)) { jk_error(parseState, @"Invalid character &lt; 0x20 found in string: 0x%2.2x.", currentChar); stringState = JSONStringStateError; goto finishedParsing; }
//      add following codes
        if(JK_EXPECT_F(currentChar &lt; 0x20UL) &amp;&amp; (parseState-&gt;parseOptionFlags &amp; JKParseOptionLooseUnicode) == 0) {
            jk_error(parseState, @"Invalid character &lt; 0x20 found in string: 0x%2.2x.", currentChar); stringState = JSONStringStateError; goto finishedParsing;
        }
        else {
            currentChar = 0xFFFDUL;
        }</pre><h3  class="related_post_title">Random Posts</h3><ul
class="related_post"><li><a
href="http://ixhan.com/2011/11/applescript-to-update-adium-statu/" title="用AppleScript设置Adium的状态信息">用AppleScript设置Adium的状态信息</a></li><li><a
href="http://ixhan.com/2009/12/2009-2010/" title="2009-2010 ">2009-2010 </a></li><li><a
href="http://ixhan.com/2009/10/ubuntu-910-sources-list/" title="Ubuntu 9.10(karmic) 升级源(sources.list)">Ubuntu 9.10(karmic) 升级源(sources.list)</a></li><li><a
href="http://ixhan.com/2009/10/little-about-byte-order/" title="关于“字节序”">关于“字节序”</a></li></ul>]]></content:encoded> <wfw:commentRss>http://ixhan.com/2012/04/jsonkit-illegal-unicode-escape-sequenc/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>ADBlockPro &#8211; iPhone广告滤手全能王</title><link>http://ixhan.com/2012/03/adblockpro-ios-in-app-ad-blocker/</link> <comments>http://ixhan.com/2012/03/adblockpro-ios-in-app-ad-blocker/#comments</comments> <pubDate>Thu, 15 Mar 2012 04:02:35 +0000</pubDate> <dc:creator>xhan</dc:creator> <category><![CDATA[Project]]></category> <guid
isPermaLink="false">http://ixhan.com/?p=775</guid> <description><![CDATA[ADBlockPro(广告滤手全能王) 是个给iPhone iPad 设计的阻挡软件内的广告条插件，健康安全环保，无毒无害无副作用。 主要功能： 安装前：广告。。广告。。广告 安装后：去软件内广告，立竿见影。 支持过滤广告商 Google Admob iAD Domob (多盟) GuoHe (果合) &#8230;实在太多，写不下了。 支持设备 越狱的设备iOS3.0 + , iPhone4, iPhone4S, iPad, iPod Touch 理论上都支持 下载 打开Cydia 选择软件源管理 新建软件源   http://cydia.myrepospace.com/xhan/ 找到 ADBlockPro 安装 世界清净了。 用户说 H小杰小朋友使用后表示非常好用。 常见问题 会和其他软件冲突吗？ &#8230;<p
class="read-more"><a
href="http://ixhan.com/2012/03/adblockpro-ios-in-app-ad-blocker/">Read more &#187;</a></p>]]></description> <content:encoded><![CDATA[<p><strong>ADBlockPro(广告滤手全能王)</strong> 是个给iPhone iPad 设计的阻挡软件内的广告条插件，健康安全环保，无毒无害无副作用。</p><p><a
href="http://ixhan.com/wp-content/uploads/2012/03/ADBlockPro_screenshot.png"><img
class="alignnone size-full wp-image-785" title="ADBlockPro_广告滤手全能王" src="http://ixhan.com/wp-content/uploads/2012/03/ADBlockPro_screenshot.png" alt="ADBlockPro_广告滤手全能王" width="320" height="480" /></a></p><p>主要功能：</p><ul><li>安装前：广告。。广告。。广告</li><li>安装后：去软件内广告，立竿见影。</li></ul><h4>支持过滤广告商</h4><ul><li>Google Admob</li><li>iAD</li><li>Domob (多盟)</li><li>GuoHe (果合)</li><li>&#8230;实在太多，写不下了。</li></ul><h4>支持设备</h4><p>越狱的设备iOS3.0 + , iPhone4, iPhone4S, iPad, iPod Touch 理论上都支持</p><h4>下载</h4><div><ol><li>打开Cydia 选择软件源管理</li><li>新建软件源   http://cydia.myrepospace.com/xhan/</li><li>找到 ADBlockPro 安装</li><li>世界清净了。</li></ol><h4>用户说</h4><p>H小杰小朋友使用后表示非常好用。</p><h4>常见问题</h4><ol><li>会和其他软件冲突吗？    NO!</li><li>会影响设备耗电吗？       NO!</li><li>怎么还有软件能显广告   （1.白名单过滤了  2.请留言将软件名字发我)</li></ol><h4>PS</h4><p>写这个插件的原因 1.学习Cydia软件开发  2.突然发现好像没类似的软件（其他都是去Safari的广告）.</p><h4>PPS</h4><div>   如果你也对写这方面的软件有兴趣，不妨搜索下这些关键词 MobileSubstrate, theos,  tweak</div></div><h3  class="related_post_title">Random Posts</h3><ul
class="related_post"><li><a
href="http://ixhan.com/2010/06/unity3-image-effects/" title="Unity3 Image Effects">Unity3 Image Effects</a></li><li><a
href="http://ixhan.com/2011/02/uiviewcontroller-memory-manage/" title="UIViewController 的内存管理">UIViewController 的内存管理</a></li><li><a
href="http://ixhan.com/2009/11/things-ive-done-in-past-5-months/" title="Things I&#8217;ve done int past 5 months">Things I&#8217;ve done int past 5 months</a></li><li><a
href="http://ixhan.com/2010/12/%e9%ba%bb%e4%ba%86%e4%b8%aa%e7%90%83%e7%90%83/" title="麻了个球球">麻了个球球</a></li></ul>]]></content:encoded> <wfw:commentRss>http://ixhan.com/2012/03/adblockpro-ios-in-app-ad-blocker/feed/</wfw:commentRss> <slash:comments>15</slash:comments> </item> <item><title>愚人节计划</title><link>http://ixhan.com/2012/03/yu-ren-jie-jihua/</link> <comments>http://ixhan.com/2012/03/yu-ren-jie-jihua/#comments</comments> <pubDate>Mon, 12 Mar 2012 15:13:18 +0000</pubDate> <dc:creator>xhan</dc:creator> <category><![CDATA[Life]]></category> <guid
isPermaLink="false">http://ixhan.com/?p=772</guid> <description><![CDATA[30 &#8211; 7 &#8211; 12 = 11天 12日 未开始 Random Posts[C/CPP]HNU.ACM.ACCEPT.CODES抹掉坏心情Mac可以这么玩-用Finder示爱!两个很棒的动画]]></description> <content:encoded><![CDATA[<p>30 &#8211; 7 &#8211; 12 = 11天</p><p>12日 未开始</p><h3  class="related_post_title">Random Posts</h3><ul
class="related_post"><li><a
href="http://ixhan.com/2010/02/fake-version/" title="Fake Version">Fake Version</a></li><li><a
href="http://ixhan.com/2010/07/about-douban-radio-osx/" title="关于豆瓣电台osx版">关于豆瓣电台osx版</a></li><li><a
href="http://ixhan.com/2009/10/convert-iphone-png-to-origin/" title="将编译好的iPhone程序的PNG还原">将编译好的iPhone程序的PNG还原</a></li><li><a
href="http://ixhan.com/2011/09/introduce-ios-quick-setting-view-scaffold/" title="[iOS]设置界面快速生成脚手架介绍">[iOS]设置界面快速生成脚手架介绍</a></li></ul>]]></content:encoded> <wfw:commentRss>http://ixhan.com/2012/03/yu-ren-jie-jihua/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>停住的记忆</title><link>http://ixhan.com/2012/03/the-freezing-memories/</link> <comments>http://ixhan.com/2012/03/the-freezing-memories/#comments</comments> <pubDate>Wed, 07 Mar 2012 16:52:44 +0000</pubDate> <dc:creator>xhan</dc:creator> <category><![CDATA[Life]]></category> <guid
isPermaLink="false">http://ixhan.com/?p=757</guid> <description><![CDATA[还剩几个小时就是iPad3的发布会了，微薄上兴奋的讨论着这次苹果给大家带来什么新的革命性进化，我却突然冒出个画面：iPad第一代发布时候老乔在发布会中恶搞的一张上帝拿着个iPad的图。 记不清08年实习时第一次见到iPhone，macbook air&#124;pro 时的感受了。但用手指在屏幕上滑动的快感，以及在笔记本上两个手指滚动网页的奇怪感觉却永无法忘记。那时候devon还有个牛皮袋，就和发布会上的一样。每次来上班他先从袋子中抽出电脑，再放到腿上开始干活，无比的羡慕！而现在，满大街都是各种iPhone，以及其他大屏幕手机。商场中遍布苹果的体验店，macbook air，iMac这类设备大家也习以为常。苹果一年的利润超过了google一年的收入。而微软，除去仍然占据着不错的操作系统份额，越来越少被人提起。 曾经，我们没错过一个苹果的发布会。几天前大家就会开始各种预测，然后直播当日便会挂上skype，同时打开n个图文直播网站，关注着地球另一边的一个发布会和朋友们一同分享喜悦。现在大家都安静了不少，甚至会为苹果辩解这次为什么没出给力的产品：你不懂，整合和生态圈才是苹果的最终目的。。不要小看这次发布的软件，可厉害了！。。。你不懂，这次发布的xx可是革命性的，它。。。。 今天搜索时突然找到了自己的一个老博客，里面有篇我写的一个windows扫雷作弊器的源码。扫了下，发现我已经完全记不得MFC的流程和各种奇怪宏的作用了。也许那时候是死记硬背MFC的流程的，才至于如今看那代码有完全陌生的感觉，否则也太老年痴呆症了。 然后顺着这个博客我慢慢挖掘出了许多大学时代的回忆，这些回忆大部分都和各个网站的一个个ID紧紧的绑着。有我大学论坛的帐号（还记得发了个卡巴斯基破解版，以及h3c vista兼容版骗到的几个精华帖。 还有刚入校后回家组队老乡一同回家的贴纸，幻想着能和单身妹子回家的幸福生活却从未成功＝。＝）， 还有各种游戏论坛的帐号，记得还有个高级别的3dmgame的帐号，登陆后就能进入特别板块，可以下载日本Hgame哈。还有玩过的各种网游的帐号，那些帐号信息基本都已经忘记，和里面尘封着的人物和它们的好友们就一直锁在某处。 然后我想到了我的space.live.com帐号，结果发现已经停止服务。而且连迁移内容的服务也已经关闭。突然有些伤感，大学有段时间玩space玩的非常开心，认识了不少朋友，写了不少文章。而现在我完全记不得里面有什么了，那么多年轻的记忆，就这么丢了。 上周在女友家，忍不住在她电脑上安装了魔兽，非常兴奋的安装了dota对战平台准备找找刺激。结果安静的玩了几局Dota，输赢各半，少了杀了对方角色的快感，也没了太多失败时候的沮丧。满脑子想的是大学时候几个寝室间的大战，甚至后来天天通宵对战的场景。却找不到那种感觉了。 去年买了个xbox游戏机，买回来兴奋了几天后。现在基本已经和几十张买了后就未开封的游戏一起，尘封在公司里。唯一有价值的还是手柄电池，现在它们沦落成了我们的鼠标电池。 那些停留的记忆，慢慢模糊，慢慢尘封，使劲的回忆也没法想起具体的感动。但常常有一天我会突然想起某时候的一个片段，心中戈登一下，有些说不出的感受。 写到这里，突然想到个产品。大概叫 MemoryBook，就是能将你所经历的，所做的都存档起来。以后可以看相册一样浏览某时间的记忆。写到这里时again突然觉得这个产品和我们历史渊源的日记本非常相似，所以我要继续想想。 晚安。 Random PostsStarCraft2 beta coming soon?[iOS]设置界面快速生成脚手架介绍Fun TheoryHome]]></description> <content:encoded><![CDATA[<p>还剩几个小时就是iPad3的发布会了，微薄上兴奋的讨论着这次苹果给大家带来什么新的革命性进化，我却突然冒出个画面：iPad第一代发布时候老乔在发布会中恶搞的一张上帝拿着个iPad的图。</p><p>记不清08年实习时第一次见到iPhone，macbook air|pro 时的感受了。但用手指在屏幕上滑动的快感，以及在笔记本上两个手指滚动网页的奇怪感觉却永无法忘记。那时候devon还有个牛皮袋，就和发布会上的一样。每次来上班他先从袋子中抽出电脑，再放到腿上开始干活，无比的羡慕！而现在，满大街都是各种iPhone，以及其他大屏幕手机。商场中遍布苹果的体验店，macbook air，iMac这类设备大家也习以为常。苹果一年的利润超过了google一年的收入。而微软，除去仍然占据着不错的操作系统份额，越来越少被人提起。</p><p>曾经，我们没错过一个苹果的发布会。几天前大家就会开始各种预测，然后直播当日便会挂上skype，同时打开n个图文直播网站，关注着地球另一边的一个发布会和朋友们一同分享喜悦。现在大家都安静了不少，甚至会为苹果辩解这次为什么没出给力的产品：你不懂，整合和生态圈才是苹果的最终目的。。不要小看这次发布的软件，可厉害了！。。。你不懂，这次发布的xx可是革命性的，它。。。。</p><p>今天搜索时突然找到了自己的一个老博客，里面有篇我写的一个windows扫雷作弊器的源码。扫了下，发现我已经完全记不得MFC的流程和各种奇怪宏的作用了。也许那时候是死记硬背MFC的流程的，才至于如今看那代码有完全陌生的感觉，否则也太老年痴呆症了。</p><p>然后顺着这个博客我慢慢挖掘出了许多大学时代的回忆，这些回忆大部分都和各个网站的一个个ID紧紧的绑着。有我大学论坛的帐号（还记得发了个卡巴斯基破解版，以及h3c vista兼容版骗到的几个精华帖。 还有刚入校后回家组队老乡一同回家的贴纸，幻想着能和单身妹子回家的幸福生活却从未成功＝。＝）， 还有各种游戏论坛的帐号，记得还有个高级别的3dmgame的帐号，登陆后就能进入特别板块，可以下载日本Hgame哈。还有玩过的各种网游的帐号，那些帐号信息基本都已经忘记，和里面尘封着的人物和它们的好友们就一直锁在某处。</p><p>然后我想到了我的space.live.com帐号，结果发现已经停止服务。而且连迁移内容的服务也已经关闭。突然有些伤感，大学有段时间玩space玩的非常开心，认识了不少朋友，写了不少文章。而现在我完全记不得里面有什么了，那么多年轻的记忆，就这么丢了。</p><p>上周在女友家，忍不住在她电脑上安装了魔兽，非常兴奋的安装了dota对战平台准备找找刺激。结果安静的玩了几局Dota，输赢各半，少了杀了对方角色的快感，也没了太多失败时候的沮丧。满脑子想的是大学时候几个寝室间的大战，甚至后来天天通宵对战的场景。却找不到那种感觉了。</p><p>去年买了个xbox游戏机，买回来兴奋了几天后。现在基本已经和几十张买了后就未开封的游戏一起，尘封在公司里。唯一有价值的还是手柄电池，现在它们沦落成了我们的鼠标电池。</p><p>那些停留的记忆，慢慢模糊，慢慢尘封，使劲的回忆也没法想起具体的感动。但常常有一天我会突然想起某时候的一个片段，心中戈登一下，有些说不出的感受。</p><p>写到这里，突然想到个产品。大概叫 MemoryBook，就是能将你所经历的，所做的都存档起来。以后可以看相册一样浏览某时间的记忆。写到这里时again突然觉得这个产品和我们历史渊源的日记本非常相似，所以我要继续想想。</p><p>晚安。</p><h3  class="related_post_title">Random Posts</h3><ul
class="related_post"><li><a
href="http://ixhan.com/2012/02/new-arrivals/" title="New Arrivals">New Arrivals</a></li><li><a
href="http://ixhan.com/2011/05/how-do-apple-control-line-up-length/" title="[技术贴]苹果如何制造排队">[技术贴]苹果如何制造排队</a></li><li><a
href="http://ixhan.com/2009/10/flash-lottery-activity-clien/" title="[Flash]转盘抽奖系统客户端">[Flash]转盘抽奖系统客户端</a></li><li><a
href="http://ixhan.com/2010/07/about-douban-radio-osx/" title="关于豆瓣电台osx版">关于豆瓣电台osx版</a></li></ul>]]></content:encoded> <wfw:commentRss>http://ixhan.com/2012/03/the-freezing-memories/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Apple LLVM 4.0 带给ObjC的新语法</title><link>http://ixhan.com/2012/02/apple-llvm-4-0-new-features-on-objectivec/</link> <comments>http://ixhan.com/2012/02/apple-llvm-4-0-new-features-on-objectivec/#comments</comments> <pubDate>Mon, 20 Feb 2012 06:34:17 +0000</pubDate> <dc:creator>xhan</dc:creator> <category><![CDATA[奇巧淫技]]></category> <category><![CDATA[Coding]]></category> <category><![CDATA[llvm4.0]]></category> <category><![CDATA[objc]]></category> <category><![CDATA[objectivec]]></category> <category><![CDATA[xcode4.4]]></category> <guid
isPermaLink="false">http://ixhan.com/?p=751</guid> <description><![CDATA[下载了Xcode4.4 Preview版本, 里面有段介绍: Xcode now includes the Apple LLVM Compiler version 4.0, including the following newObjective-C language features: Default @synthesize: automatically synthesizes an @property when unimplemented Objective-C literals: create literals for NSArray, NSDictionary, and NSNumber, just the same as the &#8230;<p
class="read-more"><a
href="http://ixhan.com/2012/02/apple-llvm-4-0-new-features-on-objectivec/">Read more &#187;</a></p>]]></description> <content:encoded><![CDATA[<p>下载了Xcode4.4 Preview版本, 里面有段介绍:</p><blockquote><p>Xcode now includes the Apple LLVM Compiler version 4.0, including the following newObjective-C language features:</p><ul><li>Default @synthesize: automatically synthesizes an @property when unimplemented</li><li>Objective-C literals: create literals for NSArray, NSDictionary, and NSNumber, just the same as the literals for NSString</li><li>Objective-C container subscripting: use &#8216;[]&#8216; syntax to access containers such asNSArray and NSDictionary</li></ul></blockquote><p>一和三很好理解, 第二条没看懂. 搜索了下立马爽歪了. 这几个新特性真可以加快不少开发速度!</p><h2>Objective-C literals</h2><p><strong>NSArray Literals</strong></p><p><em>Previously:</em></p><pre>array = [NSArray arrayWithObjects:a, b, c, nil];</pre><p><em>Now:</em></p><pre>array = @[ a, b, c ];</pre><p><strong>NSDictionary Literals</strong></p><p><em>Previously:</em></p><pre>dict = [NSDictionary dictionaryWithObjects:@[o1, o2, o3]
					forKeys:@[k1, k2, k3]];</pre><p><em>Now:</em></p><pre>dict = @{ k1 : o1, k2 : o2, k3 : o3 };</pre><p><strong>NSNumber Literals</strong></p><p><em>Previously:</em></p><pre>NSNumber *number;
number = [NSNumber numberWithChar:'X'];
number = [NSNumber numberWithInt:12345];
number = [NSNumber numberWithUnsignedLong:12345ul];
number = [NSNumber numberWithLongLong:12345ll];
number = [NSNumber numberWithFloat:123.45f];
number = [NSNumber numberWithDouble:123.45];
number = [NSNumber numberWithBool:YES];</pre><p><em>Now:</em></p><pre>NSNumber *number;
number = @'X';
number = @12345;
number = @12345ul;
number = @12345ll;
number = @123.45f;
number = @123.45;
number = @YES;</pre><p><a
target="_blank" href="http://cocoaheads.tumblr.com/post/17757846453/objective-c-literals-for-nsdictionary-nsarray-and" target="_blank">原文Link</a></p><h3  class="related_post_title">Random Posts</h3><ul
class="related_post"><li><a
href="http://ixhan.com/2009/10/little-about-byte-order/" title="关于“字节序”">关于“字节序”</a></li><li><a
href="http://ixhan.com/2012/01/opensource-lessdj/" title="开源项目 LessDJ &#8211; 简约至上的音乐电台DJ">开源项目 LessDJ &#8211; 简约至上的音乐电台DJ</a></li><li><a
href="http://ixhan.com/2009/11/glance-at-unity/" title="小试Unity游戏引擎">小试Unity游戏引擎</a></li><li><a
href="http://ixhan.com/2012/03/yu-ren-jie-jihua/" title="愚人节计划">愚人节计划</a></li></ul>]]></content:encoded> <wfw:commentRss>http://ixhan.com/2012/02/apple-llvm-4-0-new-features-on-objectivec/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>OSX下自定义文件类型和QuickLook</title><link>http://ixhan.com/2012/02/define-custom-file-format-on-osx/</link> <comments>http://ixhan.com/2012/02/define-custom-file-format-on-osx/#comments</comments> <pubDate>Sat, 18 Feb 2012 12:20:37 +0000</pubDate> <dc:creator>xhan</dc:creator> <category><![CDATA[Coding]]></category> <category><![CDATA[Knowledge]]></category> <category><![CDATA[Cocoa]]></category> <category><![CDATA[osx]]></category> <category><![CDATA[QuickLook]]></category> <category><![CDATA[xcode]]></category> <guid
isPermaLink="false">http://ixhan.com/?p=743</guid> <description><![CDATA[研究了几个小时如何自定义文件类型和自定义的QuickLook, 怕以后忘记怎么操作了. 总结下流程和写下简单的教程. 如果 你想让你的程序支持自定义的文件类型 让自定义的文件支持苹果的 Quick Look (大致就是选中文件按下空格后的预览图) 请继续看 &#8211;&#62; 测试的例子是 Single Window Application + Custom bundle file type 不只是文档程序,单窗口程序也能支持响应自定义的文件类型 Bundle 简单的说就是个文件夹, OSX系统可以将bundle识别单独的文件: 比如你的app就是个bundle. bundle在OSX下有许多作用,甚至还能对现有的app提供插件支持. 我们的目标是让 &#60;name&#62;.xxx 文件夹(里面有个叫xxx.jpg的图片) 被识别成bundle 有个独立的图标 能被 app 打开并在窗口显示 xxx.jpg 能提供Preview并显示 xxx.jpg 马上开始,为了节约时间略了些细节和图片描述, 请自行补充,无需100%按部就班 Part &#8230;<p
class="read-more"><a
href="http://ixhan.com/2012/02/define-custom-file-format-on-osx/">Read more &#187;</a></p>]]></description> <content:encoded><![CDATA[<p>研究了几个小时如何自定义文件类型和自定义的QuickLook, 怕以后忘记怎么操作了. 总结下流程和写下简单的教程.</p><div
style="font-size: 300%;">如果</div><div
style="font-size: 300%;"></div><ul><li>你想让你的程序支持自定义的文件类型</li><li>让自定义的文件支持苹果的 Quick Look (大致就是选中文件按下空格后的预览图)</li></ul><div>请继续看 &#8211;&gt;</div><div></div><div>测试的例子是 Single Window Application + Custom bundle file type</div><div></div><ol><li>不只是文档程序,单窗口程序也能支持响应自定义的文件类型</li><li>Bundle 简单的说就是个文件夹, OSX系统可以将bundle识别单独的文件: 比如你的app就是个bundle. bundle在OSX下有许多作用,甚至还能对现有的app提供插件支持.</li></ol><div>我们的目标是让 &lt;name&gt;.xxx 文件夹(里面有个叫xxx.jpg的图片)</div><ul><li>被识别成bundle</li><li>有个独立的图标</li><li>能被 app 打开并在窗口显示 xxx.jpg</li><li>能提供Preview并显示 xxx.jpg</li></ul><blockquote><div>马上开始,为了节约时间略了些细节和图片描述, 请自行补充,无需100%按部就班</div></blockquote><h3>Part I</h3><p><strong>创建自定义文件:</strong>  新建个 name.xxx 的文件夹并丢入一照片命名为 xxx.jpg</p><p><strong>Xcode中新建一个App:</strong> 在MainMenu里的view中拖入一个ImageView 并绑定到 AppDelegate 的imageView属性.</p><p><strong>给App加个ICON:</strong> 拖入图标后,在info.plist里的图标选项里补充上名字</p><p><strong>App注册自定义文件: </strong>在info.plist 里添加新字段 UTExportedTypeDeclarations (自动补全后应该是array内容) 编辑内容如下:<br
/> <a
href="http://ixhan.com/wp-content/uploads/2012/02/Exported-Type-UTIs.png"><img
class="size-full wp-image-745" title="Exported Type UTIs" src="http://ixhan.com/wp-content/uploads/2012/02/Exported-Type-UTIs.png" alt="" width="635" height="207" /></a><br
/> UTTypeConformsTo 是指我们自定义文件的类型,  identifier和filename-extension是至次自定义文件的标识和后缀.</p><p><strong>App注册文档文件: </strong>只有注册指定的UTI(上步骤)为documentType, 才能使用此App打开该类型的文件. plist里添加新key,如图操作<br
/> <a
href="http://ixhan.com/wp-content/uploads/2012/02/Document-types.png"><img
class="size-full wp-image-744" title="Document types" src="http://ixhan.com/wp-content/uploads/2012/02/Document-types.png" alt="" width="637" height="205" /></a></p><p>每个key内容就不解释了,自己查阅文档 <img
src='http://ixhan.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /></p><p>编译运行App,然后关闭.  你应该可以看到 name.xxx 文件夹已经显示为一个带着你指定图标的文件了. 当然还是可以通过点右键-&gt; Show Package Contents 来查看包内的内容.</p><h3>Part II</h3><p>目前双击 name.xxx 已可以成功打开我们的App, 但是有个&#8221;无法打开***&#8221;的错误提示.</p><p><strong>添加app文件打开处理:</strong> 在AppDelegate.m 里添加如下代码</p><pre>- (BOOL)application:(NSApplication *)sender openFile:(NSString *)filename
{
    NSString*path = [filename stringByAppendingPathComponent:@"xxx.jpg"];
    NSImage* img = [[NSImage alloc] initWithContentsOfFile:path];
    if (img) {
        _imageview.image = img;
        return YES;
    }else{
        return NO;
    }
}</pre><p>现在已经可以成功处理打开自定义文件了 Wowowow! (测试中有个问题,返回NO也没出现 出错提示, 看来需要自己判断文件有效性 并弹出错误提示了 )  ,接下来就是非常好玩的 Quick Look 了!!!</p><h3>Part III</h3><p>选中 name.xxx , 按下空格后出现的放大的图标. 看起来还不错? NO, 必须得能够显示包内的图片才够完美啊.</p><blockquote><p>PS. 其实让Package 文件支持Preview是非常容易的, 在包内新建 QuickLook 文件夹, 并放入 Preview.jpg 即可. 不过此方法不够灵活,  我就蛋疼的演示下写个自己的 Quick Look 插件.</p></blockquote><p>Quick Look 插件是后缀为 .qlgenerator 的bundle, 有3处地方可以放置此插件</p><ul><li>/Library/QuickLook       &lt;系统级别的,安装iWork后里面就有个给iWork文档提供preview的插件&gt;</li><li>~/Library/QuickLook       &lt;用户级别的&gt;</li><li>&lt;name&gt;.app/content/Library/QuickLook   &lt;App级别的&gt;</li></ul><div>我们这里选择方案3 &lt;App级别&gt; 开始:</div><div></div><div><strong>App 工程新建Target:</strong> 选择 System PlugIns / QuickLook Plug-In</div><div>目录中生成了3个文件, 根据提示咱们不要改动main.c 文件, 将其他两个.c文件修改为.m , 由于对于CoreFoundation的函数实在没好感, 修改为.m 后方便继续使用高级别的API进行操作.</div><div></div><div><strong>给此Target添加framework:</strong> cocoa.framework  (选中项目,右边的target, build parses / Linked With Libraries 里添加)</div><div></div><div>修改 GeneratePreviewForURL.m 里的同名方法如下 :</div><pre>OSStatus GeneratePreviewForURL(void *thisInterface, QLPreviewRequestRef preview, CFURLRef url, CFStringRef contentTypeUTI, CFDictionaryRef options)
{
    NSAutoreleasePool *pool;
    pool = [[NSAutoreleasePool alloc] init];
    NSURL*imgurl = [(NSURL*)url URLByAppendingPathComponent:@"oo.jpg"];
    NSLog(@"!xxx get path %@",imgurl);
    NSImage* img = [[NSImage alloc] initWithContentsOfURL:imgurl];
    if (img) {
        NSSize size = img.size;
        CGContextRef cgContext = QLPreviewRequestCreateContext(preview, *(CGSize *)&amp;size, true, NULL);
        if (cgContext) {
            NSGraphicsContext* context = [NSGraphicsContext graphicsContextWithGraphicsPort:(void *)cgContext flipped:YES];
            if (context) {
                [NSGraphicsContext saveGraphicsState];
                [NSGraphicsContext setCurrentContext:context];
                [img drawAtPoint:NSMakePoint(0, 0)
                        fromRect:NSMakeRect(0, 0, 0, 0)
                       operation:NSCompositeCopy
                        fraction:1];
                [NSGraphicsContext restoreGraphicsState];
                QLPreviewRequestFlushContext(preview, cgContext);
                CFRelease(cgContext);
            }
        }
        [img release];
    }
    [pool release];
    return noErr;
}</pre><p>贴的代码有点多, 简单说下步骤</p><ul><li>根据传过来的url 生成 NSImage</li><li>获取到 Preview的上下文, 并转换成 NS* 的上下文</li><li>将图片绘制进当前的上下文</li><li>然后刷新 Preview 显示内容</li></ul><div><span
class="Apple-style-span" style="line-height: 18px;"><strong>注意2点</strong>: 由于使用了foundation, 所以需要加入Autorelease pool.  由于plugin不好调试, 可以使用NSLog打入消息, 然后在 console 里 filter 来查看状况. </span></div><div></div><div><span
class="Apple-style-span" style="line-height: 18px;">最后一步, 回到App的项目设置里, 新建一个 copy 的 Build Phases, 设置如下 : </span></div><div><a
href="http://ixhan.com/wp-content/uploads/2012/02/copy-build-phase.png"><img
class="alignnone size-full wp-image-746" title="copy build phase" src="http://ixhan.com/wp-content/uploads/2012/02/copy-build-phase.png" alt="" width="506" height="193" /></a></div><p>再次编译运行App后, 测试下是否成功!!!!!</p><div
style="font-size: 300%;">DONE</div><h3  class="related_post_title">Related Posts</h3><ul
class="related_post"><li><a
href="http://ixhan.com/lesslyrics/" title="LessLyrics">LessLyrics</a></li></ul>]]></content:encoded> <wfw:commentRss>http://ixhan.com/2012/02/define-custom-file-format-on-osx/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>New Arrivals</title><link>http://ixhan.com/2012/02/new-arrivals/</link> <comments>http://ixhan.com/2012/02/new-arrivals/#comments</comments> <pubDate>Mon, 06 Feb 2012 08:29:37 +0000</pubDate> <dc:creator>xhan</dc:creator> <category><![CDATA[Project]]></category> <guid
isPermaLink="false">http://ixhan.com/?p=716</guid> <description><![CDATA[借此 糗事百科 app 上线之际, 将Less系列的两款软件稍作修改重新上架Mac App Store审核. 两个软件就 meta data, app description 和苹果审核人员沟通多次后,终于非顺利上线. LessDJ 开源简约的Mac音乐电台, 和你喜欢的音乐不期而遇. LyricStream (LessLyrics 的 MAS 版本, 收费! 支持iTunes和LessDJ的歌词显示) &#160; 截至写此文章时, LessDJ 目前排名 中国(Music 3, Top Free 37)  美国(Music 14) 很期待看到今晚的数据统计. &#8212;&#8212;- 更新 @Feb8,2012 &#8212;&#8212;- 昨日下载480个, &#8230;<p
class="read-more"><a
href="http://ixhan.com/2012/02/new-arrivals/">Read more &#187;</a></p>]]></description> <content:encoded><![CDATA[<p>借此 <a
target="_blank" href="http://itunes.apple.com/app/id422853458" target="_blank">糗事百科 app</a> 上线之际, 将Less系列的两款软件稍作修改重新上架Mac App Store审核. 两个软件就 meta data, app description 和苹果审核人员沟通多次后,终于非顺利上线.</p><p><a
title="LessDJ" href="http://ixhan.com/project/lessdj/" target="_blank">LessDJ</a> 开源简约的Mac音乐电台, 和你喜欢的音乐不期而遇.</p><p><a
title="LessLyrics" href="http://ixhan.com/lesslyrics/" target="_blank">LyricStream</a> (LessLyrics 的 MAS 版本, 收费! 支持iTunes和LessDJ的歌词显示)</p><p><a
href="http://ixhan.com/wp-content/uploads/2012/02/LessSerials.png"><img
class="alignnone size-full wp-image-717" title="LessSerials" src="http://ixhan.com/wp-content/uploads/2012/02/LessSerials.png" alt="" width="500" height="195" /></a></p><p>&nbsp;</p><p>截至写此文章时, LessDJ 目前排名 中国(Music 3, Top Free 37)  美国(Music 14) 很期待看到今晚的数据统计.</p><p>&#8212;&#8212;-  更新 @Feb8,2012  &#8212;&#8212;-<br
/> 昨日下载480个, 中国区总版13, 分类音乐第二.  希望有些参考</p><p>&nbsp;</p><h3  class="related_post_title">Random Posts</h3><ul
class="related_post"><li><a
href="http://ixhan.com/2010/02/what-is-ipad-all-about/" title="What is iPad All About?  ">What is iPad All About? </a></li><li><a
href="http://ixhan.com/2009/11/lx3-vs-n73/" title="LX3 VS N73">LX3 VS N73</a></li><li><a
href="http://ixhan.com/2009/10/be-or-not/" title="是或不是">是或不是</a></li><li><a
href="http://ixhan.com/2009/12/two-cartoons/" title="两个很棒的动画">两个很棒的动画</a></li></ul>]]></content:encoded> <wfw:commentRss>http://ixhan.com/2012/02/new-arrivals/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>开源项目 LessDJ &#8211; 简约至上的音乐电台DJ</title><link>http://ixhan.com/2012/01/opensource-lessdj/</link> <comments>http://ixhan.com/2012/01/opensource-lessdj/#comments</comments> <pubDate>Sun, 22 Jan 2012 03:51:15 +0000</pubDate> <dc:creator>xhan</dc:creator> <category><![CDATA[Project]]></category> <category><![CDATA[lessdj]]></category> <category><![CDATA[opensource]]></category> <guid
isPermaLink="false">http://ixhan.com/?p=692</guid> <description><![CDATA[新年快乐, Mac上简约至上的音乐电台DJ软件 LessDJ 现已开源 下载此软件 link 项目地址  https://github.com/xhan/LessDJ Related PostsLessDJCrazyText &#8211; My First MacRuby App永远的扫雷英雄(开源) 登场PlutoCMS! 基于ROR的内容管理系统]]></description> <content:encoded><![CDATA[<p>新年快乐, Mac上简约至上的音乐电台DJ软件 LessDJ 现已开源</p><p><a
href="http://ixhan.com/wp-content/uploads/2011/11/Screen-Shot-2011-11-14-at-9.04.10-PM.png"><img
class="alignnone size-large wp-image-666" title="Main Short" src="http://ixhan.com/wp-content/uploads/2011/11/Screen-Shot-2011-11-14-at-9.04.10-PM-1024x549.png" alt="" width="620" height="332" /></a></p><p>下载此软件 <a
target="_blank" href="/project/lessdj/" target="_blank">link</a></p><p>项目地址  https://github.com/xhan/LessDJ</p><h3  class="related_post_title">Related Posts</h3><ul
class="related_post"><li><a
href="http://ixhan.com/project/lessdj/" title="LessDJ">LessDJ</a></li><li><a
href="http://ixhan.com/2011/04/crazytext-my-first-macruby-app/" title="CrazyText &#8211; My First MacRuby App">CrazyText &#8211; My First MacRuby App</a></li><li><a
href="http://ixhan.com/2009/12/minesweeperever/" title="永远的扫雷英雄(开源) 登场">永远的扫雷英雄(开源) 登场</a></li><li><a
href="http://ixhan.com/2009/10/plutocms-ruby-on-rails-cms/" title="PlutoCMS! 基于ROR的内容管理系统">PlutoCMS! 基于ROR的内容管理系统</a></li></ul>]]></content:encoded> <wfw:commentRss>http://ixhan.com/2012/01/opensource-lessdj/feed/</wfw:commentRss> <slash:comments>6</slash:comments> </item> <item><title>[Mac]终端中快速定位到Finder的当前路径</title><link>http://ixhan.com/2011/12/terminal-fast-switch-dir-to-finder-current-dictionar/</link> <comments>http://ixhan.com/2011/12/terminal-fast-switch-dir-to-finder-current-dictionar/#comments</comments> <pubDate>Sat, 31 Dec 2011 10:21:38 +0000</pubDate> <dc:creator>xhan</dc:creator> <category><![CDATA[奇巧淫技]]></category> <category><![CDATA[AppleScript]]></category> <category><![CDATA[mac]]></category> <category><![CDATA[terminal]]></category> <guid
isPermaLink="false">http://ixhan.com/?p=689</guid> <description><![CDATA[平时工作会非常频繁的使用到命令行, 常见的场景是需要CD到Finder的当前路径操作, 或是打开命令行当前的路径.  后者通过 open .  即可打开. 而前者的操作就比较繁琐, 我需要先输入 cd[空格] ,然后将文件夹拖入到终端中. 在忍受了无数次拖拽后突然想到通过 AppleScript 来获取路径并传送到终端. 考虑过ruby,需要额外的gem支持.  考虑过用 objc 写个工具, 但随后发现个命令 osascript 能直接运行 AppleScript的代码 ,解脱! tell application &#8220;Finder&#8221; to set myname to POSIX path of (target of window 1 as alias) 这段代码能将当前的Finder的路径输出, &#8230;<p
class="read-more"><a
href="http://ixhan.com/2011/12/terminal-fast-switch-dir-to-finder-current-dictionar/">Read more &#187;</a></p>]]></description> <content:encoded><![CDATA[<p>平时工作会非常频繁的使用到命令行, 常见的场景是需要CD到Finder的当前路径操作, 或是打开命令行当前的路径.  后者通过 open .  即可打开. 而前者的操作就比较繁琐, 我需要先输入 cd[空格] ,然后将文件夹拖入到终端中.</p><p>在忍受了无数次拖拽后突然想到通过 AppleScript 来获取路径并传送到终端. 考虑过ruby,需要额外的gem支持.  考虑过用 objc 写个工具, 但随后发现个命令 osascript 能直接运行 AppleScript的代码 ,解脱!</p><blockquote><p>tell application &#8220;Finder&#8221; to set myname to POSIX path of (target of window 1 as alias)</p></blockquote><p>这段代码能将当前的Finder的路径输出,  可以使用 osascript -e &#8216;codes&#8217; 来测试结果.</p><p>编辑 ~/.profile  (没有就创建一个), 添加如下代码</p><blockquote><pre>function cdf() # cd to finder's front's window's path
{
   path="`osascript -e 'tell application "Finder" to set myname to POSIX path of (target of window 1 as alias)' 2&gt;/dev/null`"
   if [ -n "$path" ]; then
      echo "cd to $path"
      cd "$path"
   else
      echo "no finder window finded"
   fi
}</pre></blockquote><p>然后source下此文件, 以后只要直接输入 cdf (cd-finder or cd-front 反正很好记) 即能切换到当前路径中.</p><h3  class="related_post_title">Related Posts</h3><ul
class="related_post"><li><a
href="http://ixhan.com/2011/11/applescript-to-update-adium-statu/" title="用AppleScript设置Adium的状态信息">用AppleScript设置Adium的状态信息</a></li><li><a
href="http://ixhan.com/2011/04/declaring-love-with-macosx-finder/" title="Mac可以这么玩-用Finder示爱!">Mac可以这么玩-用Finder示爱!</a></li><li><a
href="http://ixhan.com/2011/03/using-hamachi-to-remote-control-macs-anywhere/" title="使用Hamachi和Screen Share远程管理你的Mac">使用Hamachi和Screen Share远程管理你的Mac</a></li><li><a
href="http://ixhan.com/lesslyrics/" title="LessLyrics">LessLyrics</a></li></ul>]]></content:encoded> <wfw:commentRss>http://ixhan.com/2011/12/terminal-fast-switch-dir-to-finder-current-dictionar/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Xcode4 作战效率提升手册</title><link>http://ixhan.com/2011/12/high-efficiency-xcode/</link> <comments>http://ixhan.com/2011/12/high-efficiency-xcode/#comments</comments> <pubDate>Thu, 08 Dec 2011 13:52:58 +0000</pubDate> <dc:creator>xhan</dc:creator> <category><![CDATA[奇巧淫技]]></category> <category><![CDATA[工作效率]]></category> <category><![CDATA[快捷键]]></category> <category><![CDATA[xcode4]]></category> <guid
isPermaLink="false">http://ixhan.com/?p=684</guid> <description><![CDATA[周一参加了 iOS Tech Talk Bejing 有个session中演示了一招加快debug效率的方式, 觉得非常好. 在此也分享下我常用的技巧方便提升大家的工作效率 基础篇 control +command + arrow up / down            切换 当前文件头文件和实现文件 control + command + arrow left/right             切换历史上/下一个文件 command B/R     &#8230;<p
class="read-more"><a
href="http://ixhan.com/2011/12/high-efficiency-xcode/">Read more &#187;</a></p>]]></description> <content:encoded><![CDATA[<blockquote><p>周一参加了 iOS Tech Talk Bejing 有个session中演示了一招加快debug效率的方式, 觉得非常好. 在此也分享下我常用的技巧方便提升大家的工作效率</p></blockquote><h3 style="padding-left: 30px;">基础篇</h3><ul><li>control +command + arrow up / down            切换 当前文件头文件和实现文件</li><li>control + command + arrow left/right             切换历史上/下一个文件</li><li>command B/R                                               编译 / 运行</li><li>command +  left click   on word                      可以在 方法的声明/实现, 变量的定义, 类的定义中跳转</li><li>option  + left click  on word                            对当前内容做 快速帮助</li><li>shift + command + Y                                     显示 debug工作区</li><li>command + f   / option + command + f           搜索/替换  (搜索后 command + G 可以跳到下一个结果)</li><li>shift + command + F                                      是全局搜索,非常方便</li><li>(esc)                                                             自动完成菜单</li></ul><p
style="padding-left: 90px;"><span
style="font-size: small;">PS. 还有几个OSX系统通用的命令也很有效率</span></p><div
style="padding-left: 60px;"><ul><li><span
class="Apple-style-span" style="font-size: 12px;">option + arrow left / right                以单词为单位移动光标</span></li><li><span
class="Apple-style-span" style="font-size: 12px;">command + arrow left /right             移动光标到行头,行尾 </span></li></ul></div><h3 style="padding-left: 30px;">进阶篇</h3><ul><li>shift + command + o            快速定位文件</li><li>shift + command + j             在项目导航中显示当前文件 (在大项目中尤其好用,推荐!)</li><li>option + click 项目导航中的文件      可以在辅助编辑器里打开该文件, 方便同时查看多个源文件 (默认的辅助编辑器功能很弱,这样基本能找回xcode3的 split screen功能了)</li><li>command  + L                      定为到文件的指定行</li><li>shift + command +L              跳到光标所在位置 (当然更多时候我比较喜欢点下箭头来定位)</li><li>control + i                             对选中文字 重新格式化缩进</li></ul><h3 style="padding-left: 30px;">Debug篇</h3><blockquote><p>Xcode4 启用一体化IDE后, 调试程序有时候变得非常讨厌, 有同感的同学请继续往下看吧. (此内容学习至 ios tech talk ! )</p></blockquote><ol><li>新建一个tab(cmd + t) 双击tab名修改名字为 CONSOLE     #不知道tab可以改名吧! 这弱爆的体验呐</li><li>调整 CONSOLE tab为你喜欢的调试外观, 我喜欢有个大大的log窗口(shift+cmd+c), 左边显示debug栏,不显示右侧栏 , 留一点空间给编辑器, 方便断点时候跟踪 , 最后效果附图</li><li>可以将console tab关闭了 (xcode会自动记忆此tab的设置, 这下应该明白你调试时候经常有时候有log窗口,有时候又需要自己打开的原因了吧 )</li><li>在设置中打开 behavior 这选项</li><li>选择 run start , 只勾选 `show tab CONSOLE` 和 `show navigator Debug`</li><li>把 run complete 里的选项全关了.   # 这样调试结束我们还能继续看log,而不是默认的log也被关闭</li><li>完成, 运行 !  如果你有多个屏幕, 还可将console tab 拖出放置,效果更好!</li></ol><div><span
style="font-size: small;"><a
href="http://ixhan.com/wp-content/uploads/2011/12/xcode4_console.jpg"><img
class="alignnone size-full wp-image-685" title="xcode4_console" src="http://ixhan.com/wp-content/uploads/2011/12/xcode4_console.jpg" alt="" width="715" height="539" /></a></span></div><div></div><div><span
style="font-size: small;"><br
/> </span></div><h3  class="related_post_title">Related Posts</h3><ul
class="related_post"><li><a
href="http://ixhan.com/2011/08/xcode4-document-show-toc/" title="XCode4 文档中激活文档目录功能">XCode4 文档中激活文档目录功能</a></li><li><a
href="http://ixhan.com/2009/11/osx-terminal-keyshort/" title="OSX Terminal(终端) 使用快捷键">OSX Terminal(终端) 使用快捷键</a></li></ul>]]></content:encoded> <wfw:commentRss>http://ixhan.com/2011/12/high-efficiency-xcode/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> </channel> </rss>
<!-- Dynamic page generated in 3.162 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-05-19 22:50:02 -->

