﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-兔子的技术博客-随笔分类-苹果相关</title><link>http://www.cppblog.com/flyinghare/category/14900.html</link><description>兔子</description><language>zh-cn</language><lastBuildDate>Tue, 02 Apr 2013 10:14:06 GMT</lastBuildDate><pubDate>Tue, 02 Apr 2013 10:14:06 GMT</pubDate><ttl>60</ttl><item><title>Objective-C 的对象模型</title><link>http://www.cppblog.com/flyinghare/archive/2013/04/02/199046.html</link><dc:creator>会飞的兔子</dc:creator><author>会飞的兔子</author><pubDate>Tue, 02 Apr 2013 06:46:00 GMT</pubDate><guid>http://www.cppblog.com/flyinghare/archive/2013/04/02/199046.html</guid><wfw:comment>http://www.cppblog.com/flyinghare/comments/199046.html</wfw:comment><comments>http://www.cppblog.com/flyinghare/archive/2013/04/02/199046.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/flyinghare/comments/commentRss/199046.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/flyinghare/services/trackbacks/199046.html</trackback:ping><description><![CDATA[<div style="clear: both; color: #333333; font-family: 'trebuchet ms', verdana, helvetica, arial, sans-serif; font-size: 13px; line-height: 19px; background-color: #ffffff;"><p style="margin-top: 10px; margin-bottom: 10px;">最近稍微学习了一点 Objective-C ，做笔记和做编码练习都是巩固学习的好方法。整理记录脑子里的新知识有助于理清思路，发现知识盲点以及错误的理解。</p><p style="margin-top: 10px; margin-bottom: 10px;">Objective-C 和 C++ 同样从兼容 C 语言开始，以给 C 语言增加面向对象为初衷，他们的出现的时间都很类似（1983 年左右）。但面向对象编程的源头却不同：C++ 受 Simula 和 Ada 的影响比较多，而 Objective-C 的相关思想源至 Smalltalk ，最终的结果是他们在对象模型上有不小的差异。</p><p style="margin-top: 10px; margin-bottom: 10px;">以我这些天粗浅的了解，Objective-C 似乎比 C++ 更强调类型的动态性，而牺牲了一些执行性能。不过这些牺牲，由于模型清晰，可以在今天，由更先进的编译技术来弥补了。</p><p style="margin-top: 10px; margin-bottom: 10px;">我对 C++ 的认知比 Objective-C 要多的多，所以对 C++ 开发中会遇到的问题的了解也多的多。在学习 Objective-C 的过程中，我发现很多地方都可以填上曾经在 C++ 开发中遇到的问题。当然，Objective-C 一定也有它自己的坑，只是我才刚开始，没有踩到过罢了。</p><hr /><p style="margin-top: 10px; margin-bottom: 10px;">ObjC 的类方法调用的形式，更接近于向对象发送消息。语法写作：</p></div><div id="more" style="clear: both; color: #333333; font-family: 'trebuchet ms', verdana, helvetica, arial, sans-serif; font-size: 13px; line-height: 19px; background-color: #ffffff;"><p style="margin-top: 10px; margin-bottom: 10px;">[obj message]</p><p style="margin-top: 10px; margin-bottom: 10px;">如果方法带有参数，那么就写作</p><p style="margin-top: 10px; margin-bottom: 10px;">[obj param:value]</p><p style="margin-top: 10px; margin-bottom: 10px;">方法和名称和参数的名称是一体的，参数决定了方法是什么。如果有多个参数，那么写作：</p><p style="margin-top: 10px; margin-bottom: 10px;">[obj param1:value1 param2:value2]</p><p style="margin-top: 10px; margin-bottom: 10px;">注意，如果一个类有两个方法，一个有一个参数，一个有两个参数。即使两个参数的版本中有一个参数名称和单个参数版本的相同，它们也是两个不同的方法。ObjC 不支持默认参数的语法。</p><p style="margin-top: 10px; margin-bottom: 10px;">C++ 调用对象的方法就更接近于 C 的函数调用。两相比较，可以发现 ObjC 的语法让代码可读性更强。你可以很容易的理解参数的用途，也不怕方法参数过多时，一串参数写漏或写错次序了。</p><hr /><p style="margin-top: 10px; margin-bottom: 10px;">和 C++ 一样，ObjC 的类声明和实现是分离的。但做的比 C++ 更彻底。ObjC 不能在声明的代码段中写 inline 函数。这看起来牺牲了一些运行性能，但当实现部分更好的分离。作为补充，ObjC 有 @property ，可以帮助程序员简化实现，也可以让编译器生成更好的代码。</p><p style="margin-top: 10px; margin-bottom: 10px;">声明一个类写成这样：</p><pre style="margin-top: 10px; margin-bottom: 10px;">@interface class : baseclass {    type a; }  - (void) method;  - (void) messge: (type) param;  + (id) create ;  @end </pre><p style="margin-top: 10px; margin-bottom: 10px;">ObjC 利用了 C 语言中没有使用的符号 @ 来扩展 C 的语法，而不是用 C++ 里增加关键字的方式。这或许是一个对语言扩展更简单的做法，而不用考虑兼容性。C++ 就得精心挑选新增加的关键字，尽量回避那些已有代码中高频出现的单词。</p><p style="margin-top: 10px; margin-bottom: 10px;">类的数据段和方法是分离的。数据描述放在 {} 中，方法写在其后，在 @end 之前。</p><p style="margin-top: 10px; margin-bottom: 10px;">"-" 开头的方法是实例方法，也就是 C++ 中的成员方法。成员方法中可以通过 self 取到实例指针，也就是 C++ 中的 this 指针。</p><p style="margin-top: 10px; margin-bottom: 10px;">同样，ObjC 也支持类方法，也就是 C++ 中的 static 成员方法。通常是用来构造实例。声明方法是在方法名前写一个 + 号。</p><p style="margin-top: 10px; margin-bottom: 10px;">和 C++ 不同，ObjC 是有类对象的。类对象里有超类指针、类名、类方法列表指针，还有类对象的字节大小等元信息。而 C++ 中是用 RTTI 类实现不完全的类似功能的。</p><p style="margin-top: 10px; margin-bottom: 10px;">调用类方法和调用实例方法在语法上没有什么不同。类名就是类对象的名字。</p><p style="margin-top: 10px; margin-bottom: 10px;">ObjC 不支持多继承，没有私有、公开这些修饰符。</p><p style="margin-top: 10px; margin-bottom: 10px;">ObjC 的类方法实现必须写在同一个源文件里。不像 C++ 有 :: 操作符，ObjC 在实现方法时不写类的名字，而是把所有实现都写在 @implementation class ... @end 之间。访问基类，也可以方便的使用 super 关键字。</p><p style="margin-top: 10px; margin-bottom: 10px;">那么，如果一个类的方法太多，不适合写在同一个源文件中怎么办？</p><hr /><p style="margin-top: 10px; margin-bottom: 10px;">ObjC 提供了 category 这个概念。</p><p style="margin-top: 10px; margin-bottom: 10px;">可以通过 category 为一个类添加一些方法。category 和继承是不同的，不能为类添加新的成员变量，所以它不会改变类对象的内存布局。添加了方法的类还是原来那个类。</p><p style="margin-top: 10px; margin-bottom: 10px;">category 的语法是这样的：</p><pre style="margin-top: 10px; margin-bottom: 10px;">@interface class (category)   - newmethod;  @end </pre><p style="margin-top: 10px; margin-bottom: 10px;">这样，就给 class 类添加了一个方法 newmethod ，并归类在 category 下。</p><p style="margin-top: 10px; margin-bottom: 10px;">和 C++ 不同，ObjC 的方法更具动态性。你可以在运行时任意调用一个对象的方法，而不用管它是否存在。ObjC 支持 id 这个类型。 id 其实就是对象指针，任何类型的对象都可以被 id 引用，并可以方便的向其发送消息（方法调用）。如果方法不存在，会抛出运行时错误。</p><p style="margin-top: 10px; margin-bottom: 10px;">向一个指定类型发送一个不存在的消息，会得到一个编译期警告，而不是编译错误。当然，我们不能随便忽略编译期警告，如果我们清楚的知道运行期这个对象可以处理这个消息，那么可以给类加一个 category 但不必实现它。这样，编译器就能了解新的方法了。</p><p style="margin-top: 10px; margin-bottom: 10px;">利用 category 可以方便的一个庞大的类拆分成独立的模块。在 C++ 中，比较接近的概念是 friend ，不过 friend 不易被优雅的使用。</p><p style="margin-top: 10px; margin-bottom: 10px;">既然方法可以被运行期检查，那么方法本身在 ObjC 中也可以被当成一种类型来处理。比较接近的 C++ 中的概念是 成员方法指针。回顾学习 C++ 的经历就能回忆起当年使用 ::* 或是 -&gt;* 的头痛经历。ObjC 中的方法可以运行期绑定， @selector(method:) 的语法也简单的多。</p><p style="margin-top: 10px; margin-bottom: 10px;">在 NSObject 中就提供了一个叫 respondsToSelector: 的方法，接受一个 selector 用来检查自己是否可以接受这个消息。</p><hr /><p style="margin-top: 10px; margin-bottom: 10px;">ObjC 也提供了类似 Java 的 interface 或是 C++ 的纯虚类的东西，在 ObjC 中被称为 @protocol 。</p><p style="margin-top: 10px; margin-bottom: 10px;">@protocol 可以看成是一种没有数据成员的虚类。一个实际的类可以声明自己实现了某些协议，语法是</p><pre style="margin-top: 10px; margin-bottom: 10px;">@interface class : base &lt;protocol&gt; {    // variables }  // methods @end </pre><p style="margin-top: 10px; margin-bottom: 10px;">和继承不同，一个类可以声明多个协议。然后在 @implementation 中必须一一实现它们。</p><p style="margin-top: 10px; margin-bottom: 10px;">如上所述，ObjC 已经做到了运行期的方法绑定，所以 @protocol 只是做了更严格的编译检查。在新版的 ObjC 2.0 中，追加了 @optional 和 @required 用来描述那些方法的实现是可选的，哪些必须实现。</p><hr /><p style="margin-top: 10px; margin-bottom: 10px;">ObjC 的基础库比 C++ 更完整，标准化要好的多，也和语言结合的更紧密。</p><p style="margin-top: 10px; margin-bottom: 10px;">比如 NSString 是一个基础类，用于处理字符串。同时，语言也提供 @"string" 的语法方便的生成 NSString 对象。</p><p style="margin-top: 10px; margin-bottom: 10px;">ObjC 保留了 C 中的 printf 式的字符串操作形式，对比 C++ 重载移位操作符的形式，我想要更清爽一些。</p><p style="margin-top: 10px; margin-bottom: 10px;">对于 ObjC 对象，使用 %@ 来表示。给对象增加 description 方法就可以让处理函数知道该如何处理这个对象的 %@ 行为。</p></div>转自：<a href="http://blog.codingnow.com/2013/03/objective_c.html#more">http://blog.codingnow.com/2013/03/objective_c.html#more</a><img src ="http://www.cppblog.com/flyinghare/aggbug/199046.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/flyinghare/" target="_blank">会飞的兔子</a> 2013-04-02 14:46 <a href="http://www.cppblog.com/flyinghare/archive/2013/04/02/199046.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>安全禁用Mac OS的开机音效(“咣”的声音)  </title><link>http://www.cppblog.com/flyinghare/archive/2013/02/09/197785.html</link><dc:creator>会飞的兔子</dc:creator><author>会飞的兔子</author><pubDate>Sat, 09 Feb 2013 02:32:00 GMT</pubDate><guid>http://www.cppblog.com/flyinghare/archive/2013/02/09/197785.html</guid><wfw:comment>http://www.cppblog.com/flyinghare/comments/197785.html</wfw:comment><comments>http://www.cppblog.com/flyinghare/archive/2013/02/09/197785.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/flyinghare/comments/commentRss/197785.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/flyinghare/services/trackbacks/197785.html</trackback:ping><description><![CDATA[<div style="line-height: normal; color: #5f656c; font-family: Arial, Helvetica, simsun, u5b8bu4f53; "><p dir="ltr" id="internal-source-marker_0.061459610471501946" style="line-height: 28px; margin: 0pt 0px; padding: 0px; font-size: medium; font-family: Times; text-indent: 22.5pt; "><span style="line-height: 27px; font-size: 11pt; font-family: Arial; color: #000000; vertical-align: baseline; white-space: pre-wrap; ">苹果系统开机时会发出&#8220;咣&#8221;的一声，这个音效本身没有什么美感可言，在安静的地方比如图书馆开机时更容易引起尴尬。然而苹果系统本身并未提供一个功能禁用这个音效。</span></p><p dir="ltr" style="line-height: 28px; margin: 0pt 0px; padding: 0px; font-size: medium; font-family: Times; text-indent: 22.5pt; "><span style="line-height: 27px; font-size: 11pt; font-family: Arial; color: #000000; vertical-align: baseline; white-space: pre-wrap; ">我写了这样一个脚本，可以禁用Mac OS开机音效。其原理是，开机音效声音的大小取决于关机前系统声音的大小，如果关机前是静音的，则开机音效也被静音。因此在关机之前执行一个脚本，将系统设为静音，开机后再执行一个脚本，将静音状态取消，即可实现完美去除开机音效。</span></p><p dir="ltr" style="line-height: 28px; margin: 0pt 0px; padding: 0px; font-size: medium; font-family: Times; text-indent: 22.5pt; "><span style="line-height: 27px; font-size: 11pt; font-family: Arial; color: #000000; vertical-align: baseline; white-space: pre-wrap; ">除此方法外，还有一些软件可以禁用开机音效，但这些软件通常是通过修改nvram的方式实现的，具有一定的危险性，而且兼容性也得不到保障，比如升级到Mac OX X Lion后这些软件就都失效了。而这段脚本则可以在10.6 10.7等系统上通用。</span></p><br style="line-height: 25px; " /><span style="line-height: 27px; font-size: 11pt; font-family: Arial; color: #000000; vertical-align: baseline; white-space: pre-wrap; ">我已经将脚本放在了我Google Code的项目主页上，您可以直接下载执行。</span></div><div style="line-height: normal; color: #5f656c; font-family: Arial, Helvetica, simsun, u5b8bu4f53; "><span style="line-height: 27px; font-size: 11pt; font-family: Arial; color: #000000; vertical-align: baseline; white-space: pre-wrap; ">如果您的机器可以连接互联网，请执行：</span><br style="line-height: 25px; " /><span style="line-height: 27px; font-size: 11pt; font-family: 'Courier New'; color: #ff0000; font-weight: bold; vertical-align: baseline; white-space: pre-wrap; ">curl -O http://iauth.googlecode.com/files/mute_on_startup.sh</span><br style="line-height: 25px; " /><span style="line-height: 27px; font-size: 11pt; font-family: 'Courier New'; color: #ff0000; font-weight: bold; vertical-align: baseline; white-space: pre-wrap; ">chmod u+x mute_on_startup.sh</span><br style="line-height: 25px; " /><span style="line-height: 27px; font-size: 11pt; font-family: 'Courier New'; color: #ff0000; font-weight: bold; vertical-align: baseline; white-space: pre-wrap; ">sudo ./mute_on_startup.sh</span><br style="line-height: 25px; " /><span style="line-height: 27px; font-size: 11pt; font-family: Arial; color: #000000; vertical-align: baseline; white-space: pre-wrap; ">重启一下你就会发现开机音效已经没有了。</span><br style="line-height: 25px; " /><br style="line-height: 25px; " /><span style="line-height: 27px; font-size: 11pt; font-family: Arial; color: #000000; vertical-align: baseline; white-space: pre-wrap; ">如果您的机器不能联网，请先手动创建</span><span style="line-height: 27px; font-size: 11pt; font-family: 'Courier New'; color: #6aa84f; font-weight: bold; vertical-align: baseline; white-space: pre-wrap; ">mute_on_startup.sh</span><span style="line-height: 27px; font-size: 11pt; font-family: Arial; color: #000000; font-style: italic; vertical-align: baseline; white-space: pre-wrap; ">（文件内容附后）</span><br style="line-height: 25px; " /><span style="line-height: 27px; font-size: 11pt; font-family: Arial; color: #000000; vertical-align: baseline; white-space: pre-wrap; ">然后执行</span><br style="line-height: 25px; " /><span style="line-height: 27px; font-size: 11pt; font-family: 'Courier New'; color: #ff0000; font-weight: bold; vertical-align: baseline; white-space: pre-wrap; ">chmod u+x mute_on_startup.sh</span><br style="line-height: 25px; " /><span style="line-height: 27px; font-size: 11pt; font-family: 'Courier New'; color: #ff0000; font-weight: bold; vertical-align: baseline; white-space: pre-wrap; ">sudo ./mute_on_startup.sh</span><br style="line-height: 25px; " /><br style="line-height: 25px; " /><span style="line-height: 27px; font-size: 11pt; font-family: Arial; color: #000000; vertical-align: baseline; white-space: pre-wrap; ">如果要恢复开机音效，请执行</span><br style="line-height: 25px; " /><span style="line-height: 27px; font-size: 11pt; font-family: 'Courier New'; color: #ff0000; font-weight: bold; vertical-align: baseline; white-space: pre-wrap; ">sudo mute_on_startup.sh restore</span><br style="line-height: 25px; " /><br style="line-height: 25px; " /><span style="line-height: 25px; color: #000000; vertical-align: baseline; white-space: pre-wrap; "><strong>#mute_on_startup.sh的内容如下</strong></span><br style="line-height: 25px; " /><span style="line-height: 21px; font-size: 9pt; color: #008c00; vertical-align: baseline; white-space: pre-wrap; ">#!/bin/bash</span><br /><span style="line-height: 21px; font-size: 9pt; color: #c800a7; vertical-align: baseline; white-space: pre-wrap; ">if</span><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; "> [ </span><span style="line-height: 21px; font-size: 9pt; color: #dd0005; vertical-align: baseline; white-space: pre-wrap; ">"$USER"</span><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; "> != </span><span style="line-height: 21px; font-size: 9pt; color: #dd0005; vertical-align: baseline; white-space: pre-wrap; ">'root'</span><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; "> ]; </span><span style="line-height: 21px; font-size: 9pt; color: #c800a7; vertical-align: baseline; white-space: pre-wrap; ">then</span><br /><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; "> &nbsp;&nbsp;&nbsp;echo </span><span style="line-height: 21px; font-size: 9pt; color: #dd0005; vertical-align: baseline; white-space: pre-wrap; ">'You must run this script as root'</span><br /><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; "> &nbsp;&nbsp;&nbsp;echo -e </span><span style="line-height: 21px; font-size: 9pt; color: #dd0005; vertical-align: baseline; white-space: pre-wrap; ">"Try: \033[0;31;1msudo $0 $1\033[0m instead"</span><br /><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; "> &nbsp;&nbsp;&nbsp;</span><span style="line-height: 21px; font-size: 9pt; color: #c800a7; vertical-align: baseline; white-space: pre-wrap; ">exit</span> <span style="line-height: 21px; font-size: 9pt; color: #4100e0; vertical-align: baseline; white-space: pre-wrap; ">1</span><br /><span style="line-height: 21px; font-size: 9pt; color: #c800a7; vertical-align: baseline; white-space: pre-wrap; ">fi</span> <br /><span style="line-height: 21px; font-size: 9pt; color: #c800a7; vertical-align: baseline; white-space: pre-wrap; ">if</span><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; "> [ </span><span style="line-height: 21px; font-size: 9pt; color: #dd0005; vertical-align: baseline; white-space: pre-wrap; ">"$1"</span><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; "> == </span><span style="line-height: 21px; font-size: 9pt; color: #dd0005; vertical-align: baseline; white-space: pre-wrap; ">'restore'</span><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; "> ]; </span><span style="line-height: 21px; font-size: 9pt; color: #c800a7; vertical-align: baseline; white-space: pre-wrap; ">then</span><br /><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; "> &nbsp;&nbsp;&nbsp;echo </span><span style="line-height: 21px; font-size: 9pt; color: #dd0005; vertical-align: baseline; white-space: pre-wrap; ">'Deleting script file...'</span><br /><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; "> &nbsp;&nbsp;&nbsp;rm /Library/Scripts/mute-on.sh</span><br /><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; "> &nbsp;&nbsp;&nbsp;rm /Library/Scripts/mute-off.sh</span><br /><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; "> &nbsp;&nbsp;&nbsp;echo </span><span style="line-height: 21px; font-size: 9pt; color: #dd0005; vertical-align: baseline; white-space: pre-wrap; ">'Deleting login script...'</span><br /><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; "> &nbsp;&nbsp;&nbsp;defaults delete com.apple.loginwindow LoginHook</span><br /><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; "> &nbsp;&nbsp;&nbsp;defaults delete com.apple.loginwindow LogoutHook</span><br /><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; "> &nbsp;&nbsp;&nbsp;echo </span><span style="line-height: 21px; font-size: 9pt; color: #dd0005; vertical-align: baseline; white-space: pre-wrap; ">'Done!'</span><br /><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; "> &nbsp;&nbsp;&nbsp;</span><span style="line-height: 21px; font-size: 9pt; color: #c800a7; vertical-align: baseline; white-space: pre-wrap; ">exit</span> <span style="line-height: 21px; font-size: 9pt; color: #4100e0; vertical-align: baseline; white-space: pre-wrap; ">1</span><br /><span style="line-height: 21px; font-size: 9pt; color: #c800a7; vertical-align: baseline; white-space: pre-wrap; ">fi</span><br /><span style="line-height: 21px; font-size: 9pt; color: #c800a7; vertical-align: baseline; white-space: pre-wrap; ">if</span><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; "> [ </span><span style="line-height: 21px; font-size: 9pt; color: #dd0005; vertical-align: baseline; white-space: pre-wrap; ">"$1"</span><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; "> != </span><span style="line-height: 21px; font-size: 9pt; color: #dd0005; vertical-align: baseline; white-space: pre-wrap; ">''</span><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; "> ]; </span><span style="line-height: 21px; font-size: 9pt; color: #c800a7; vertical-align: baseline; white-space: pre-wrap; ">then</span><br /><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; "> &nbsp;&nbsp;&nbsp;echo </span><span style="line-height: 21px; font-size: 9pt; color: #dd0005; vertical-align: baseline; white-space: pre-wrap; ">'Unknown argument(s)'</span><br /><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; "> &nbsp;&nbsp;&nbsp;</span><span style="line-height: 21px; font-size: 9pt; color: #c800a7; vertical-align: baseline; white-space: pre-wrap; ">exit</span> <span style="line-height: 21px; font-size: 9pt; color: #4100e0; vertical-align: baseline; white-space: pre-wrap; ">1</span><br /><span style="line-height: 21px; font-size: 9pt; color: #c800a7; vertical-align: baseline; white-space: pre-wrap; ">fi</span><br /><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; ">echo </span><span style="line-height: 21px; font-size: 9pt; color: #dd0005; vertical-align: baseline; white-space: pre-wrap; ">'Creating script...'</span><br /><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; ">bash -c </span><span style="line-height: 21px; font-size: 9pt; color: #dd0005; vertical-align: baseline; white-space: pre-wrap; ">'cat &gt; /Library/Scripts/mute-on.sh &lt;&lt;EOF</span><br /><span style="line-height: 21px; font-size: 9pt; color: #dd0005; vertical-align: baseline; white-space: pre-wrap; ">#!/bin/bash</span><br /><span style="line-height: 21px; font-size: 9pt; color: #dd0005; vertical-align: baseline; white-space: pre-wrap; ">osascript -e '</span><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; ">set volume with output muted</span><span style="line-height: 21px; font-size: 9pt; color: #dd0005; vertical-align: baseline; white-space: pre-wrap; ">'</span><br /><span style="line-height: 21px; font-size: 9pt; color: #dd0005; vertical-align: baseline; white-space: pre-wrap; ">EOF</span><br /><span style="line-height: 21px; font-size: 9pt; color: #dd0005; vertical-align: baseline; white-space: pre-wrap; ">'</span><br /><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; ">bash -c </span><span style="line-height: 21px; font-size: 9pt; color: #dd0005; vertical-align: baseline; white-space: pre-wrap; ">'cat &gt; /Library/Scripts/mute-off.sh &lt;&lt;EOF</span><br /><span style="line-height: 21px; font-size: 9pt; color: #dd0005; vertical-align: baseline; white-space: pre-wrap; ">#!/bin/bash</span><br /><span style="line-height: 21px; font-size: 9pt; color: #dd0005; vertical-align: baseline; white-space: pre-wrap; ">osascript -e '</span><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; ">set volume without output muted</span><span style="line-height: 21px; font-size: 9pt; color: #dd0005; vertical-align: baseline; white-space: pre-wrap; ">'</span><br /><span style="line-height: 21px; font-size: 9pt; color: #dd0005; vertical-align: baseline; white-space: pre-wrap; ">EOF</span><br /><span style="line-height: 21px; font-size: 9pt; color: #dd0005; vertical-align: baseline; white-space: pre-wrap; ">'</span><br /><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; ">echo </span><span style="line-height: 21px; font-size: 9pt; color: #dd0005; vertical-align: baseline; white-space: pre-wrap; ">'Grantng execution privilege...'</span><br /><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; ">chmod u+x /Library/Scripts/mute-on.sh</span><br /><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; ">chmod u+x /Library/Scripts/mute-off.sh</span><br /><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; ">echo </span><span style="line-height: 21px; font-size: 9pt; color: #dd0005; vertical-align: baseline; white-space: pre-wrap; ">'Creating login script...'</span><br /><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; ">sudo defaults write com.apple.loginwindow LogoutHook /path/to/mute-on.sh</span><br /><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; ">sudo defaults write com.apple.loginwindow LoginHook /path/to/mute-off.sh</span><br /><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; ">echo </span><span style="line-height: 21px; font-size: 9pt; color: #dd0005; vertical-align: baseline; white-space: pre-wrap; ">'Done!'</span><br /><span style="line-height: 21px; font-size: 9pt; color: #000000; vertical-align: baseline; white-space: pre-wrap; ">echo -e </span><span style="line-height: 21px; font-size: 9pt; color: #dd0005; vertical-align: baseline; white-space: pre-wrap; ">"To retore the modify, try: \033[0;31;1msudo $0 restore\033[0m"</span></div><div><span style="font-size: 9pt; color: #dd0005; vertical-align: baseline; white-space: pre-wrap; "><br /></span></div><br /><div>转自：http://kqwd.blog.163.com/blog/static/41223448201181073723776/</div><img src ="http://www.cppblog.com/flyinghare/aggbug/197785.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/flyinghare/" target="_blank">会飞的兔子</a> 2013-02-09 10:32 <a href="http://www.cppblog.com/flyinghare/archive/2013/02/09/197785.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>升级XCode4后一直出现安装library的解决办法</title><link>http://www.cppblog.com/flyinghare/archive/2012/10/17/193443.html</link><dc:creator>会飞的兔子</dc:creator><author>会飞的兔子</author><pubDate>Wed, 17 Oct 2012 14:34:00 GMT</pubDate><guid>http://www.cppblog.com/flyinghare/archive/2012/10/17/193443.html</guid><wfw:comment>http://www.cppblog.com/flyinghare/comments/193443.html</wfw:comment><comments>http://www.cppblog.com/flyinghare/archive/2012/10/17/193443.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/flyinghare/comments/commentRss/193443.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/flyinghare/services/trackbacks/193443.html</trackback:ping><description><![CDATA[<p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">&nbsp; &nbsp; &nbsp; &nbsp; 使用VMWare虚拟机安装的MAC OS X Snow Leopard 10.6.6升级为10.6.8（mac os x_lion 10.7.1&nbsp;见问题三），成功安装XCODE4，运行后发现XCODE4下载了三个Library，并成功安装。但是每次运行时，一个叫MAC OS X 10.6&nbsp;Core Library的东西每次都在下载，很占资源。经折腾后发现：</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">1、/资源库/Develpoer/Documentation/DocSets下找到三个文件：com.apple.adc.documentation.AppleSnowLeopard.CoreReference.docset，com.apple.adc.documentation.AppleiOS4_3.iOSLibrary.docset ，com.apple.ADC_Reference_Library.DeveloperTools.docset，</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">这就是已经下载的文件。</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">2、分别查看属性，看是否是最新版本(Mac OS X 10.6 Core Library (v409.200.0))，如果不是从<a href="http://developer.apple.com/rss/com.apple.adc.documentation.AppleSnowLeopard.atom" style="color: #9f9f9f; ">http://developer.apple.com/rss/com.apple.adc.documentation.AppleSnowLeopard.atom</a>下载最新版本。</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">3、提升当前用户读写权限。</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">以上三步就能搞定，如果问题，继续补充讨论。</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">类似问题一：Xcode4出现&#8220;Internal error installing Mac OS X 10.6 Core Library&#8221;错误</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">解决办法是：</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">1、进入/Develpoer/Documentation/DocSets删除旧的com.apple.adc.documentation.AppleSnowLeopard.CoreReference.docset</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">2、手动下载<a href="http://devimages.apple.com/docsets/20110621/com.apple.adc.documentation.AppleSnowLeopard.CoreReference.xar" style="color: #9f9f9f; ">http://devimages.apple.com/docsets/20110621/com.apple.adc.documentation.AppleSnowLeopard.CoreReference.xar</a></p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">$ curl -C -O&nbsp;<a href="http://devimages.apple.com/docsets/20110621/com.apple.adc.documentation.AppleSnowLeopard.CoreReference.xar" style="color: #9f9f9f; ">http://devimages.apple.com/docsets/20110621/com.apple.adc.documentation.AppleSnowLeopard.CoreReference.xar</a></p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">解压到/Develpoer/Documentation/DocSets目录下</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">$ cd /Develpoer/Documentation/DocSets</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">$ xar -x -f&nbsp;<u>com.apple.adc.documentation.AppleSnowLeopard.CoreReference.xar</u></p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">3、提升访问权限，不然会重新下载并安装失败。</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">$&nbsp;$ sudo chown -R -P _devdocs /Developer/Documentation/DocSets/com.apple.adc.documentation.AppleSnowLeopard.CoreReference.docset</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">类似问题二：Xcode4出现&#8220;Internal error installing IOS 4.3 Library&#8221;错误</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">解决办法：</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">iOS 4.3 Library (v. 38.103)&nbsp;<br />API reference and conceptual documentation for iOS 4.3.&nbsp;<br />Copyright &#169; 2011 Apple Inc. All rights reserved.&nbsp;<br />Feed:&nbsp;<a href="http://developer.apple.com/rss/com.apple.adc.documentation.AppleiPhone4_3.atom" style="color: #9f9f9f; ">http://developer.apple.com/rss/com.apple.adc.documentation.AppleiPhone4_3.atom</a><br />Web Root URL:&nbsp;<br />Identifier: com.apple.adc.documentation.AppleiOS4_3.iOSLibrary&nbsp;<br />Installed Location: /Developer/Platforms/iPhoneOS.platform/Developer/Documentation/DocSets/com.apple.adc.documentation.AppleiOS4_3.iOSLibrary.docset</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">&nbsp;</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">IOS 4.3 Library 的安装目录是：</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">/Developer/Platforms/iPhoneOS.platform/Developer/Documentation/DocSets/com.apple.adc.documentation.AppleiOS4_3.iOSLibrary.docset</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">把iPhone的文档解压到/Developer/Platforms/iPhoneOS.platform/Developer/Documentation/DocSets/下。</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">解压缩方法：</p><span style="color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">sudo xar -xf com.apple.adc.documentation.AppleiOS4_3.iOSLibrary.Xcode4.38.55.xarsudo chown -R -P _devdocs com.apple.adc.documentation.AppleiOS4_3.iOSLibrary.docsetsudo chmod 775 com.apple.adc.documentation.AppleiOS4_3.iOSLibrary.docset执行命令的时候注意把xcode关掉.或者执行完毕重启xcode4</span><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">类似问题三：</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">解决办法：</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">Mac OS X 10.7 Core Library (v. 410.26)&nbsp;<br />Copyright &#169; 2011 Apple Inc. All rights reserved.&nbsp;<br />Feed: http://developer.apple.com/rss/com.apple.adc.documentation.AppleLion.atom&nbsp;<br />Web Root URL: https://developer.apple.com/library/etc/redirect/xcode/mac/548/&nbsp;<br />Identifier: com.apple.adc.documentation.AppleLion.CoreReference&nbsp;<br />Installed Location: /Developer/Documentation/DocSets/com.apple.adc.documentation.AppleLion.CoreReference.docset<br /></p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">根据得到的版本号和feed地址，使用safari或者firefox打开页面选择最新的版本下载，解压缩到安装目录，如图中所示</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">然后要修改解压出来的docset所有者信息和文件属性</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">sudo chown -R -P _devdocs:wheel com.apple.adc.documentation.AppleLion.CoreReference.docset</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">sudo chmod 775 com.apple.adc.documentation.AppleLion.CoreReference.docset<br /></p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; "></p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">sudo chown -R -P _devdocs:wheel com.apple.adc.documentation.AppleiOS4_3.iOSLibrary.docset</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">sudo chmod 775 com.apple.adc.documentation.AppleiOS4_3.iOSLibrary.docset&nbsp;<br /></p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; background-color: #ffffff; ">然后重新启动Xcode，就能查看文档了</p><br />转自：http://hi.baidu.com/mrool/item/f1cb8de81aa7e60d65db00d0<img src ="http://www.cppblog.com/flyinghare/aggbug/193443.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/flyinghare/" target="_blank">会飞的兔子</a> 2012-10-17 22:34 <a href="http://www.cppblog.com/flyinghare/archive/2012/10/17/193443.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>跑步的好处</title><link>http://www.cppblog.com/flyinghare/archive/2012/05/15/174954.html</link><dc:creator>会飞的兔子</dc:creator><author>会飞的兔子</author><pubDate>Tue, 15 May 2012 03:36:00 GMT</pubDate><guid>http://www.cppblog.com/flyinghare/archive/2012/05/15/174954.html</guid><wfw:comment>http://www.cppblog.com/flyinghare/comments/174954.html</wfw:comment><comments>http://www.cppblog.com/flyinghare/archive/2012/05/15/174954.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/flyinghare/comments/commentRss/174954.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/flyinghare/services/trackbacks/174954.html</trackback:ping><description><![CDATA[<span style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; ">1.告别臃肿身材。&nbsp;</span><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><span style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; ">许多人开始跑步就是因为减肥，跑步确实减肥的最好运动方式，跑步每分钟比起其他运动燃烧更多的卡路里。&nbsp;</span><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><span style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; ">2.防止你的骨骼，肌肉退化。&nbsp;</span><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><span style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; ">我们的骨骼是和你的身体需求相互协调的。长期坐在显示器前的我们让我们的骨骼越来越脆弱。而长期的，经常的运动会使你的骨骼保持健康。更进一步说就是防止我们身体内部老化的更快。经常的高强度锻炼，例如跑步，被证明可以促进人体荷尔蒙的生长，荷尔蒙就是那些名人为了看起来更年轻而持续注射的药剂。&nbsp;</span><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><span style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; ">3.抵抗疾病&nbsp;</span><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><span style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; ">跑步可以降低得中风和乳腺癌的风险。经常的跑步已经成为医生对那些容易引发或在已经处在早期的骨质疏松，糖尿病，高血压病人的治疗建议。&nbsp;</span><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><span style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; ">4.维持并提高总体的身体水平。&nbsp;</span><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><span style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; ">跑步是是人们可以采取的最好的锻炼身体的运动。它可以提高胆固醇,降低血液凝块的危险，锻炼你的50%的经常处于闲置状态的肺。跑步还可以通过增加你的淋巴细胞来增强你的免疫力。&nbsp;</span><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><span style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; ">5.让你更加自信。&nbsp;</span><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><span style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; ">慢跑像其他一些单人运动一样，它可以增强你的自信心。跑步让你完成一次又一次的尝试，让你变得更强大，更加肯定自己。他让你真实的越过某个山峰，穿过某个障碍.在意识到你的身体已经更加强壮，更加有用，你会得到被赋予力量和自由的感觉。自信更是那些通过跑步成功的减肥并得到自己心中理想身材的跑步者的宝贵财富。&nbsp;</span><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><span style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; ">6.放松自己，减轻压力。&nbsp;</span><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><span style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; ">慢跑可以转移聂注意力，沐浴在路旁的风景中，你的烦恼一定会消失殆尽。&nbsp;</span><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><span style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; ">长跑适合那些正处在一堆头疼，恼人的烦心事的人。还有比在两个小时的长跑中，清理的的头脑、舒缓自己的神经更好的主意了吗。&nbsp;</span><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><span style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; ">如果你此时觉得异常压抑，何不快跑一下呢，之后你会一个好的心情。&nbsp;</span><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><span style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; ">7.著名的&#8220;跑步者高峰体验&#8221;&nbsp;</span><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><span style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; ">包括释放压力，慢跑被证明提高你的心态。跑步，特别在户外和旅行中,会使身体释放一种物质让你产生一种幸福愉悦感（跑步者高峰体验）或者就是快乐的感觉。跑步已经被采用了多年来治疗临床抑郁症，上瘾等。更少的压力，更少的压抑，更少的疲劳，更少的混乱，经过一段时间的经常跑步，病人很快就有了变化。跑步让他们有了注意的对象，让他们看到了除了他们消极的状态和沉溺的事务，还有一些美好的东西的存在。&nbsp;</span><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><span style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; ">8.锻炼你的头脑。&nbsp;</span><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><span style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; ">像对你的身体有所帮助一样，跑步同样对你的头脑很有帮助。通过在跑步中克服一系列的障碍，你学会了专注和决心.在经历那些你几乎要放弃的长跑或其他项目后你会发现：你在跑步过程中产生的意志和体魄的增强让你在其他方面有着同样的专注和决心。&nbsp;</span><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><span style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; ">9.增强合作精神。&nbsp;</span><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><span style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; ">又是一个非常值得去做的好处。这点好处或许让很多人感到惊奇，因为人们认为跑步不可能得到这种益处，仅仅由于跑步是单人运动。但是跑步确实有时涉及到互相合作。旅行跑步，特别是在那些路况不好的地方，需要极大的合作意识。这些路面经常会有一些 障碍如石头、灌木让跑步进行的很困难。&nbsp;</span><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><span style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; ">10.随时随地，简单。&nbsp;</span><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><span style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; ">不是很多的运动可以在任何地方，几乎不需要设备的。我敢肯定古代希腊人会争辩说甚至是鞋子和衣服也不需要。今天，我们只是需要一双好点的跑步鞋然后就可以出发了。从市中心到郊区,整个世界的地方等待你的探索。经常出差吗？你的旅行箱里肯定会有空间来装你的运动鞋的。这个世界就是你的健身房，去再次发现它吧。&nbsp;</span><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><span style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; ">Here are some tips for how to make running a practice:&nbsp;</span><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><span style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; ">Be consistent in your running program. Plan your weekly workout schedule and stick to it. This will teach you persistence.&nbsp;</span><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><span style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; ">Know which focuses you'll use during every run. This will teach you planning and mindfulness, and improve your mind/body connection.&nbsp;</span><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><span style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; ">Constantly practice relaxing your muscles. This will help to relieve tension and train you to relax no matter what activity you're doing.&nbsp;</span><br style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; " /><span style="color: #111111; font-family: Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff; ">At the end of your run, spend a few minutes doing an "end-of-run review." Ask yourself how well you did with keeping your focuses, how your body felt during the run. What did you come away with that will help your next run? Then, the next time you go out for a run, you'll have something to work on that you brought forward from your last run. In this way you'll build a healthy, growing and sustainable running program.&nbsp;</span>&nbsp;<br />转自：<a href="http://www.douban.com/group/topic/20749798/">http://www.douban.com/group/topic/20749798/</a><img src ="http://www.cppblog.com/flyinghare/aggbug/174954.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/flyinghare/" target="_blank">会飞的兔子</a> 2012-05-15 11:36 <a href="http://www.cppblog.com/flyinghare/archive/2012/05/15/174954.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>让你的TextMate支持GB2312,BIG等亚洲编码</title><link>http://www.cppblog.com/flyinghare/archive/2012/02/04/164942.html</link><dc:creator>会飞的兔子</dc:creator><author>会飞的兔子</author><pubDate>Sat, 04 Feb 2012 06:58:00 GMT</pubDate><guid>http://www.cppblog.com/flyinghare/archive/2012/02/04/164942.html</guid><wfw:comment>http://www.cppblog.com/flyinghare/comments/164942.html</wfw:comment><comments>http://www.cppblog.com/flyinghare/archive/2012/02/04/164942.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/flyinghare/comments/commentRss/164942.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/flyinghare/services/trackbacks/164942.html</trackback:ping><description><![CDATA[<div><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">问题就是我们使用TextMate不支持GB2312等编码，用着及其不方便，下面是解决方案：&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">打开Bundle&nbsp;Editor&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">选则Show&nbsp;all&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">选则文件夹TextMate（或者随便你选则什么）&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">增加一个新的template&#8216;openEncodedFile&#8217;（或者随便你自己命名）&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">在Template&nbsp;data中如下设定&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">Extension：中&nbsp;留空&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; text-align: left; background-color: #ffffff; ">Command(s):<br /></span><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;open&nbsp;CocoaDialog's&nbsp;file&nbsp;select&nbsp;menu</span><span style="color: #008000; "><br /></span>file=$(CocoaDialog&nbsp;fileselect&nbsp;\<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--title&nbsp;<span style="font-weight: bold; ">"</span><span style="font-weight: bold; ">Open&nbsp;an&nbsp;encoded&nbsp;file</span><span style="font-weight: bold; ">"</span>&nbsp;\<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--with-directory&nbsp;<span style="color: #800080; ">$HOME</span>/&nbsp;\<br />)<br /><span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;check&nbsp;for&nbsp;valid&nbsp;file</span><span style="color: #008000; "><br /></span><span style="color: #0000FF; ">if</span>&nbsp;[&nbsp;-n&nbsp;<span style="font-weight: bold; ">"</span><span style="font-weight: bold; ">$file</span><span style="font-weight: bold; ">"</span>&nbsp;];&nbsp;then<br /><span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;open&nbsp;CocoaDialog's&nbsp;dropdown&nbsp;menu<br />#&nbsp;for&nbsp;more&nbsp;encodings&nbsp;add&nbsp;them&nbsp;to&nbsp;'--items'<br />#&nbsp;to&nbsp;list&nbsp;all&nbsp;possibile&nbsp;encodings&nbsp;use&nbsp;the&nbsp;Terminal&nbsp;with&nbsp;'iconv&nbsp;-l'</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res=$(CocoaDialog&nbsp;dropdown&nbsp;\<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--title&nbsp;<span style="font-weight: bold; ">"</span><span style="font-weight: bold; ">Open&nbsp;an&nbsp;encoded&nbsp;file</span><span style="font-weight: bold; ">"</span>&nbsp;\<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--text&nbsp;<span style="font-weight: bold; ">"</span><span style="font-weight: bold; ">Choose&nbsp;the&nbsp;encoding:</span><span style="font-weight: bold; ">"</span>&nbsp;\<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;??<span style="color: #0000FF; ">exit</span>?onchange&nbsp;\<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--button1&nbsp;<span style="font-weight: bold; ">"</span><span style="font-weight: bold; ">Open</span><span style="font-weight: bold; ">"</span>&nbsp;\<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--button2&nbsp;<span style="font-weight: bold; ">"</span><span style="font-weight: bold; ">Cancel</span><span style="font-weight: bold; ">"</span>&nbsp;\<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--items&nbsp;<span style="font-weight: bold; ">"</span><span style="font-weight: bold; ">BIG5</span><span style="font-weight: bold; ">"</span>&nbsp;<span style="font-weight: bold; ">"</span><span style="font-weight: bold; ">EUC-TW</span><span style="font-weight: bold; ">"</span>&nbsp;<span style="font-weight: bold; ">"</span><span style="font-weight: bold; ">GB2312</span><span style="font-weight: bold; ">"</span>&nbsp;<span style="font-weight: bold; ">"</span><span style="font-weight: bold; ">SJIS</span><span style="font-weight: bold; ">"</span>&nbsp;<span style="font-weight: bold; ">"</span><span style="font-weight: bold; ">EUC-JP</span><span style="font-weight: bold; ">"</span>&nbsp;<span style="font-weight: bold; ">"</span><span style="font-weight: bold; ">KOI8-R</span><span style="font-weight: bold; ">"</span>&nbsp;\<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br /><span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;if&nbsp;user&nbsp;canceled&nbsp;exit</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[&nbsp;$(&nbsp;(tail&nbsp;-r&nbsp;&lt;&lt;&lt;<span style="font-weight: bold; ">"</span><span style="font-weight: bold; ">$res</span><span style="font-weight: bold; ">"</span>)&nbsp;|&nbsp;tail&nbsp;-n1)&nbsp;&nbsp;==&nbsp;<span style="font-weight: bold; ">"</span><span style="font-weight: bold; ">2</span><span style="font-weight: bold; ">"</span>&nbsp;]]&nbsp;&amp;&amp;&nbsp;\<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit_discard<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res=$(tail&nbsp;-n1&nbsp;&lt;&lt;&lt;<span style="font-weight: bold; ">"</span><span style="font-weight: bold; ">$res</span><span style="font-weight: bold; ">"</span>)<br /><span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;add&nbsp;more&nbsp;'elif'&nbsp;according&nbsp;to&nbsp;'--items'&nbsp;if&nbsp;needed</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;[&nbsp;<span style="font-weight: bold; ">"</span><span style="font-weight: bold; ">$res</span><span style="font-weight: bold; ">"</span>&nbsp;==&nbsp;<span style="color: #800000; ">0</span>&nbsp;];&nbsp;then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENC=<span style="font-weight: bold; ">"</span><span style="font-weight: bold; ">BIG5</span><span style="font-weight: bold; ">"</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elif&nbsp;[&nbsp;<span style="font-weight: bold; ">"</span><span style="font-weight: bold; ">$res</span><span style="font-weight: bold; ">"</span>&nbsp;==&nbsp;<span style="color: #800000; ">1</span>&nbsp;];&nbsp;then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENC=<span style="font-weight: bold; ">"</span><span style="font-weight: bold; ">EUC-TW</span><span style="font-weight: bold; ">"</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elif&nbsp;[&nbsp;<span style="font-weight: bold; ">"</span><span style="font-weight: bold; ">$res</span><span style="font-weight: bold; ">"</span>&nbsp;==&nbsp;<span style="color: #800000; ">2</span>&nbsp;];&nbsp;then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENC=<span style="font-weight: bold; ">"</span><span style="font-weight: bold; ">GB2312</span><span style="font-weight: bold; ">"</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elif&nbsp;[&nbsp;<span style="font-weight: bold; ">"</span><span style="font-weight: bold; ">$res</span><span style="font-weight: bold; ">"</span>&nbsp;==&nbsp;<span style="color: #800000; ">3</span>&nbsp;];&nbsp;then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENC=<span style="font-weight: bold; ">"</span><span style="font-weight: bold; ">SJIS</span><span style="font-weight: bold; ">"</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elif&nbsp;[&nbsp;<span style="font-weight: bold; ">"</span><span style="font-weight: bold; ">$res</span><span style="font-weight: bold; ">"</span>&nbsp;==&nbsp;<span style="color: #800000; ">4</span>&nbsp;];&nbsp;then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENC=<span style="font-weight: bold; ">"</span><span style="font-weight: bold; ">EUC-JP</span><span style="font-weight: bold; ">"</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elif&nbsp;[&nbsp;<span style="font-weight: bold; ">"</span><span style="font-weight: bold; ">$res</span><span style="font-weight: bold; ">"</span>&nbsp;==&nbsp;<span style="color: #800000; ">5</span>&nbsp;];&nbsp;then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENC=<span style="font-weight: bold; ">"</span><span style="font-weight: bold; ">KOI8-R</span><span style="font-weight: bold; ">"</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fi<br /><span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;start&nbsp;conversion&nbsp;to&nbsp;UTF-8&nbsp;and&nbsp;send&nbsp;the&nbsp;result&nbsp;as&nbsp;a&nbsp;new&nbsp;file&nbsp;back&nbsp;to&nbsp;TM</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iconv&nbsp;-f&nbsp;<span style="font-weight: bold; ">"</span><span style="font-weight: bold; ">$ENC</span><span style="font-weight: bold; ">"</span>&nbsp;-t&nbsp;utf-<span style="color: #800000; ">8</span>&nbsp;<span style="font-weight: bold; ">"</span><span style="font-weight: bold; ">$file</span><span style="font-weight: bold; ">"</span>&nbsp;&gt;&nbsp;<span style="font-weight: bold; ">"</span><span style="font-weight: bold; ">$TM_NEW_FILE</span><span style="font-weight: bold; ">"</span><br />fi</div><div>Output:&nbsp;Insert&nbsp;as&nbsp;Text&nbsp;<br />-&nbsp;Activation:&nbsp;Key&nbsp;Equivalent&nbsp;shift+option+o&nbsp;(我的建议)&nbsp;<br />-&nbsp;Scope:&nbsp;留空</div></div><img src ="http://www.cppblog.com/flyinghare/aggbug/164942.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/flyinghare/" target="_blank">会飞的兔子</a> 2012-02-04 14:58 <a href="http://www.cppblog.com/flyinghare/archive/2012/02/04/164942.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在Mac OS X 10.5 中打开PHP支援</title><link>http://www.cppblog.com/flyinghare/archive/2012/01/18/164350.html</link><dc:creator>会飞的兔子</dc:creator><author>会飞的兔子</author><pubDate>Wed, 18 Jan 2012 14:30:00 GMT</pubDate><guid>http://www.cppblog.com/flyinghare/archive/2012/01/18/164350.html</guid><wfw:comment>http://www.cppblog.com/flyinghare/comments/164350.html</wfw:comment><comments>http://www.cppblog.com/flyinghare/archive/2012/01/18/164350.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/flyinghare/comments/commentRss/164350.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/flyinghare/services/trackbacks/164350.html</trackback:ping><description><![CDATA[<div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "><span style="color: #000000; ">Mac OS X 10.5原本就内建Apache 2.2.6 与PHP 5.2.4</span></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "><span style="color: #000000; ">不过预设分享网页后(也就是启动Apache之后)，PHP的module并没有挂上</span></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "><span style="color: #000000; ">以下就来说明要如何挂上。</span></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "></div><span style="color: #000000; ">由于小弟比较习惯用终端机，因此底下的操作都在终端机底下执行，并以root权限配合vim编辑。</span><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "><span style="color: #000000; ">首先打开/etc/apache2/httpd.conf</span></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "><span style="color: #000000; ">此为Apache主要设定档。找到关于PHP的设定：</span></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "><div></div><div></div><blockquote><div><span style="color: #000000; ">113 LoadModule bonjour_module libexec/apache2/mod_bonjour.so</span></div><div><span style="color: #000000; ">114 #LoadModule php5_module libexec/apache2/libphp5.so #就是这行</span></div><div><span style="color: #000000; ">115 #LoadModule fastcgi_module libexec/apache2/mod_fastcgi.so</span></div></blockquote><div></div><div></div><div></div></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "><span style="color: #000000; ">移除开头的注解(#)后，使该行成为</span></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "><div></div><blockquote><div><span style="color: #000000; ">114 LoadModule php5_module libexec/apache2/libphp5.so</span></div><div></div></blockquote><div></div></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "><span style="color: #000000; ">修改并存档后，回到/etc中，将php.ini.default复制为php.ini。</span></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "></div><blockquote style="font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "><div><span style="color: #000000; "># cp /etc/php.ini.default /etc/php.ini</span></div><div></div></blockquote><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "><span style="color: #000000; ">预设是只有比较重大的错误才会回报，可提升效能。</span></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "><span style="color: #000000; ">如果希望每个错误都回报的话，请编辑第305行的</span></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "></div><blockquote style="font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "><div><span style="color: #000000; ">305 ;error_reporting = E_ALL &amp; ~E_NOTICE</span></div><div></div></blockquote><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "><span style="color: #000000; ">改为</span></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "><blockquote><span style="color: #000000; ">305 error_reporting = E_ALL</span></blockquote></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "><span style="color: #000000; ">存档之后就可以了。</span></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "><span style="color: #000000; ">最后进入系统偏好设定中，打开分享中的网页分享，你的网页伺服器就开始运作啰！</span></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "><span style="color: #000000; ">如果懒的话，也可以利用Apache提供的工具</span></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "><blockquote><span style="color: #000000; "># apachectl -k restart</span></blockquote></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "><span style="color: #000000; ">如果您要测试的话，那么就在/Libary/WebServer/Documents/新增一个测试的档案test.php</span></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "><span style="color: #000000; ">内容为</span></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #000000; "> &nbsp; &lt;?php phpinfo(); ?&gt;</span></div></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "><span style="color: #000000; ">用浏览器打开</span></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "><span style="color: #000000; ">http://127.0.0.1/test.php</span></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "><span style="color: #000000; ">如果出现PHP模组的各种资讯，就代表网页伺服器已经可以支援PHP啰！</span></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "><span style="color: #000000; ">另外，如果希望可以将网页存放于个人资料夹中的Sites资料夹的话</span></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "><span style="color: #000000; ">确定/etc/apache2/users/中含有已你的使用者名称为名的$USER.conf</span></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "><span style="color: #000000; ">若无，则从/etc/httpd/users中复制到/etc/apache2/users/即可。</span></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "><blockquote><span style="color: #000000; ">cp /etc/httpd/users/$USER.conf /etc/apache2/users/</span></blockquote></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "><span style="color: #000000; ">本页面参考</span></div><div style="color: #aaaaaa; font-family: georgia, Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; text-align: justify; "><span style="text-decoration: none; color: #000000; "><a href="http://foundationphp.com/tutorials/php_leopard.php" style="color: #8d8c8c; text-decoration: none; ">http://foundationphp.com/tutorials/php_leopard.php<br /><br /></a><a href="http://foundationphp.com/tutorials/php_leopard.php"><br />转自</a>：</span>http://www.cnblogs.com/billy3321/articles/1733303.html</div></div><img src ="http://www.cppblog.com/flyinghare/aggbug/164350.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/flyinghare/" target="_blank">会飞的兔子</a> 2012-01-18 22:30 <a href="http://www.cppblog.com/flyinghare/archive/2012/01/18/164350.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在Finder中显示隐藏文件&lt;Mac OS X Snow Leopard&gt;</title><link>http://www.cppblog.com/flyinghare/archive/2012/01/14/164181.html</link><dc:creator>会飞的兔子</dc:creator><author>会飞的兔子</author><pubDate>Sat, 14 Jan 2012 11:23:00 GMT</pubDate><guid>http://www.cppblog.com/flyinghare/archive/2012/01/14/164181.html</guid><wfw:comment>http://www.cppblog.com/flyinghare/comments/164181.html</wfw:comment><comments>http://www.cppblog.com/flyinghare/archive/2012/01/14/164181.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/flyinghare/comments/commentRss/164181.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/flyinghare/services/trackbacks/164181.html</trackback:ping><description><![CDATA[<br />
<div>
<div><strong>To Show hidden files in Finder:&nbsp;</strong></div>
<div><strong style="color: #800080; ">A.</strong> Open terminal and type:</div>
<div>&nbsp; &nbsp; &nbsp;<span style="color: #ff00ff; ">defaults write com.apple.Finder AppleShowAllFiles YES</span></div>
<div><strong style="color: #800080; ">B. </strong>Restart finder by holding the option (or PC keyboard Alt) key and right-clicking (or click-and-hold the left mouse button) on the Finder icon in the dock. Select "Restart Finder".</div>
<div></div>
<div><br /><strong>To Hide hidden files in Finder:</strong></div>
<div><strong style="color: #800080; ">A. </strong>Open terminal and type:</div>
<div>&nbsp; &nbsp; &nbsp;<span style="color: #ff00ff; ">defaults write com.apple.Finder AppleShowAllFiles NO</span></div>
<div><strong style="color: #800080; ">B. </strong>Restart finder by holding the option (or PC keyboard Alt) key and right-clicking (or click-and-hold the left mouse button) on the Finder icon in the dock. Select "Restart Finder".</div>
</div>
<br />
<br />
转自：<a href="http://hi.baidu.com/ibruce_qiao/blog/item/7b196b1485e82905c83d6de2.html">http://hi.baidu.com/ibruce_qiao/blog/item/7b196b1485e82905c83d6de2.html</a><img src ="http://www.cppblog.com/flyinghare/aggbug/164181.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/flyinghare/" target="_blank">会飞的兔子</a> 2012-01-14 19:23 <a href="http://www.cppblog.com/flyinghare/archive/2012/01/14/164181.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>完美实现自定义软键盘</title><link>http://www.cppblog.com/flyinghare/archive/2011/10/26/159164.html</link><dc:creator>会飞的兔子</dc:creator><author>会飞的兔子</author><pubDate>Wed, 26 Oct 2011 14:06:00 GMT</pubDate><guid>http://www.cppblog.com/flyinghare/archive/2011/10/26/159164.html</guid><wfw:comment>http://www.cppblog.com/flyinghare/comments/159164.html</wfw:comment><comments>http://www.cppblog.com/flyinghare/archive/2011/10/26/159164.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/flyinghare/comments/commentRss/159164.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/flyinghare/services/trackbacks/159164.html</trackback:ping><description><![CDATA[<span  style="font-family: Verdana; font-size: 13px; line-height: normal; ">有一种思路叫寄生...<br />
<br />
我相信是懒人推动了世界的发展，既然iphone有了自己的软件盘，我们什么还要自己实现其功能呢。<br />
so，只要寄生在上面就行了。<br />
<br />
感谢alan转载的文章给的灵感。<br />
<a href="http://www.cocoachina.com/bbs/read.php?tid-3999.html" target="_blank" id="url_1" style="text-decoration: none; ">http://www.cocoachina.com/bbs/read.php?tid-3999.html</a><br />
<br />
思路：<br />
1.用静态方法找到应用程序当前view(window)中的UIKeyboard的view<br />
2.在键盘的view上帖上自己的view，（精彩了，这个自己的view就是你自己键盘，任意发挥，什么类型键盘都可以做了）<br />
3.根据需要调整系统键盘的大小以满足你想要的尺寸<br />
4.给自己的键盘view上的button添加方法，实现功能<br />
<br />
主要代码：<br />
添加自身类为键盘事件的观察者<br />
<table cellspacing="0" cellpadding="0" width="80%">
    <tbody>
        <tr>
            <td style="font-size: 12px; ">
            <div class="c"></div>
            <span class="f10 s8"><a href="http://www.cocoachina.com/bbs/simple/?t12429.html" style="text-decoration: none; ">复制代码</a></span>
            <div class="blockquote2" id="code1">
            <ol>
                <li>[[NSNotificationCenter defaultCenter] addObserver:self&nbsp;<br />
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; selector:@selector(keyboardWillShow:)&nbsp;<br />
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name:UIKeyboardWillShowNotification&nbsp;<br />
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; object:nil];</li>
            </ol>
            </div>
            </td>
        </tr>
    </tbody>
</table>
<br />
<br />
核心思路代码：<br />
<table cellspacing="0" cellpadding="0" width="80%">
    <tbody>
        <tr>
            <td style="font-size: 12px; ">
            <div class="c"></div>
            <span class="f10 s8"><a href="http://www.cocoachina.com/bbs/simple/?t12429.html" style="text-decoration: none; ">复制代码</a></span>
            <div class="blockquote2" id="code2">
            <ol>
                <li><br />
                - (void)keyboardWillShow:(NSNotification *)note&nbsp;<br />
                {&nbsp;&nbsp;<br />
                &nbsp;&nbsp;&nbsp;&nbsp;UIWindow* tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:1];//知识点<br />
                &nbsp;&nbsp;&nbsp;&nbsp;for(int i=0; i&lt;[tempWindow.subviews count]; i++)&nbsp;<br />
                &nbsp;&nbsp;&nbsp;&nbsp;{<br />
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;keyboard = [tempWindow.subviews objectAtIndex:i];<br />
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if([[keyboard description] hasPrefix:@"&lt;UIKeyboard"] == YES)<br />
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[keyboard setFrame:CGRectMake(0, 460, 320, 345)];<br />
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[self congfigKeypad];<br />
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[keyboard addSubview:keyPadView1];<br />
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
                &nbsp;&nbsp;&nbsp;&nbsp;}<br />
                }</li>
            </ol>
            </div>
            </td>
        </tr>
    </tbody>
</table>
<br />
<br />
比如配置方法可以是这样：<br />
<table cellspacing="0" cellpadding="0" width="80%">
    <tbody>
        <tr>
            <td style="font-size: 12px; ">
            <div class="c"></div>
            <span class="f10 s8"><a href="http://www.cocoachina.com/bbs/simple/?t12429.html" style="text-decoration: none; ">复制代码</a></span>
            <div class="blockquote2" id="code3">
            <ol>
                <li>-(void)congfigKeypad<br />
                {<br />
                &nbsp;&nbsp; SearBtn *one = [[SearBtn alloc] initWithFrame:CGRectMake(81, 3, kNumPadW, kNumPadH) index:1 ContextString:@"1" type:kNumPadType];<br />
                &nbsp;&nbsp;&nbsp;&nbsp;[one setImage:[UIImage imageNamed:@"1.png"] forState:UIControlStateNormal];<br />
                &nbsp;&nbsp;&nbsp;&nbsp;[one addTarget:self action:@selector(buttonClickAtIndex:) forControlEvents:UIControlEventTouchUpInside];<br />
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//......略<br />
                }</li>
            </ol>
            </div>
            </td>
        </tr>
    </tbody>
</table>
<br />
<br />
添加NSMutalbeString作为文本域字串的容器，点击button后append的button对应的字串。<br />
<table cellspacing="0" cellpadding="0" width="80%">
    <tbody>
        <tr>
            <td style="font-size: 12px; ">
            <div class="c"></div>
            <span class="f10 s8"><a href="http://www.cocoachina.com/bbs/simple/?t12429.html" style="text-decoration: none; ">复制代码</a></span>
            <div class="blockquote2" id="code4">
            <ol>
                <li><br />
                - (void)buttonClickAtIndex:(id)sender<br />
                {<br />
                &nbsp;&nbsp;&nbsp;&nbsp;SearBtn *btnItem = (SearBtn*)sender;<br />
                &nbsp;&nbsp;&nbsp;&nbsp;NSString *str = btnItem-&gt;btnText;<br />
                &nbsp;&nbsp;&nbsp;&nbsp;[s_text appendString:str];<br />
                &nbsp;&nbsp;&nbsp;&nbsp;[sBar setText:s_text];<br />
                }</li>
            </ol>
            </div>
            </td>
        </tr>
    </tbody>
</table>
;<br />
<br />
再实现一个deleteChar的方法作为退格键<br />
思路：<br />
<table cellspacing="0" cellpadding="0" width="80%">
    <tbody>
        <tr>
            <td style="font-size: 12px; ">
            <div class="c"></div>
            <span class="f10 s8"><a href="http://www.cocoachina.com/bbs/simple/?t12429.html" style="text-decoration: none; ">复制代码</a></span>
            <div class="blockquote2" id="code5">
            <ol>
                <li><br />
                if ([s_text length] &gt; 0)<br />
                &nbsp;&nbsp;&nbsp;&nbsp;{<br />
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NSRange rang;<br />
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rang.location = [s_text length] - 1;<br />
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rang.length = 1;<br />
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[s_text deleteCharactersInRange:rang];<br />
                &nbsp;&nbsp;&nbsp;&nbsp;}<br />
                </li>
            </ol>
            </div>
            </td>
        </tr>
    </tbody>
</table>
<br />
<br />
现在点击各种文本域，应该就可以现实自己的键盘了。<br />
<br />
继续优化<br />
用textfield的代理方法控制键盘的字串类型，长度，和响应消失</span>
@import url(http://www.cppblog.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
<div><span  style="font-family: Verdana; font-size: 13px; line-height: normal; "><br />
</span></div>
<div><font  face="Verdana" size="2"><span  style="line-height: normal;">转自：http://www.cocoachina.com/bbs/simple/?t12429.html</span></font></div><img src ="http://www.cppblog.com/flyinghare/aggbug/159164.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/flyinghare/" target="_blank">会飞的兔子</a> 2011-10-26 22:06 <a href="http://www.cppblog.com/flyinghare/archive/2011/10/26/159164.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>通过 UIKeyboardWillShowNotification 捕获软键盘事件</title><link>http://www.cppblog.com/flyinghare/archive/2011/10/26/159160.html</link><dc:creator>会飞的兔子</dc:creator><author>会飞的兔子</author><pubDate>Wed, 26 Oct 2011 13:47:00 GMT</pubDate><guid>http://www.cppblog.com/flyinghare/archive/2011/10/26/159160.html</guid><wfw:comment>http://www.cppblog.com/flyinghare/comments/159160.html</wfw:comment><comments>http://www.cppblog.com/flyinghare/archive/2011/10/26/159160.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/flyinghare/comments/commentRss/159160.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/flyinghare/services/trackbacks/159160.html</trackback:ping><description><![CDATA[<span  style="font-family: Arial; font-size: 12px; line-height: 18px; ">
<div class="tit" style="font-family: Arial; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 14px; line-height: 18px; font-weight: bold; overflow-x: hidden; overflow-y: hidden; ">一个搜索效果的实现</div>
<div class="date" style="font-family: Arial; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: 18px; margin-top: 5px; margin-right: 0px; margin-bottom: 8px; margin-left: 0px; color: #999999; ">2008-11-02 14:11</div>
<table style="table-layout: fixed; width: 958px; ">
    <tbody>
        <tr>
            <td style="font-family: Arial; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: 18px; ">
            <div id="blog_text" class="cnt" style="font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 14px; line-height: 20px; color: #666666; overflow-x: hidden; overflow-y: hidden; position: relative !important; ">iPhone内置的Safari程序，点URL条，键盘和URL条中间部分变灰显示，然后随着URL的输入，在中间以UITableView显示搜索的结果。好多iPhone程序也都有类似的效果。这是如何实现的呢？下面说一下我的实现方法。<br style="line-height: normal; " />
            首先注册键盘事件UIKeyboardWillShowNotification的监听<br style="line-height: normal; " />
            [[NSNotificationCenter defaultCenter] addObserver:self&nbsp;<br style="line-height: normal; " />
            &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; selector:@selector(keyboardWillShow:)&nbsp;<br style="line-height: normal; " />
            &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; name:UIKeyboardWillShowNotification object:nil];&nbsp;<br style="line-height: normal; " />
            程序在点击textField或searchBar，键盘显示之前，会发送UIKeyboardWillShowNotification通知消息到我们注册的对象。在keyboardWillShow方法里，我们可以在要变灰的位置上加一个背景着色为黑色的UIView，并将其alpha属性设为0.9，以达到效果<br style="line-height: normal; " />
            - (void)keyboardWillShow:(NSNotification*)aNotification {<br style="line-height: normal; " />
            &nbsp;&nbsp;&nbsp; if (keyboardShown)&nbsp;<br style="line-height: normal; " />
            &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return;&nbsp;<br style="line-height: normal; " />
            &nbsp;&nbsp;&nbsp; NSDictionary* info = [aNotification userInfo];&nbsp;<br style="line-height: normal; " />
            <br style="line-height: normal; " />
            &nbsp;&nbsp;&nbsp; NSValue* aValue = [info objectForKey:UIKeyboardBoundsUserInfoKey];&nbsp;<br style="line-height: normal; " />
            &nbsp;&nbsp;&nbsp; //键盘的大小<br style="line-height: normal; " />
            &nbsp;&nbsp;&nbsp; CGSize keyboardRect = [aValue CGRectValue].size;<br style="line-height: normal; " />
            &nbsp;&nbsp;&nbsp; //计算覆盖上去的UIView的区域，因为键盘始终是在上面的，所以UIView *maskView下面可以大些，主要不要盖住上面的searchBar之类的内容。要显示结果的UITableView的大小则要根据键盘的大小算出确切的中间区域<br style="line-height: normal; " />
            &nbsp;&nbsp;&nbsp; ...<br style="line-height: normal; " />
            &nbsp;&nbsp;&nbsp; //将maskView移动最前面<br style="line-height: normal; " />
            &nbsp;&nbsp;&nbsp; [window bringSubviewToFront:maskView];<br style="line-height: normal; " />
            &nbsp;&nbsp;&nbsp; maskView.alpha = 0.0;<br style="line-height: normal; " />
            &nbsp;&nbsp;&nbsp; //设置动画和maskView最终的alpha值<br style="line-height: normal; " />
            &nbsp;&nbsp;&nbsp; [UIView beginAnimations:nil context:NULL];<br style="line-height: normal; " />
            &nbsp;&nbsp;&nbsp; [UIView setAnimationDuration:0.5];<br style="line-height: normal; " />
            &nbsp;&nbsp;&nbsp; maskView.alpha = 0.9;<br style="line-height: normal; " />
            &nbsp;&nbsp;&nbsp; [UIView commitAnimations];<br style="line-height: normal; " />
            &nbsp;&nbsp;&nbsp; keyboardShown = YES;&nbsp;<br style="line-height: normal; " />
            }<br style="line-height: normal; " />
            keyboardShown是用来跟踪键盘是否已经显示的布尔变量。如果有多个文本域，之间切换时虽然键盘不变，仍会生成UIKeyboardWillShowNotification。通过变量keyboardShown跟踪键盘是不是真的隐藏，可以保证这个效果只执行一次。<br style="line-height: normal; " />
            当searchBar有输入时，可参考官方例子TableSearch，把UITableView加到上面的maskView上。<br style="line-height: normal; " />
            当键盘隐藏时，把UITableView移掉，将maskView的alpha属性设为0，即可隐藏maskView。<br style="line-height: normal; " />
            实现方法可以更灵活，大体思路应该就是这样吧。</div>
            <div id="blog_text" class="cnt" style="font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 14px; line-height: 20px; color: #666666; overflow-x: hidden; overflow-y: hidden; position: relative !important; "><br />
            </div>
            <div id="blog_text" class="cnt" style="font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 14px; line-height: 20px; color: #666666; overflow-x: hidden; overflow-y: hidden; position: relative !important; ">转自：http://hi.baidu.com/programme/blog/item/6f8e4c08359015920b7b8249.html</div>
            </td>
        </tr>
    </tbody>
</table>
</span>
@import url(http://www.cppblog.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);<img src ="http://www.cppblog.com/flyinghare/aggbug/159160.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/flyinghare/" target="_blank">会飞的兔子</a> 2011-10-26 21:47 <a href="http://www.cppblog.com/flyinghare/archive/2011/10/26/159160.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Mac OS X非活跃内存释放</title><link>http://www.cppblog.com/flyinghare/archive/2011/09/18/156066.html</link><dc:creator>会飞的兔子</dc:creator><author>会飞的兔子</author><pubDate>Sat, 17 Sep 2011 16:19:00 GMT</pubDate><guid>http://www.cppblog.com/flyinghare/archive/2011/09/18/156066.html</guid><wfw:comment>http://www.cppblog.com/flyinghare/comments/156066.html</wfw:comment><comments>http://www.cppblog.com/flyinghare/archive/2011/09/18/156066.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/flyinghare/comments/commentRss/156066.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/flyinghare/services/trackbacks/156066.html</trackback:ping><description><![CDATA[<span  style="color: #333333; font-family: 'Trebuchet MS', Tahoma, Arial; font-size: 12px; line-height: 18px; ">
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; text-indent: 2em; "><br />
</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; text-indent: 2em; ">自从升级lion后内存使用过大一直是一个很头疼的问题，一个不小心4G内存就只剩几百M了。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; text-indent: 2em; ">买了一根4G的内存条替换以前的2G，这样就有6G内存了。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; text-indent: 2em; ">本来以为没什么问题了，但是机器跑久了，6G内存的可用空间还是会用的所剩无几。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; text-indent: 2em; ">已使用的内存分为3种，联动、活跃和非活跃的，具体介绍见<a href="http://support.apple.com/kb/HT1342?viewlocale=en_US" style="color: #0c72a2; text-decoration: none; ">这里</a>。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; text-indent: 2em; ">简单的说，OS X的内存使用情况分为wired、active、inactive、free四种。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; text-indent: 2em; ">wired是系统核心占用的，永远不会从系统物理内存种驱除。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; text-indent: 2em; ">active表示这些内存数据正在使用中，或者刚被使用过。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; text-indent: 2em; ">inactive表示这些内存中的数据是有效的，但是最近没有被使用。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; text-indent: 2em; ">free, 表示这些内存中的数据是无效的，这些空间可以随时被程序使用。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; text-indent: 2em; ">当free memory低于某个值（由实际内存大小决定），系统则会按照一定顺序使用inactive的资源。将inactive的资源通过一定原则释放成free。供程序使用。如果active的内存资源一段时间没有被使用，也会被暂时改为inactive状态。同样，当需要时这部分inactive内存资源也会释放成free供程序使用。那么被释放的部分就会分配到磁盘虚拟的内存中。（这也是为什么当磁盘可用空间低于10Ｇ的时候会影响系统速度的原因）。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; text-indent: 2em; ">所以，当系统里有少量的free memory和大量的inactive memory，是正常现象。只要系统或程序需要时,系统就会将其转换并使用。但是，如果系统的free memory和inactive memory都很小，而active memory很大，则说明你的内存不够了。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; text-indent: 2em; ">以上说明OS X对于内存的管理不需要我们自己来操心。一切都由系统自己动来平衡。</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; text-indent: 2em; ">而WIN系统为了兼容不规范的程序，系统允许程序长时间或一直占用内存不释放。所以需要常常重启。</p>
</span><span  style="color: #333333; font-family: 'Trebuchet MS', Tahoma, Arial; font-size: 12px; line-height: 18px; ">
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; text-indent: 2em; ">如果你确实需要手动的清理inactive memory，那么，可以在终端执行以下命令。</p>
</span><span  style="color: #333333; font-family: 'Trebuchet MS', Tahoma, Arial; font-size: 12px; line-height: 18px; ">
<div class="post-content" style="clear: both; padding-top: 10px; ">
<div class="dp-highlighter" style="font-family: Consolas, 'Courier New', Courier, mono; font-size: 12px; background-color: #e7e5dc; width: 534px; overflow-x: auto; overflow-y: auto; margin-top: 18px; margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding-top: 1px; ">
<ol start="1" class="dp-cpp" style="list-style-type: decimal-leading-zero; list-style-position: initial; list-style-image: initial; background-color: #ffffff; margin-top: 0px; margin-right: 0px; margin-bottom: 1px; margin-left: 45px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #5c5c5c; ">
    <li class="alt" style="border-left-width: 3px; border-left-style: solid; border-left-color: #6ce26c; background-color: #ffffff; padding-left: 10px; line-height: 14px; "><span style="color: black; "><span style="color: black; ">purge&nbsp;&nbsp;</span></span></li>
</ol>
</div>
</div>
<h3 id="respond" style="font: normal normal normal 140%/100% 'Trebuchet MS', Tahoma, Arial; color: #0c72a2; margin-top: 10px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #4395bc; padding-top: 10px; padding-right: 0px; padding-bottom: 5px; padding-left: 0px; clear: both; ">转自：http://www.dlfen.com/?p=261</h3>
</span>
@import url(http://www.cppblog.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);<img src ="http://www.cppblog.com/flyinghare/aggbug/156066.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/flyinghare/" target="_blank">会飞的兔子</a> 2011-09-18 00:19 <a href="http://www.cppblog.com/flyinghare/archive/2011/09/18/156066.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>记录一些Mac OS X技巧</title><link>http://www.cppblog.com/flyinghare/archive/2011/09/17/156040.html</link><dc:creator>会飞的兔子</dc:creator><author>会飞的兔子</author><pubDate>Sat, 17 Sep 2011 10:32:00 GMT</pubDate><guid>http://www.cppblog.com/flyinghare/archive/2011/09/17/156040.html</guid><wfw:comment>http://www.cppblog.com/flyinghare/comments/156040.html</wfw:comment><comments>http://www.cppblog.com/flyinghare/archive/2011/09/17/156040.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/flyinghare/comments/commentRss/156040.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/flyinghare/services/trackbacks/156040.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 用了几个月Mac OS X，发现很多东西不记录下来就会找不到，于是就有了这篇日志。    重启Finder    有些设置更改以后需要重启Finder才能生效，最简单的方法就是按住option，再右键点击Finder，选择&#8220;重新开启&#8221;。    此外还可在终端运行如下代码：    killall Finder        plist配置文件 ...&nbsp;&nbsp;<a href='http://www.cppblog.com/flyinghare/archive/2011/09/17/156040.html'>阅读全文</a><img src ="http://www.cppblog.com/flyinghare/aggbug/156040.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/flyinghare/" target="_blank">会飞的兔子</a> 2011-09-17 18:32 <a href="http://www.cppblog.com/flyinghare/archive/2011/09/17/156040.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>为UIView及其子类添加圆角边框</title><link>http://www.cppblog.com/flyinghare/archive/2011/07/13/150903.html</link><dc:creator>会飞的兔子</dc:creator><author>会飞的兔子</author><pubDate>Wed, 13 Jul 2011 14:19:00 GMT</pubDate><guid>http://www.cppblog.com/flyinghare/archive/2011/07/13/150903.html</guid><wfw:comment>http://www.cppblog.com/flyinghare/comments/150903.html</wfw:comment><comments>http://www.cppblog.com/flyinghare/archive/2011/07/13/150903.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/flyinghare/comments/commentRss/150903.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/flyinghare/services/trackbacks/150903.html</trackback:ping><description><![CDATA[<span style="font-family: Arial, sans-serif, Helvetica, Tahoma; line-height: 25px; ">
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">1.<span style="color: #505050; line-height: 18px; ">添加QuartzCore.framework</span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">2.实现代码</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span style="font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; font-size: 12px; ">
</span></p>
<ol start="1" class="dp-cpp" style="font-size: 1em; line-height: 1.4em; margin-top: 0px; margin-right: 0px; margin-bottom: 1px; margin-left: 0px; padding-top: 2px; padding-right: 0px; padding-bottom: 2px; padding-left: 0px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #d1d7dc; border-right-color: #d1d7dc; border-bottom-color: #d1d7dc; border-left-color: #d1d7dc; list-style-type: decimal; list-style-position: initial; list-style-image: initial; background-color: #ffffff; color: #2b91af; ">
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; "><span style="color: black; ">UIView&nbsp;*bfPanel&nbsp;=&nbsp;[[UIView&nbsp;alloc]initWithFrame:CGRectMake(x,&nbsp;y,&nbsp;width,&nbsp;height)];&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">bfPanel.layer.masksToBounds&nbsp;=&nbsp;YES;&nbsp;&nbsp;</span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">bfPanel.layer.borderWidth&nbsp;&nbsp;=1;&nbsp;&nbsp;</span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">bfPanel.layer.cornerRadius&nbsp;=&nbsp;10;&nbsp;&nbsp;</span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">bfPanel.layer.borderColor=&nbsp;[[UIColor&nbsp;colorWithRed:0.52&nbsp;green:0.09&nbsp;blue:0.07&nbsp;alpha:1]&nbsp;CGColor];&nbsp;&nbsp;</span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">[mainView&nbsp;addSubview:bfPanel];&nbsp;&nbsp;</span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">y&nbsp;+=height+10; &nbsp;</span></li>
</ol>
</span>
<p>&nbsp;转自：http://gekie.iteye.com/blog/1088427</p><img src ="http://www.cppblog.com/flyinghare/aggbug/150903.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/flyinghare/" target="_blank">会飞的兔子</a> 2011-07-13 22:19 <a href="http://www.cppblog.com/flyinghare/archive/2011/07/13/150903.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>（译）iPhone上面的现实增强（Augmented Reality ）入门教程</title><link>http://www.cppblog.com/flyinghare/archive/2011/07/04/150103.html</link><dc:creator>会飞的兔子</dc:creator><author>会飞的兔子</author><pubDate>Mon, 04 Jul 2011 03:57:00 GMT</pubDate><guid>http://www.cppblog.com/flyinghare/archive/2011/07/04/150103.html</guid><wfw:comment>http://www.cppblog.com/flyinghare/comments/150103.html</wfw:comment><comments>http://www.cppblog.com/flyinghare/archive/2011/07/04/150103.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/flyinghare/comments/commentRss/150103.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/flyinghare/services/trackbacks/150103.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 免责申明（必读！）：本博客提供的所有教程的翻译原稿均来自于互联网，仅供学习交流之用，切勿进行商业传播。同时，转载时不要移除本申明。如产生任何纠纷，均与本博客所有人、发表该翻译稿之人无任何关系。谢谢合作！原文链接地址：http://www.raywenderlich.com/3997/introduction-to-augmented-reality-on-the-iphone教程截图：Create...&nbsp;&nbsp;<a href='http://www.cppblog.com/flyinghare/archive/2011/07/04/150103.html'>阅读全文</a><img src ="http://www.cppblog.com/flyinghare/aggbug/150103.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/flyinghare/" target="_blank">会飞的兔子</a> 2011-07-04 11:57 <a href="http://www.cppblog.com/flyinghare/archive/2011/07/04/150103.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Three20系列之Three20概述</title><link>http://www.cppblog.com/flyinghare/archive/2011/06/26/149489.html</link><dc:creator>会飞的兔子</dc:creator><author>会飞的兔子</author><pubDate>Sun, 26 Jun 2011 04:26:00 GMT</pubDate><guid>http://www.cppblog.com/flyinghare/archive/2011/06/26/149489.html</guid><wfw:comment>http://www.cppblog.com/flyinghare/comments/149489.html</wfw:comment><comments>http://www.cppblog.com/flyinghare/archive/2011/06/26/149489.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/flyinghare/comments/commentRss/149489.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/flyinghare/services/trackbacks/149489.html</trackback:ping><description><![CDATA[<div><span style="font-family: 'DejaVu Sans', 'Lucida Grande', Tahoma, 'Hiragino Sans GB', STHeiti, SimSun, sans-serif; border-collapse: collapse; color: #444444; ">Three20在概念上分为四个部分：所有一切的中心是<strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-weight: 700; ">内核(Core)</strong>，围绕在它周围是的<strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-weight: 700; ">网络(Network)</strong>、<strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-weight: 700; ">用户界面(UI)</strong>和<strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-weight: 700; ">样式(Style)</strong>。<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /><br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /><img src="http://www.yuephone.com/data/attachment/album/201006/20/003902btb31rwtg1xgq7xb.png" alt="" width="300" height="281" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " />&nbsp;<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /><br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /><strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-weight: 700; ">内核(Core)</strong><br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " />考虑到内核(Core)就像是Objective-C开发的瑞士军刀一样，我们应该花一些时间来熟悉它的功能特点。<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " />通过Three20内核(Core)，可以：<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /><ul style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 14px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; "><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 2em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; list-style-type: disc; list-style-position: initial; list-style-image: initial; ">从NSData对象生成MD5哈希；</li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 2em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; list-style-type: disc; list-style-position: initial; list-style-image: initial; ">扩展Xcode的日志记录和调试能力；</li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 2em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; list-style-type: disc; list-style-position: initial; list-style-image: initial; ">对比以字符串为版本号的版本大小 (例如：版本号为3.0比版本号为3.1的版本更早)；</li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 2em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; list-style-type: disc; list-style-position: initial; list-style-image: initial; ">给委托(delegate)创建不会引用计数(non-retaining)的数组(NSArrays)和字典(NSDictionaries)使用；</li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 2em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; list-style-type: disc; list-style-position: initial; list-style-image: initial; ">清除字符串中的HTML标签；</li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 2em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; list-style-type: disc; list-style-position: initial; list-style-image: initial; ">安全地在字典中(NSDictionaries)添加非空字符(non-empty, non-nil)；</li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 2em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; list-style-type: disc; list-style-position: initial; list-style-image: initial; ">格式化相对时间(例如：5小时前)。<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /></li></ul>我们可以在Three20的Xcode项目中如下位置找到上述所有方法：<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /><strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-weight: 700; ">Global =&gt; Core</strong>&nbsp;和&nbsp;<strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-weight: 700; ">Global =&gt; Additions =&gt; Core groups</strong>。<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /><br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /><strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-weight: 700; ">网络(Network)</strong><br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " />如果我们正在构建基于Web API的应用，Three20的网络(Network)组件将会使我们的工作更加容易。Three20支持磁盘和内存方式的网络缓存。并且有一个建立在网络请求之上的处理层，使得更容易地处理网络返回数据。<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /><br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /><strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-weight: 700; ">用户界面(UI)</strong><br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " />Three20的用户界面(UI)包含了一个正在不断完善的通用视图和控制器集。著名的Facebook照片浏览和缩略图查看器就是其中之一。<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /><img src="http://www.yuephone.com/data/attachment/album/201006/20/003909c4qgb3ccec99bxcw.png" alt="" width="600" height="436" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; cursor: pointer; " />&nbsp;<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /><br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " />如果想模仿iPhone邮件应用中的邮件编辑器，可以使用TTMessageController组件；如果想采用像Facebook那样的消息发送窗口，可以使用TTPostController组件。<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /><img src="http://www.yuephone.com/data/attachment/album/201006/20/00390101nk818zczb6ny1s.png" alt="" width="600" height="436" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; cursor: pointer; " />&nbsp;<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /><br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " />还有支持Safari和YouTube的视图控制器。<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /><img src="http://www.yuephone.com/data/attachment/album/201006/20/0038594ppnrbnp2u744cr7.png" alt="" width="320" height="480" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " />&nbsp;<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /><br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " />Three20有一个功能强大的表格结构：单元格/条目结构。它在标准的苹果单元格类型基础上添加了几种特殊的单元格类型。通过它可以方便地创建一些包含内嵌控件的表格视图控制器。例如：<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /><img src="http://www.yuephone.com/data/attachment/album/201006/20/0039143y60xoxx56cmb3lk.png" alt="" width="600" height="436" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; cursor: pointer; " />&nbsp;<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /><br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /><img src="http://www.yuephone.com/data/attachment/album/201006/20/003916p93z98rrsmwcrmpp.png" alt="" width="600" height="436" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; cursor: pointer; " />&nbsp;<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /><br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " />如果想在应用程序中显示一个更小的活动指示器，可以使用Three20中的活动标签，它提供了指示器+文本+进度条的显示方式。<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /><img src="http://www.yuephone.com/data/attachment/album/201006/20/003858e0f5flxmk500ex5q.png" alt="" width="320" height="480" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " />&nbsp;<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /><br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " />使用TTLauncherView组件来模拟iPhone的桌面。<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; "><img src="http://www.yuephone.com/data/attachment/album/201006/20/003859aqid18hh67688ohb.png" alt="" width="320" height="480" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /></p><br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " />支持在顶部的分页标签。<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; "><img src="http://www.yuephone.com/data/attachment/album/201006/20/003918rcg25nrwsm8osr4g.png" alt="" width="320" height="480" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /></p><br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /><strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-weight: 700; ">样式(Style)</strong><br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " />Three20的样式组件能非常方便的声明和复用。通过自定义样式表, 可以用几个简单的声明就可以创建可以圆角的按钮、阴影、渐变和边框。下面是几个样式表元素的例子：&nbsp;<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /><p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; "><img src="http://www.yuephone.com/data/attachment/album/201006/20/003911iboodohobookd1io.png" alt="" width="600" height="436" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; cursor: pointer; " /></p><br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /><img src="http://www.yuephone.com/data/attachment/album/201006/20/0039121xbwbx0xn9wwxyhh.png" alt="" width="600" height="436" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; cursor: pointer; " />&nbsp;<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /><strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; font-weight: 700; "><br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " />Three20是否适合你的项目？</strong><br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " />如果我们是在创建于一个本地应用程序，需要与Web API通信或者访问Web上图片，那么Three20毫无疑问会帮我们节省大量时间。如果上面说的那些都不需要做，那么我们仍然可以在Three20中找到很多有用的代码。另外，Three20是基于Apache2.0许可的，我们可以随心所欲的选择和使用，完全不用担心许可的问题。<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /><br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " />简单总结一下吧: 对, 我们要的就是它。<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " /><br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; word-wrap: break-word; " />现在我们了解了Three20的一些基本概念，下面让我们深入的了解它。<br />转自：</span>http://www.yuephone.com/forum.php?mod=viewthread&amp;tid=7&amp;extra=page%3D1</div><img src ="http://www.cppblog.com/flyinghare/aggbug/149489.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/flyinghare/" target="_blank">会飞的兔子</a> 2011-06-26 12:26 <a href="http://www.cppblog.com/flyinghare/archive/2011/06/26/149489.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在真机上运行时出现“Error launching remote program: failed to get the task for process xxx"</title><link>http://www.cppblog.com/flyinghare/archive/2011/06/24/149411.html</link><dc:creator>会飞的兔子</dc:creator><author>会飞的兔子</author><pubDate>Fri, 24 Jun 2011 13:55:00 GMT</pubDate><guid>http://www.cppblog.com/flyinghare/archive/2011/06/24/149411.html</guid><wfw:comment>http://www.cppblog.com/flyinghare/comments/149411.html</wfw:comment><comments>http://www.cppblog.com/flyinghare/archive/2011/06/24/149411.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/flyinghare/comments/commentRss/149411.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/flyinghare/services/trackbacks/149411.html</trackback:ping><description><![CDATA[<span  style="font-family: Arial; line-height: 26px; border-collapse: collapse; color: #333333; ">在真机上运行时出现&#8220;Error launching remote program: failed to get the task for process xxx"<br style="outline-style: none; outline-width: initial; outline-color: initial; " />
<br style="outline-style: none; outline-width: initial; outline-color: initial; " />
程序已经写到真机上，可以运行，但调试不了，如何解决此问题？</span>
<div><span  style="font-family: Arial; line-height: 26px; border-collapse: collapse; color: #333333; "><br />
</span></div>
<div><span  style="font-family: Arial; line-height: 26px; border-collapse: collapse; color: #333333; "><br />
</span></div>
<div><span  style="font-family: Arial; line-height: 26px; border-collapse: collapse; color: #333333; ">按照下面步骤解决：<br style="outline-style: none; outline-width: initial; outline-color: initial; " />
<font face="arial,  " style="outline-style: none; outline-width: initial; outline-color: initial; line-height: 1.5em; ">For Ad Hoc Distribution, complete the following:<br style="outline-style: none; outline-width: initial; outline-color: initial; " />
<ul style="outline-style: none; outline-width: initial; outline-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 15px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: disc; list-style-position: initial; list-style-image: initial; ">In the File Menu, select New File -&gt; iPhone OS -&gt; Code Signing -&gt; Entitlements. Name the file &#8220;Entitlements.plist" and click &#8216;Finish&#8217;. This creates a copy of the default entitlements file within the project.Select the new Entitlments.plist file and uncheck the &#8220;get-task-allow&#8221; property. Save the Entitlements.plist file.Select the Target and open the Build settings inspector. In the &#8216;Code Signing Entitlements&#8217; build setting, type in the filename of the new Entitlements.plist file including the extension. There is no need to specify a path unless you have put the Entitlements.plist file somewhere other than the top level of the project.Click &#8216;Build&#8217;. (Note: Your binary must contain a flattened, square-image icon that is 57x57 pixels. This icon is displayed on the iPhone or iPod touch home screen.)</ul>
    <div><br />
    </div>
    <div><br />
    </div>
    <div><br />
    </div>
    <div>转自：http://bbs.weiphone.com/read-htm-tid-608920.html</div>
    </font></span></div><img src ="http://www.cppblog.com/flyinghare/aggbug/149411.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/flyinghare/" target="_blank">会飞的兔子</a> 2011-06-24 21:55 <a href="http://www.cppblog.com/flyinghare/archive/2011/06/24/149411.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>解决iTune无法启动报“未找到QuickTime”错误的办法</title><link>http://www.cppblog.com/flyinghare/archive/2011/03/07/141277.html</link><dc:creator>会飞的兔子</dc:creator><author>会飞的兔子</author><pubDate>Mon, 07 Mar 2011 07:17:00 GMT</pubDate><guid>http://www.cppblog.com/flyinghare/archive/2011/03/07/141277.html</guid><wfw:comment>http://www.cppblog.com/flyinghare/comments/141277.html</wfw:comment><comments>http://www.cppblog.com/flyinghare/archive/2011/03/07/141277.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/flyinghare/comments/commentRss/141277.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/flyinghare/services/trackbacks/141277.html</trackback:ping><description><![CDATA[<span  style="font-size: 14px; color: rgb(85, 85, 85); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 20px; "><p style="margin-top: 0.7em; margin-right: 0px; margin-bottom: 0.7em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(85, 85, 85); font-size: 1em; line-height: 1.4em; ">这几天把玩新入手的<a href="http://marguin.info/tag/ipod-touch" class="st_tag internal_tag" rel="tag" title="Posts tagged with ipod touch" style="text-decoration: none; color: rgb(52, 120, 227); ">iPod Touch</a>&nbsp;4，郁闷的是在Win7 64位版本下<a href="http://marguin.info/tag/itune" class="st_tag internal_tag" rel="tag" title="Posts tagged with iTune" style="text-decoration: none; color: rgb(52, 120, 227); ">iTune</a>一直表现不佳，第一次安装后怎么都好用，第二次运行就会报错——未找到<a href="http://marguin.info/tag/quicktime" class="st_tag internal_tag" rel="tag" title="Posts tagged with QuickTime" style="text-decoration: none; color: rgb(52, 120, 227); ">QuickTime</a>，<a href="http://marguin.info/tag/itune" class="st_tag internal_tag" rel="tag" title="Posts tagged with iTune" style="text-decoration: none; color: rgb(52, 120, 227); ">iTune</a>运行需要<a href="http://marguin.info/tag/quicktime" class="st_tag internal_tag" rel="tag" title="Posts tagged with QuickTime" style="text-decoration: none; color: rgb(52, 120, 227); ">QuickTime</a>等等，卸载重装问题依旧。在网上发现如下解决办法一蹴而就，终于开心的同步了。</p><p style="margin-top: 0.7em; margin-right: 0px; margin-bottom: 0.7em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(85, 85, 85); font-size: 1em; line-height: 1.4em; "><span style="color: rgb(255, 0, 0); ">1、在Program Files下的<a href="http://marguin.info/tag/quicktime" class="st_tag internal_tag" rel="tag" title="Posts tagged with QuickTime" style="text-decoration: none; color: rgb(52, 120, 227); ">QuickTime</a>目录下找到QTCF.dll文件</span></p><p style="margin-top: 0.7em; margin-right: 0px; margin-bottom: 0.7em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(85, 85, 85); font-size: 1em; line-height: 1.4em; "><span style="color: rgb(255, 0, 0); ">2、复制到windows\system和windows\system32两个目录下。</span></p><p style="margin-top: 0.7em; margin-right: 0px; margin-bottom: 0.7em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(85, 85, 85); font-size: 1em; line-height: 1.4em; ">问题解决~</p><p style="margin-top: 0.7em; margin-right: 0px; margin-bottom: 0.7em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(85, 85, 85); font-size: 1em; line-height: 1.4em; "><br></p><p style="margin-top: 0.7em; margin-right: 0px; margin-bottom: 0.7em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(85, 85, 85); font-size: 1em; line-height: 1.4em; ">转自：http://marguin.info/article/423.htm</p><p style="margin-top: 0.7em; margin-right: 0px; margin-bottom: 0.7em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(85, 85, 85); font-size: 1em; line-height: 1.4em; ">相关链接：http://pitaka.blogbus.com/logs/83643233.html</p></span>
<img src ="http://www.cppblog.com/flyinghare/aggbug/141277.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/flyinghare/" target="_blank">会飞的兔子</a> 2011-03-07 15:17 <a href="http://www.cppblog.com/flyinghare/archive/2011/03/07/141277.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Apple 软件产品所使用的“知名”TCP 和 UDP 端口</title><link>http://www.cppblog.com/flyinghare/archive/2011/01/26/139374.html</link><dc:creator>会飞的兔子</dc:creator><author>会飞的兔子</author><pubDate>Wed, 26 Jan 2011 12:21:00 GMT</pubDate><guid>http://www.cppblog.com/flyinghare/archive/2011/01/26/139374.html</guid><wfw:comment>http://www.cppblog.com/flyinghare/comments/139374.html</wfw:comment><comments>http://www.cppblog.com/flyinghare/archive/2011/01/26/139374.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/flyinghare/comments/commentRss/139374.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/flyinghare/services/trackbacks/139374.html</trackback:ping><description><![CDATA[<h4>关于此表</h4>
<p>服务或协议名称列中列出了已注册到 Internet 编号分配机构 (<a  href="http://www.iana.org/">http://www.iana.org</a>/) 的服务（除了标注为&#8220;未注册使用&#8221;的服务之外）。使用这些服务或协议的 Apple 产品的名称显示在&#8220;使用者/其他信息&#8221;列中。</p>
<p>RFC 列中列出了定义特定服务或协议的&#8220;征求意见&#8221;文稿（可用于参考）的编号。RFC 文稿由 RFC Editor (<a  href="http://www.rfc-editor.org/">http://www.rfc-editor.org</a>/) 维护。如果多个 RFC 定义一个协议，则此处可能仅列出其中的一个 RFC。</p>
<p>本文将定期更新，提供发布时可获得的信息。本文稿用作快速参考，并非能够提供详尽信息的文件。该表中列出的 Apple 产品是最常用的示例，并非详尽的列表。有关更多信息，请查看表格下面的&#8220;备注&#8221;。</p>
<p><strong>提示</strong>：
有些服务可能使用两个或多个端口。建议在此列表中发现某产品第一次出现后，继续搜索该名称 (Command-F)，然后重复操作
(Command-G)，找到出现该产品的所有地方。例如，VPN 服务可能使用多达四个不同的端口：500、1701、1723 和 4500。</p>
<p><strong>提示</strong>：
有些防火墙允许选择性配置拥有相同端口号的 UDP 或 TCP 端口，因此请务必注意要配置的端口类型。例如，NFS 可能使用 TCP 2049
端口或 UDP 2049 端口，也可能同时使用两者。如果防火墙不允许指定端口类型，对一个端口所作更改可能会同时作用于二者。</p>
<table id="kbtable" border="0" cellspacing="0" width="100%">
    <tbody>
        <tr id="header" valign="top">
            <td width="60"><strong>端口</strong></td>
            <td width="75"><strong>TCP 或 UDP</strong></td>
            <td width="160"><strong>服务或协议名称</strong></td>
            <td width="60"><strong>RFC</strong></td>
            <td width="325"><strong>使用者/其他信息</strong></td>
        </tr>
        <tr valign="top">
            <td><strong>7</strong></td>
            <td>TCP/UDP</td>
            <td>Echo</td>
            <td>792</td>
            <td>-</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>20</strong></td>
            <td>TCP</td>
            <td>文件传输协议（FTP）</td>
            <td>959</td>
            <td>-</td>
        </tr>
        <tr valign="top">
            <td><strong>21</strong></td>
            <td>TCP</td>
            <td>FTP 控制</td>
            <td>959</td>
            <td>-</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>22</strong></td>
            <td>TCP</td>
            <td>Secure Shell (SSH)</td>
            <td>4250 - 4254</td>
            <td>-</td>
        </tr>
        <tr valign="top">
            <td><strong>23</strong></td>
            <td>TCP</td>
            <td>Telnet</td>
            <td>854</td>
            <td>-</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>25</strong></td>
            <td>TCP</td>
            <td>简单邮件传输协议（SMTP）</td>
            <td>5321</td>
            <td>
            <p>Mail（用于发送电子邮件）；MobileMe Mail（发送）</p>
            </td>
        </tr>
        <tr valign="top">
            <td><strong>53</strong></td>
            <td>TCP/UDP</td>
            <td>域名系统（DNS）</td>
            <td>1034</td>
            <td>MacDNS、FaceTime</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>67</strong></td>
            <td>UDP</td>
            <td>Bootstrap 协议服务器（BootP、bootps）</td>
            <td>951</td>
            <td>NetBoot via DHCP</td>
        </tr>
        <tr valign="top">
            <td><strong>68</strong></td>
            <td>UDP</td>
            <td>Bootstrap 协议客户端（bootpc）</td>
            <td>951</td>
            <td>NetBoot via DHCP</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>69</strong></td>
            <td>UDP</td>
            <td>简单文件传输协议（TFTP）</td>
            <td>1350</td>
            <td>-</td>
        </tr>
        <tr valign="top">
            <td><strong>79</strong></td>
            <td>TCP</td>
            <td>Finger</td>
            <td>1288</td>
            <td>-</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>80</strong></td>
            <td>TCP</td>
            <td>超文本传输协议（HTTP）</td>
            <td>2616</td>
            <td>万
            维网、MobileMe、Sherlock、QuickTime 安装程序、iTunes Store 和广播、软件更新、RAID
            管理、备份、iCal 日历发布、iWeb、MobileMe 网络画廊发布、WebDAV (iDisk)、Final Cut
            Server、AirTunes/AirPlay</td>
        </tr>
        <tr valign="top">
            <td><strong>88</strong></td>
            <td>TCP</td>
            <td>Kerberos</td>
            <td>4120</td>
            <td>-</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>106</strong></td>
            <td>TCP</td>
            <td>密码服务器<br>            （未注册使用）</td>
            <td>-</td>
            <td>Mac OS X Server 密码服务器</td>
        </tr>
        <tr valign="top">
            <td><strong>110</strong></td>
            <td>TCP</td>
            <td>邮局协议（POP3）<br>            身份验证邮局协议（APOP）</td>
            <td>1939</td>
            <td>Mail（用于接收电子邮件）</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>111</strong></td>
            <td>TCP/UDP</td>
            <td>远程过程调用（RPC）</td>
            <td>1057、1831</td>
            <td>端口映射器 (sunrpc)</td>
        </tr>
        <tr valign="top">
            <td><strong>113</strong></td>
            <td>TCP</td>
            <td>标识协议</td>
            <td>1413</td>
            <td>-</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>115</strong></td>
            <td>TCP</td>
            <td>安全文件传输程序（SFTP）</td>
            <td>913</td>
            <td><strong>注：</strong>某些机构会在此端口引用&#8220;简单文件传输协议&#8221;或&#8220;安全文件传输协议&#8221;。</td>
        </tr>
        <tr valign="top">
            <td><strong>119</strong></td>
            <td>TCP</td>
            <td>网络新闻传输协议（NNTP）</td>
            <td>3977</td>
            <td>由读取新闻组的应用程序使用。</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>123</strong></td>
            <td>TCP/UDP</td>
            <td>网络时间协议（NTP）</td>
            <td>1305</td>
            <td>&#8220;日期与时间&#8221;偏好设置。用于网络时间服务器，AppleTV 网络时间服务器同步</td>
        </tr>
        <tr valign="top">
            <td><strong>137</strong></td>
            <td>UDP</td>
            <td>Windows Internet 命名服务（WINS）</td>
            <td>-</td>
            <td>-</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>138</strong></td>
            <td>UDP</td>
            <td>NETBIOS 数据报服务</td>
            <td>-</td>
            <td>Windows 数据报服务、Windows 网上邻居</td>
        </tr>
        <tr valign="top">
            <td><strong>139</strong></td>
            <td>TCP</td>
            <td>服务器信息块（SMB）</td>
            <td>-</td>
            <td>由 Microsoft Windows 文件和打印服务（如 Mac OS X 中的 Windows 共享）使用。</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>143</strong></td>
            <td>TCP</td>
            <td>Internet 消息访问协议（IMAP）</td>
            <td>3501</td>
            <td>Mail（用于接收电子邮件）；MobileMe Mail (IMAP)</td>
        </tr>
        <tr valign="top">
            <td><strong>161</strong></td>
            <td>UDP</td>
            <td>简单网络管理协议（SNMP）</td>
            <td>1157</td>
            <td>-</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>192</strong></td>
            <td>UDP</td>
            <td>-</td>
            <td>-</td>
            <td>AirPort 基站 PPP 状态或发现（特定配置）、AirPort 管理实用程序、AirPort Express 助理</td>
        </tr>
        <tr valign="top">
            <td><strong>311</strong></td>
            <td>TCP</td>
            <td>Server Admin、Workgroup Manager、Server Monitor、Xsan Admin</td>
            <td>-</td>
            <td>远程服务器管理</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>389</strong></td>
            <td>TCP</td>
            <td>轻量级目录访问协议（LDAP）</td>
            <td>4511</td>
            <td>由查找地址的应用程序（如 Mail 和地址簿）使用。</td>
        </tr>
        <tr valign="top">
            <td><strong>427</strong></td>
            <td>TCP/UDP</td>
            <td>Service Location Protocol (SLP)</td>
            <td>2608</td>
            <td>网络浏览器</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>443</strong></td>
            <td>TCP</td>
            <td>安全套接字层（SSL 或&#8220;HTTPS&#8221;）</td>
            <td>-</td>
            <td>受保护的网站、iTunes Store、FaceTime、Game Center、MobileMe（鉴定、iDisk、iDisk Sync 和 MobileMe Syn）、AirTunes/AirPlay</td>
        </tr>
        <tr valign="top">
            <td><strong>445</strong></td>
            <td>TCP</td>
            <td>Microsoft SMB 域服务器</td>
            <td>-</td>
            <td>-</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>497</strong></td>
            <td>TCP/UDP</td>
            <td>Dantz Retrospect</td>
            <td>-</td>
            <td>-</td>
        </tr>
        <tr valign="top">
            <td><strong>500</strong></td>
            <td>UDP</td>
            <td>ISAKMP/IKE</td>
            <td>-</td>
            <td>Mac OS X Server VPN 服务、<span id="SPAN10763011"><span class="normal">回到我的 Mac（MobileMe、Mac OS X v10.5 或更高版本）。</span></span></td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>514</strong></td>
            <td>TCP</td>
            <td>Shell</td>
            <td>-</td>
            <td>-</td>
        </tr>
        <tr valign="top">
            <td><strong>514</strong></td>
            <td>UDP</td>
            <td>Syslog</td>
            <td>-</td>
            <td>-</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>515</strong></td>
            <td>TCP</td>
            <td>行式打印机（LPR）、Line Printer Daemon (LPD)</td>
            <td>-</td>
            <td>用于通过网络打印机打印，Mac OS X 中的打印机共享。</td>
        </tr>
        <tr valign="top">
            <td><strong>532</strong></td>
            <td>TCP</td>
            <td>网络新闻</td>
            <td>-</td>
            <td>-</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>548</strong></td>
            <td>TCP</td>
            <td>通过 TCP 的 Apple 档案分享协议（AFP）</td>
            <td>-</td>
            <td>AppleShare、个人文件共享、Apple 文件服务</td>
        </tr>
        <tr valign="top">
            <td><strong>554</strong></td>
            <td>TCP/UDP</td>
            <td>实时流协议（RTSP）</td>
            <td>2326</td>
            <td>QuickTime Streaming Server (QTSS)、流媒体播放器、AirTunes/AirPlay</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>587</strong></td>
            <td>TCP</td>
            <td>用于 Mail 的信息提交（经过身份验证的 SMTP）</td>
            <td>4409</td>
            <td>Mail（用于发送邮件）、MobileMe Mail（SMTP 身份验证）</td>
        </tr>
        <tr valign="top">
            <td><strong>600-1023</strong></td>
            <td>TCP/UDP</td>
            <td>基于 Mac OS X RPC 的服务</td>
            <td>-</td>
            <td>例如，由 NetInfo 使用。</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>623</strong></td>
            <td>UDP</td>
            <td>Lights-Out-Monitoring</td>
            <td>-</td>
            <td>由 Intel Xserves 的 Lights-Out-Monitoring (LOM) 功能使用；由 Server Monitor 使用</td>
        </tr>
        <tr valign="top">
            <td><strong>625</strong></td>
            <td>TCP</td>
            <td>目录服务代理（DSProxy）（未注册使用）</td>
            <td>-</td>
            <td>DirectoryService、Open Directory Assistant、Workgroup Manager。<strong>注</strong>：此端口已注册给 DEC DLM。</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>626</strong></td>
            <td>TCP</td>
            <td>AppleShare Imap Admin (ASIA)</td>
            <td>-</td>
            <td>IMAP 管理（Mac OS X Server 10.2.8 或更低版本、AppleShare IP 6）</td>
        </tr>
        <tr valign="top">
            <td><strong>626</strong></td>
            <td>UDP</td>
            <td>serialnumberd（未注册使用）</td>
            <td>-</td>
            <td>Server 序列号注册（Xsan、Mac OS X Server 10.3 及更高版本）</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>631</strong></td>
            <td>TCP</td>
            <td>Internet 打印协议（IPP）</td>
            <td>2910</td>
            <td>Mac OS X 打印机共享</td>
        </tr>
        <tr valign="top">
            <td><strong>636</strong></td>
            <td>TCP</td>
            <td>安全 LDAP</td>
            <td>-</td>
            <td>-</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>660</strong></td>
            <td>TCP</td>
            <td>MacOS Server Admin</td>
            <td>-</td>
            <td>Server Admin（AppleShare IP 和 Mac OS X Server）、服务器设置</td>
        </tr>
        <tr valign="top">
            <td><strong>687</strong></td>
            <td>TCP</td>
            <td>添加要使用的 Server Admin</td>
            <td>-</td>
            <td>-</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>749</strong></td>
            <td>TCP/UDP</td>
            <td>Kerberos 5 admin/changepw</td>
            <td>-</td>
            <td>-</td>
        </tr>
        <tr valign="top">
            <td><strong>985</strong></td>
            <td>TCP</td>
            <td>NetInfo 静态端口</td>
            <td>-</td>
            <td>-</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>993</strong></td>
            <td>TCP</td>
            <td>Mail IMAP SSL</td>
            <td>-</td>
            <td>MobileMe Mail (SSL IMAP)</td>
        </tr>
        <tr valign="top">
            <td><strong>995</strong></td>
            <td>TCP/UDP</td>
            <td>Mail POP SSL</td>
            <td>-</td>
            <td>-</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>1085</strong></td>
            <td>TCP/UDP</td>
            <td>WebObjects</td>
            <td>-</td>
            <td>-</td>
        </tr>
        <tr valign="top">
            <td><strong>1099 和 8043</strong></td>
            <td>TCP</td>
            <td>对 JBOSS 的远程 RMI 和 IIOP 访问</td>
            <td>-</td>
            <td>-</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>1220</strong></td>
            <td>TCP</td>
            <td>QT Server Admin</td>
            <td>-</td>
            <td>用于管理 QuickTime Streaming Server。</td>
        </tr>
        <tr valign="top">
            <td><strong>1649</strong></td>
            <td>TCP</td>
            <td>IP 故障转移</td>
            <td>-</td>
            <td>-</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>1701</strong></td>
            <td>UDP</td>
            <td>L2TP</td>
            <td>-</td>
            <td>Mac OS X Server VPN 服务</td>
        </tr>
        <tr valign="top">
            <td><strong>1723</strong></td>
            <td>TCP</td>
            <td>PPTP</td>
            <td>-</td>
            <td>Mac OS X Server VPN 服务</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>2049</strong></td>
            <td>TCP/UDP</td>
            <td>网络文件系统（NFS）（第 3 版）</td>
            <td>1094</td>
            <td>-</td>
        </tr>
        <tr valign="top">
            <td><strong>2236</strong></td>
            <td>TCP</td>
            <td>Macintosh Manager（未注册使用）</td>
            <td>-</td>
            <td>Macintosh Manager</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>2336</strong></td>
            <td>TCP</td>
            <td>可移植主目录</td>
            <td>&nbsp;</td>
            <td>-</td>
        </tr>
        <tr valign="top">
            <td><strong>3004</strong></td>
            <td>TCP</td>
            <td>iSync</td>
            <td>-</td>
            <td>-</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>3031</strong></td>
            <td>TCP/UDP</td>
            <td>远程 AppleEvent</td>
            <td>-</td>
            <td>程序链接、远程 Apple 事件</td>
        </tr>
        <tr valign="top">
            <td><strong>3283</strong></td>
            <td>TCP/UDP</td>
            <td>网络助理</td>
            <td>-</td>
            <td>Apple Remote Desktop 2.0 或更高版本（报告功能）</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>3306</strong></td>
            <td>TCP</td>
            <td>MySQL</td>
            <td>-</td>
            <td>-</td>
        </tr>
        <tr valign="top">
            <td><strong>3478-3497</strong></td>
            <td>UDP</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>FaceTime、Game Center</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>3632</strong></td>
            <td>TCP</td>
            <td>分布式编译器</td>
            <td>-</td>
            <td>-</td>
        </tr>
        <tr valign="top">
            <td><strong>3659</strong></td>
            <td>TCP/UDP</td>
            <td>简单身份验证和安全层（SASL）</td>
            <td>-</td>
            <td>Mac OS X Server 密码服务器</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>3689</strong></td>
            <td>TCP</td>
            <td>数字音频访问协议（DAAP）</td>
            <td>-</td>
            <td>iTunes 音乐共享、AirTunes/AirPlay</td>
        </tr>
        <tr valign="top">
            <td><strong>4080</strong></td>
            <td>TCP</td>
            <td>-</td>
            <td>-</td>
            <td>&nbsp;</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>4111</strong></td>
            <td>TCP</td>
            <td>XGrid</td>
            <td>-</td>
            <td>-</td>
        </tr>
        <tr valign="top">
            <td><strong>4398</strong></td>
            <td>UDP</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>Game Center</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>4500</strong></td>
            <td>UDP</td>
            <td>IKE NAT Traversal</td>
            <td>-</td>
            <td>
            <p>Mac OS X Server VPN 服务、回到我的 Mac（MobileMe、Mac OS X v10.5 或更高版本）。</p>
            <p><strong>注：</strong>通过 Apple 访问点（如 AirPort 基站）配置时，VPN 和 MobileMe 会互相排斥；将会优先使用 MobileMe。</p>
            </td>
        </tr>
        <tr valign="top">
            <td><strong>49152-65535</strong></td>
            <td>TCP</td>
            <td>Xsan</td>
            <td>-</td>
            <td>Xsan 文件系统存取</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>5003</strong></td>
            <td>TCP</td>
            <td>FileMaker - 名称绑定和传输</td>
            <td>-</td>
            <td>-</td>
        </tr>
        <tr valign="top">
            <td><strong>5009</strong></td>
            <td>TCP</td>
            <td>（未注册使用）</td>
            <td>-</td>
            <td>AirPort 管理实用程序、AirPort Express 助理</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>5060</strong></td>
            <td>UDP</td>
            <td>会话启动协议（SIP）</td>
            <td>3261</td>
            <td>iChat</td>
        </tr>
        <tr valign="top">
            <td><strong>5100</strong></td>
            <td>TCP</td>
            <td>-</td>
            <td>-</td>
            <td>Mac OS X 摄像头和扫描仪共享</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>5190</strong></td>
            <td>TCP/UDP</td>
            <td>America Online (AOL)</td>
            <td>-</td>
            <td>iChat 和 AOL Instant Messenger、文件传输</td>
        </tr>
        <tr valign="top">
            <td><strong>5222</strong></td>
            <td>TCP</td>
            <td>XMPP&nbsp;(Jabber)</td>
            <td>3920</td>
            <td>iChat 和 Jabber 信息</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>5223</strong></td>
            <td>TCP</td>
            <td>通过 SSL 的 XMPP，Apple 推送通知服务</td>
            <td>-</td>
            <td>MobileMe（自动同步通知）（请参见备注 9）、APN、FaceTime、Game Center</td>
        </tr>
        <tr valign="top">
            <td><strong>5269</strong></td>
            <td>TCP</td>
            <td>XMPP 服务器对服务器的通信</td>
            <td>3920</td>
            <td>iChat 服务器</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>5297</strong></td>
            <td>TCP</td>
            <td>-</td>
            <td>-</td>
            <td>iChat（本地通信）、Bonjour</td>
        </tr>
        <tr valign="top">
            <td><strong>5298</strong></td>
            <td>TCP/UDP</td>
            <td>-</td>
            <td>-</td>
            <td>iChat（本地通信）、Bonjour</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>5353</strong></td>
            <td>UDP</td>
            <td>多址广播 DNS（MDNS）</td>
            <td>-</td>
            <td>Bonjour (mDNSResponder)、AirTunes/AirPlay</td>
        </tr>
        <tr valign="top">
            <td><strong>5354</strong></td>
            <td>TCP</td>
            <td>多址广播 DNS 响应器</td>
            <td>-</td>
            <td>回到我的 Mac</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>5432</strong></td>
            <td>TCP</td>
            <td>ARD 2.0 数据库</td>
            <td>-</td>
            <td>-</td>
        </tr>
        <tr valign="top">
            <td><strong>5678</strong></td>
            <td>UDP</td>
            <td>SNATMAP 服务器</td>
            <td>-</td>
            <td>端
            口 5678 上的 SNATMAP 服务用于确定主机的外部 Internet 地址，以便 iChat
            用户之间的连接可在网络地址转换（NAT）之后正常使用。SNATMAP 服务仅将已连接到它的 Internet 地址告知客户端。此服务在
            Apple 服务器上运行，但不会将个人信息发送给 Apple。在使用了特定 iChat AV
            功能的情况下，将与此服务建立联系。阻止此服务可能会导致与使用 NAT 的网络上的主机之间的 iChat AV 连接出现问题。</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>5897-5898</strong></td>
            <td>UDP</td>
            <td>（未注册使用）</td>
            <td>-</td>
            <td>xrdiags</td>
        </tr>
        <tr valign="top">
            <td><strong>5900</strong></td>
            <td>TCP</td>
            <td>虚拟网络计算（VNC）<br>            （未注册使用）</td>
            <td>-</td>
            <td>Apple Remote Desktop 2.0 或更高版本（监视/控制功能）<br>            屏幕共享（Mac OS X 10.5 或更高版本）</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>5988</strong></td>
            <td>TCP</td>
            <td>WBEM HTTP</td>
            <td>-</td>
            <td>Apple Remote Desktop 2.x（请参阅 http://www.dmtf.org/about/faq/wbem）</td>
        </tr>
        <tr valign="top">
            <td><strong>6970-9999</strong></td>
            <td>UDP</td>
            <td>-</td>
            <td>-</td>
            <td>QuickTime Streaming Server</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>7070</strong></td>
            <td>TCP</td>
            <td>RTSP（未注册使用）<br>            自动路由器配置协议（ARCP - 已注册使用）</td>
            <td>-</td>
            <td>QuickTime Streaming Server (RTSP)</td>
        </tr>
        <tr valign="top">
            <td><strong>7070</strong></td>
            <td>UDP</td>
            <td>RTSP 备用</td>
            <td>-</td>
            <td>QuickTime Streaming Server</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>7777</strong></td>
            <td>TCP</td>
            <td>iChat 服务器文件传输代理（未注册使用）</td>
            <td>-</td>
            <td>-</td>
        </tr>
        <tr valign="top">
            <td><strong>8000-8999</strong></td>
            <td>TCP</td>
            <td>-</td>
            <td>-</td>
            <td>Web 服务、iTunes 广播流</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>8005</strong></td>
            <td>TCP</td>
            <td>Tomcat 远程关闭</td>
            <td>-</td>
            <td>-</td>
        </tr>
        <tr valign="top">
            <td><strong>8008</strong></td>
            <td>TCP</td>
            <td>iCal 服务</td>
            <td>-</td>
            <td>Mac OS X Server v10.5 及更高版本</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>8080</strong></td>
            <td>TCP</td>
            <td>Apache 的备用端口Web 服务</td>
            <td>-</td>
            <td>-</td>
        </tr>
        <tr valign="top">
            <td><strong>8085-8087</strong></td>
            <td>TCP</td>
            <td>Wiki 服务</td>
            <td>-</td>
            <td>Mac OS X Server v10.5 及更高版本</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>8088</strong></td>
            <td>TCP</td>
            <td>&#8220;软件更新&#8221;服务</td>
            <td>-</td>
            <td>Mac OS X Server v10.4 及更高版本</td>
        </tr>
        <tr valign="top">
            <td><strong>8089</strong></td>
            <td>TCP</td>
            <td>Web 电子邮件规则</td>
            <td>-</td>
            <td>Mac OS X Server v10.6 及更高版本</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>8096</strong></td>
            <td>TCP</td>
            <td>Web 密码重设</td>
            <td>-</td>
            <td>Mac OS X Server v10.6.3 及更高版本</td>
        </tr>
        <tr valign="top">
            <td><strong>8170</strong></td>
            <td>TCP</td>
            <td>HTTPS（Web 服务/网站）</td>
            <td>-</td>
            <td>
            <p>Podcast Capture/Podcast CLI</p>
            </td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>8171</strong></td>
            <td>TCP</td>
            <td>HTTP（Web 服务/网站）</td>
            <td>-</td>
            <td>
            <p>Podcast Capture/Podcast CLI</p>
            </td>
        </tr>
        <tr valign="top">
            <td><strong>8175</strong></td>
            <td>TCP</td>
            <td>Pcast 隧道</td>
            <td>-</td>
            <td>pcastagentd（用于控制操作、摄像头等）</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>8443</strong></td>
            <td>TCP</td>
            <td>iCal 服务 (SSL)</td>
            <td>-</td>
            <td>Mac OS X Server v10.5 及更高版本</td>
        </tr>
        <tr valign="top">
            <td><strong>8800</strong></td>
            <td>TCP</td>
            <td>地址簿服务</td>
            <td>-</td>
            <td>Mac OS X Server v10.6 及更高版本</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>8843</strong></td>
            <td>TCP</td>
            <td>地址簿服务 (SSL)</td>
            <td>-</td>
            <td>Mac OS X Server v10.6 及更高版本</td>
        </tr>
        <tr valign="top">
            <td><strong>8821</strong></td>
            <td>TCP</td>
            <td>Stored（存储服务器以与服务器进行通信）</td>
            <td>-</td>
            <td>Final Cut Server</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>8891</strong></td>
            <td>TCP</td>
            <td>ldsd（数据传输）</td>
            <td>-</td>
            <td>Final Cut Server</td>
        </tr>
        <tr valign="top">
            <td><strong>9006、8080、8443</strong></td>
            <td>-</td>
            <td>Tomcat Standalone 和 JBOSS (J2EE) 的 HTTP 和 HTTPS 端口</td>
            <td>-</td>
            <td>-</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>11211</strong></td>
            <td>&nbsp;</td>
            <td>memcached（未注册）</td>
            <td>&nbsp;</td>
            <td>iCal 服务器</td>
        </tr>
        <tr valign="top">
            <td><strong>16080</strong></td>
            <td>TCP</td>
            <td>-</td>
            <td>-</td>
            <td>使用性能缓存的 Web 服务</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>16384-16403</strong></td>
            <td>UDP</td>
            <td>实时传输协议（RTP）、实时控制协议（RTCP）</td>
            <td>-</td>
            <td>iChat AV（音频 RTP、RTCP；视频 RTP、RTCP）</td>
        </tr>
        <tr valign="top">
            <td><strong>16384-16387</strong></td>
            <td>UDP</td>
            <td>实时传输协议（RTP）、实时控制协议（RTCP）</td>
            <td>-</td>
            <td>FaceTime、Game Center</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>16393-16402</strong></td>
            <td>UDP</td>
            <td>实时传输协议（RTP）、实时控制协议（RTCP）</td>
            <td>-</td>
            <td>FaceTime、Game Center</td>
        </tr>
        <tr valign="top">
            <td><strong>16403-16472</strong></td>
            <td>UDP</td>
            <td>实时传输协议（RTP）、实时控制协议（RTCP）</td>
            <td>&nbsp;</td>
            <td>Game Center</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>24000-24999</strong></td>
            <td>TCP</td>
            <td>-</td>
            <td>-</td>
            <td>使用性能缓存的 Web 服务</td>
        </tr>
        <tr valign="top">
            <td><strong>42000-42999</strong></td>
            <td>TCP</td>
            <td>-</td>
            <td>-</td>
            <td>iTunes 广播流</td>
        </tr>
        <tr id="even" valign="top">
            <td><strong>50003</strong></td>
            <td>-</td>
            <td>FileMaker 服务器服务</td>
            <td>-</td>
            <td>-</td>
        </tr>
        <tr valign="top">
            <td><strong>50006</strong></td>
            <td>-</td>
            <td>FileMaker 帮助工具服务</td>
            <td>-</td>
            <td>-</td>
        </tr>
    </tbody>
</table>
<p><strong>备注</strong></p>
<ol>
    <li>并非所有列出的端口和服务都会出现在所有软件产品中或由所有软件产品使用。某些应用程序（如 Workgroup Manager）需要使用多个端口，上表中也相应地列出了这些端口。</li>
    <li>网络管理员决定如何设置防火墙或类似的访问控制方案时，除此信息之外，可能还会使用端口监视软件。</li>
    <li>有关什么是 TCP 或 UDP 端口的说明，请参阅&#8220;<a  href="http://support.apple.com/kb/TA20728">Mac OS X：什么是端口？</a>&#8221;的&#8220;IP 端口&#8221;部分。</li>
    <li>在 Mac OS X Server v10.0.3 及更高版本中，不使用知名端口的部分服务通过端口映射器注册。在终端中使用 <tt>rpcinfo -p</tt> 命令可查看通过端口映射器注册的内容。</li>
    <li>在 Mac OS X Server 10.0.3 及更高版本中，NetInfo 父子模型已替换了共享用户和组。</li>
    <li>在 Mac OS X Server v10.0.3 及更高版本中启用性能缓存的情况下，Apache 将使用端口 16080，缓存将使用端口 80。</li>
    <li>此表包括由 Mac OS X v10.3 所使用的功能和端口。较早版本的 Mac OS X 并不具有此处列出的所有功能。</li>
    <li>对于 Mac OS X Server v10.3 VPN 服务：PPTP 使用 IP-GRE 协议（IP 协议 47）。L2TP/IPsec 使用 IP-ESP 协议（IP 协议 50、ESP）。</li>
    <li>这适用于当前的 Jabber 身份验证方法。以前的方法也需要使用端口 5223。</li>
    <li>在 Mac OS X v10.3.9 和更低版本中，servermgrd 仅在此端口上监听。对于 Mac OS X v10.4 或更高版本，仅在端口 311 上监听。</li>
</ol>
转自：http://support.apple.com/kb/TS1629?viewlocale=zh_CN&amp;locale=zh_CN<br><img src ="http://www.cppblog.com/flyinghare/aggbug/139374.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/flyinghare/" target="_blank">会飞的兔子</a> 2011-01-26 20:21 <a href="http://www.cppblog.com/flyinghare/archive/2011/01/26/139374.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于c/c++/obj-c的混合使用</title><link>http://www.cppblog.com/flyinghare/archive/2010/09/12/126455.html</link><dc:creator>会飞的兔子</dc:creator><author>会飞的兔子</author><pubDate>Sun, 12 Sep 2010 06:06:00 GMT</pubDate><guid>http://www.cppblog.com/flyinghare/archive/2010/09/12/126455.html</guid><wfw:comment>http://www.cppblog.com/flyinghare/comments/126455.html</wfw:comment><comments>http://www.cppblog.com/flyinghare/archive/2010/09/12/126455.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/flyinghare/comments/commentRss/126455.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/flyinghare/services/trackbacks/126455.html</trackback:ping><description><![CDATA[<meta charset="utf-8"><span  style="color: rgb(73, 73, 73); font-family: simsun; font-size: 14px; line-height: 21px; ">1）obj-c的编译器处理后缀为m的文件时，可以识别obj-c和c的代码，处理mm文件可以识别obj-c,c,c++代码，但cpp文件必须只能用 c/c++代码，而且cpp文件include的头文件中，也不能出现obj-c的代码，因为cpp只是cpp<br>2) 在mm文件中混用cpp直接使用即可，所以obj-c混cpp不是问题<br>3）在cpp中混用obj-c其实就是使用obj-c编写的模块是我们想要 的。<br>如果模块以类实现，那么要按照cpp class的标准写类的定义，头文件中不能出现obj-c的东西，包括#import cocoa的。实现文件中，即类的实现代码中可以使用obj-c的东西，可以import,只是后缀是mm。<br>如果模块以函数实现，那么头文件要按 c的格式声明函数，实现文件中，c++函数内部可以用obj-c，但后缀还是mm或m。<br><br>总结：只要cpp文件和cpp include的文件中不包含obj-c的东西就可以用了，cpp混用obj-c的关键是使用接口，而不能直接使用实现代码，实际上cpp混用的是 obj-c编译后的o文件，这个东西其实是无差别的，所以可以用。而obj-c混用cpp就简单了，直接用就可以，因为obj-c的编译器支持啊</span>

<div><font  color="#494949" face="simsun" size="4"><span  style="font-size: 14px; line-height: 21px;">转自：http://blog.sina.com.cn/s/blog_682dc7810100jn3v.html</span></font></div><div><span  style="color: rgb(73, 73, 73); font-family: simsun; font-size: 14px; line-height: 21px; "><meta charset="utf-8"><span  style="font-family: Verdana, 宋体, sans-serif; line-height: normal; font-size: 12px; "><div class="articalTitle" style="clear: both; line-height: 20px; padding-bottom: 10px; "><h2 id="t_682dc7810100jn3n" class="titName SG_txta" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; list-style-type: none; list-style-position: initial; list-style-image: initial; color: rgb(125, 109, 92); font-size: 18px; font-family: 微软雅黑, 黑体; font-weight: 300; display: inline; ">何在xcode中调用C++的类</h2>&nbsp;<span class="time SG_txtc" style="color: rgb(135, 135, 135); white-space: nowrap; font-family: Arial; font-size: 10px; margin-left: 5px; margin-right: 13px; ">(2010-06-22 09:55:08)</span><div class="turnBoxzz" style="float: right; "><a href="" id="quote_set_sign2" class="SG_aBtn SG_aBtn_ico SG_turn" style="text-decoration: none; color: rgb(73, 73, 73); cursor: pointer; font-size: 12px !important; padding-top: 4px; padding-right: 0px; padding-bottom: 6px; padding-left: 3px; overflow-x: hidden; overflow-y: hidden; white-space: nowrap; margin-right: 6px; background-image: url(http://simg.sinajs.cn/blog7newtpl/image/13/13_11/images/sg_newsp.png); position: relative; background-position: 0px 0px; background-repeat: no-repeat no-repeat; "><cite style="font-style: normal; font-size: 12px !important; line-height: 23px; padding-top: 4px; padding-right: 12px; padding-bottom: 6px; padding-left: 26px; height: 23px; min-width: 1px; overflow-x: visible; white-space: nowrap; text-align: left; background-image: url(http://simg.sinajs.cn/blog7newtpl/image/13/13_11/images/sg_newsp.png); background-position: 100% -28px; background-repeat: no-repeat no-repeat; "><img class="SG_icon SG_icon111" src="http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif" width="15" height="15" align="absmiddle" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; list-style-type: none; list-style-position: initial; list-style-image: initial; background-image: url(http://simg.sinajs.cn/blog7style/images/common/sg_icon.png); position: absolute; left: 9px; top: 4px; background-position: 495px -60px; ">转载</cite></a></div></div><div class="articalTag" id="sina_keyword_ad_area" style="width: 690px; clear: both; word-break: break-all; line-height: 20px; "><table style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><tbody><tr><td class="blog_tag" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 10px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; font-family: 宋体; vertical-align: top; "><span class="SG_txtb" style="color: rgb(135, 135, 135); font-family: 宋体; ">标签：</span>&nbsp;<h3 style="margin-top: 0px; margin-right: 5px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; list-style-type: none; list-style-position: initial; list-style-image: initial; display: inline; font-size: 12px; font-weight: normal; "><a href="http://uni.sina.com.cn/c.php?t=blog&amp;k=%D4%D3%CC%B8&amp;ts=bpost&amp;stype=tag" target="_blank" style="text-decoration: none; color: rgb(125, 109, 92); font-family: 宋体; white-space: nowrap; ">杂谈</a></h3></td><td class="blog_class" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; font-family: 宋体; vertical-align: top; width: 220px; white-space: nowrap; "><span class="SG_txtb" style="color: rgb(135, 135, 135); font-family: 宋体; ">分类：</span>&nbsp;<a target="_blank" href="http://blog.sina.com.cn/s/articlelist_1747830657_1_1.html" style="text-decoration: none; color: rgb(125, 109, 92); font-family: 宋体; ">iPhone开发</a></td></tr></tbody></table></div><div id="sina_keyword_ad_area2" class="articalContent" style="width: 690px; clear: both; padding-top: 18px; font-size: 14px; line-height: 21px; padding-bottom: 30px; word-wrap: normal; word-break: normal; overflow-x: hidden; overflow-y: hidden; font-family: simsun; ">把檔案的點綴名由 .m 改為 .mm, 這樣, 我們就可以在代碼里, 隨意引用 C++ 的 class了.</div><div id="sina_keyword_ad_area2" class="articalContent" style="width: 690px; clear: both; padding-top: 18px; font-size: 14px; line-height: 21px; padding-bottom: 30px; word-wrap: normal; word-break: normal; overflow-x: hidden; overflow-y: hidden; font-family: simsun; "><br></div><div id="sina_keyword_ad_area2" class="articalContent" style="width: 690px; clear: both; padding-top: 18px; font-size: 14px; line-height: 21px; padding-bottom: 30px; word-wrap: normal; word-break: normal; overflow-x: hidden; overflow-y: hidden; font-family: simsun; ">转自：http://blog.sina.com.cn/s/blog_682dc7810100jn3n.html</div></span></span></div><img src ="http://www.cppblog.com/flyinghare/aggbug/126455.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/flyinghare/" target="_blank">会飞的兔子</a> 2010-09-12 14:06 <a href="http://www.cppblog.com/flyinghare/archive/2010/09/12/126455.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>iPhone开发技巧之环境篇（2）--- XCode中的快捷键</title><link>http://www.cppblog.com/flyinghare/archive/2010/09/11/126382.html</link><dc:creator>会飞的兔子</dc:creator><author>会飞的兔子</author><pubDate>Sat, 11 Sep 2010 01:27:00 GMT</pubDate><guid>http://www.cppblog.com/flyinghare/archive/2010/09/11/126382.html</guid><wfw:comment>http://www.cppblog.com/flyinghare/comments/126382.html</wfw:comment><comments>http://www.cppblog.com/flyinghare/archive/2010/09/11/126382.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/flyinghare/comments/commentRss/126382.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/flyinghare/services/trackbacks/126382.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Xcode 也有许多快捷键，编程的同时使用它们可以提高你的效率，一起试试吧。其中 Opt &#8660; Alt 键。Opt＋Cmd＋&#8593;在 .h/.m 文件间切换 : 你是否经常在 .h/.m 文件直接频繁切换呢？一般是点击左边的「组和文件」来选择，但是使用快捷键将更加方便。Opt＋高亮符号＋双击检索高亮处函数的帮助，比如如当你在&nbsp;dictionaryWithObjectsA...&nbsp;&nbsp;<a href='http://www.cppblog.com/flyinghare/archive/2010/09/11/126382.html'>阅读全文</a><img src ="http://www.cppblog.com/flyinghare/aggbug/126382.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/flyinghare/" target="_blank">会飞的兔子</a> 2010-09-11 09:27 <a href="http://www.cppblog.com/flyinghare/archive/2010/09/11/126382.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>