<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>狂人山庄 &#124; Silence,声仔,吴洪声,奶罩 &#187; mac</title>
	<atom:link href="http://wuhongsheng.com/category/mac/feed/" rel="self" type="application/rss+xml" />
	<link>http://wuhongsheng.com</link>
	<description>响应我党号召,全面建设和谐博客,坚持和谐写博的路线不动摇</description>
	<lastBuildDate>Wed, 04 May 2011 15:13:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Snow Leopard下跨版本编译程序</title>
		<link>http://wuhongsheng.com/it/2009/10/snow-leopard-cross-platform-compile-program/</link>
		<comments>http://wuhongsheng.com/it/2009/10/snow-leopard-cross-platform-compile-program/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 01:40:21 +0000</pubDate>
		<dc:creator>吴洪声</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[compile]]></category>
		<category><![CDATA[cross platform]]></category>
		<category><![CDATA[leopard]]></category>
		<category><![CDATA[mac os x]]></category>
		<category><![CDATA[program]]></category>
		<category><![CDATA[snow leopard]]></category>

		<guid isPermaLink="false">http://wuhongsheng.com/?p=347</guid>
		<description><![CDATA[手头有个软件需要编译给另外一台macbook pro用，但另外的机器没有make/gcc之类的编译环境，并且是leopard的系统。所以我需要在我现在的snow leopard来进行跨版本编译 其实很简单，只需要在设定几个环境变量，然后再编译就可以了 export MACOSX_DEPLOYMENT_TARGET=10.5 export ARCHFLAGS='-arch i386' export CFLAGS='-arch i386 -O3 -pipe' export CXXFLAGS=$CFLAGS export LDFLAGS='-arch i386 -bind_at_load' No related posts. Related posts brought to you by Yet Another Related Posts Plugin.


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>手头有个软件需要编译给另外一台macbook pro用，但另外的机器没有make/gcc之类的编译环境，并且是leopard的系统。所以我需要在我现在的snow leopard来进行跨版本编译</p>
<p>其实很简单，只需要在设定几个环境变量，然后再编译就可以了</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">MACOSX_DEPLOYMENT_TARGET</span>=<span style="color: #000000;">10.5</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">ARCHFLAGS</span>=<span style="color: #ff0000;">'-arch i386'</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">CFLAGS</span>=<span style="color: #ff0000;">'-arch i386 -O3 -pipe'</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">CXXFLAGS</span>=<span style="color: #007800;">$CFLAGS</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">LDFLAGS</span>=<span style="color: #ff0000;">'-arch i386 -bind_at_load'</span></pre></div></div>



<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://wuhongsheng.com/it/2009/10/snow-leopard-cross-platform-compile-program/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>半分钟，简单三步，Snow Leopard下本机搭个DNS</title>
		<link>http://wuhongsheng.com/it/2009/09/enable-bind-under-snow-leopard-to-avoid-dns-cheating-in-a-minute/</link>
		<comments>http://wuhongsheng.com/it/2009/09/enable-bind-under-snow-leopard-to-avoid-dns-cheating-in-a-minute/#comments</comments>
		<pubDate>Sun, 27 Sep 2009 16:37:46 +0000</pubDate>
		<dc:creator>吴洪声</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[bind]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[dns cheat]]></category>
		<category><![CDATA[gfw]]></category>
		<category><![CDATA[leopard]]></category>
		<category><![CDATA[snow leopard]]></category>

		<guid isPermaLink="false">http://wuhongsheng.com/?p=312</guid>
		<description><![CDATA[总所周至的原因，最近大家上网都不好过。今天上mail.live.com被墙，DNS被欺骗成10.0.1.1，itunes store也打不开，拨上vpn后正常。但iphone的mobile me同步是彻底不正常了，充满电的iphone，6个小时耗掉了全部的电。网上一查gprs的流量，跑了10多M。最后查清还是跟被墙有关，连接不上外网（姑且这样称之）导致一直iphone重试，就连我拨上vpn都没用。 简简单单，先把DNS劫持解决了再说。其实Mac OS X一直内置了BIND，从10.4到10.5到snow leopard的10.6。但默认是没打开的。下面就教大家一招，半分钟打开 1.编辑/etc/named.conf，把下面的内容注释掉 // // Include keys file // //include &#34;/etc/rndc.key&#34;; ...... // // Default controls // //controls { // inet 127.0.0.1 port 54 allow {any;} // keys { &#34;rndc-key&#34;; }; //}; 2.下面的命令跑一次 sudo launchctl load -w /System/Library/LaunchDaemons/org.isc.named.plist 3.把DNS改为127.0.0.1，enjoy it UPDATE:有人问到不想用了怎么办 sudo launchctl unload /System/Library/LaunchDaemons/org.isc.named.plist No related posts. Related posts [...]


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>总所周至的原因，最近大家上网都不好过。今天上mail.live.com被墙，DNS被欺骗成10.0.1.1，itunes store也打不开，拨上vpn后正常。但iphone的mobile me同步是彻底不正常了，充满电的iphone，6个小时耗掉了全部的电。网上一查gprs的流量，跑了10多M。最后查清还是跟被墙有关，连接不上外网（姑且这样称之）导致一直iphone重试，就连我拨上vpn都没用。</p>
<p>简简单单，先把DNS劫持解决了再说。其实Mac OS X一直内置了BIND，从10.4到10.5到snow leopard的10.6。但默认是没打开的。下面就教大家一招，半分钟打开</p>
<p>1.编辑/etc/named.conf，把下面的内容注释掉</p>

<div class="wp_syntax"><div class="code"><pre class="conf" style="font-family:monospace;">//
// Include keys file
//
//include &quot;/etc/rndc.key&quot;;
......
//
// Default controls
//
//controls {
//        inet 127.0.0.1 port 54 allow {any;}
//        keys { &quot;rndc-key&quot;; };
//};</pre></div></div>

<p>2.下面的命令跑一次</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> launchctl load <span style="color: #660033;">-w</span> <span style="color: #000000; font-weight: bold;">/</span>System<span style="color: #000000; font-weight: bold;">/</span>Library<span style="color: #000000; font-weight: bold;">/</span>LaunchDaemons<span style="color: #000000; font-weight: bold;">/</span>org.isc.named.plist</pre></div></div>

<p>3.把DNS改为127.0.0.1，enjoy it</p>
<p>UPDATE:有人问到不想用了怎么办</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> launchctl unload <span style="color: #000000; font-weight: bold;">/</span>System<span style="color: #000000; font-weight: bold;">/</span>Library<span style="color: #000000; font-weight: bold;">/</span>LaunchDaemons<span style="color: #000000; font-weight: bold;">/</span>org.isc.named.plist</pre></div></div>



<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://wuhongsheng.com/it/2009/09/enable-bind-under-snow-leopard-to-avoid-dns-cheating-in-a-minute/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>从Snow Leopard中提取BootCamp 3.0的驱动</title>
		<link>http://wuhongsheng.com/mac/2009/09/how-to-extract-bootcamp-driver-from-snow-leopard-dmg/</link>
		<comments>http://wuhongsheng.com/mac/2009/09/how-to-extract-bootcamp-driver-from-snow-leopard-dmg/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 04:52:53 +0000</pubDate>
		<dc:creator>吴洪声</dc:creator>
				<category><![CDATA[mac]]></category>
		<category><![CDATA[bootcamp]]></category>
		<category><![CDATA[dmg]]></category>
		<category><![CDATA[drivers]]></category>
		<category><![CDATA[leopard]]></category>
		<category><![CDATA[snow leopard]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://wuhongsheng.com/?p=309</guid>
		<description><![CDATA[1.首先确保你有snow leopard的dmg文件 2.不要加载这个dmg文件。如果已经加载，先推出 3.打开终端（实用工具中），输入下面的命令（把dmg文件的路径替换成你的。最方便的方法是直接把dmg文件拖到终端内，会自动生成文件的完整路径） sudo hdid -nomount /Users/Sam/Downloads/snowleopard_10a432_userdvd.dmg 4.你会看到类似下面的输出，这里我们需要disk4中的4 /dev/disk4 Apple_partition_scheme /dev/disk4s1 Apple_partition_map /dev/disk4s2 Apple_Driver_ATAPI /dev/disk4s3 Apple_HFS 5.新建一个文件夹，用于加载dmg文件 mkdir /Volumes/bootcamp_drivers 6.加载dmg文件，把/dev/disk4中的4换成你前面得到的数字 sudo mount -t cd9660 -o nodev,nosuid /dev/disk4 /Volumes/bootcamp_drivers 7.成功的话，你会在桌面上看到一个bootcamp_drivers的文件夹，打开后里面就是BootCamp 3.0 Drivers，全部拷贝出来 8.推出dmg并删掉临时文件夹 sudo umount /Volumes/bootcamp_drivers rm -rf /Volumes/bootcamp_drivers No related posts. Related posts brought to you by Yet Another Related Posts Plugin.


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>1.首先确保你有snow leopard的dmg文件<br />
2.不要加载这个dmg文件。如果已经加载，先推出<br />
3.打开终端（实用工具中），输入下面的命令（把dmg文件的路径替换成你的。最方便的方法是直接把dmg文件拖到终端内，会自动生成文件的完整路径）</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> hdid <span style="color: #660033;">-nomount</span> <span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>Sam<span style="color: #000000; font-weight: bold;">/</span>Downloads<span style="color: #000000; font-weight: bold;">/</span>snowleopard_10a432_userdvd.dmg</pre></div></div>

<p>4.你会看到类似下面的输出，这里我们需要disk4中的4</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>disk4          	Apple_partition_scheme         	
<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>disk4s1        	Apple_partition_map            	
<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>disk4s2        	Apple_Driver_ATAPI             	
<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>disk4s3        	Apple_HFS</pre></div></div>

<p>5.新建一个文件夹，用于加载dmg文件</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #000000; font-weight: bold;">/</span>Volumes<span style="color: #000000; font-weight: bold;">/</span>bootcamp_drivers</pre></div></div>

<p>6.加载dmg文件，把/dev/disk4中的4换成你前面得到的数字</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">mount</span> <span style="color: #660033;">-t</span> cd9660 <span style="color: #660033;">-o</span> nodev,nosuid <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>disk4 <span style="color: #000000; font-weight: bold;">/</span>Volumes<span style="color: #000000; font-weight: bold;">/</span>bootcamp_drivers</pre></div></div>

<p>7.成功的话，你会在桌面上看到一个bootcamp_drivers的文件夹，打开后里面就是BootCamp 3.0 Drivers，全部拷贝出来<br />
8.推出dmg并删掉临时文件夹</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">umount</span> <span style="color: #000000; font-weight: bold;">/</span>Volumes<span style="color: #000000; font-weight: bold;">/</span>bootcamp_drivers
<span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-rf</span> <span style="color: #000000; font-weight: bold;">/</span>Volumes<span style="color: #000000; font-weight: bold;">/</span>bootcamp_drivers</pre></div></div>



<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://wuhongsheng.com/mac/2009/09/how-to-extract-bootcamp-driver-from-snow-leopard-dmg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Play Red Alert 3 on Mac OS X with CrossOver Games</title>
		<link>http://wuhongsheng.com/it/2008/11/play-red-alert-3-on-mac-os-x-with-crossover-games/</link>
		<comments>http://wuhongsheng.com/it/2008/11/play-red-alert-3-on-mac-os-x-with-crossover-games/#comments</comments>
		<pubDate>Sat, 01 Nov 2008 05:55:04 +0000</pubDate>
		<dc:creator>吴洪声</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[crossover]]></category>
		<category><![CDATA[ea]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[red alert 3]]></category>

		<guid isPermaLink="false">http://wuhongsheng.com/?p=210</guid>
		<description><![CDATA[at first you must installed RA3 with crossover games, then use &#34; run command&#34; in crossover games to run &#34; regedit&#34; to open registry, set&#160; HKEY_CURRENT_USER/Software/Wine/Direct3D/useGLSL = &#34; enabled&#34; and HKEY_CURRENT_USER/Software/Wine/Direct3D/offscreenRenderingMode = &#34; fbo&#34; . then reboot bottle. enjoy it! No related posts. Related posts brought to you by Yet Another Related Posts Plugin.


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>
      at first you must installed RA3 with crossover games, then use &quot;<br />
run command&quot;<br />
 in crossover games to run &quot;<br />
regedit&quot;<br />
 to open registry, set&nbsp;<br />
<span style="line-height: 21px;<br />
">HKEY_CURRENT_USER/Software/Wine/Direct3D/useGLSL = &quot;<br />
enabled&quot;<br />
 and HKEY_CURRENT_USER/Software/Wine/Direct3D/offscreenRenderingMode = &quot;<br />
fbo&quot;<br />
. then reboot bottle.</span>
    </p>
<p>
      enjoy it!
    </p>
<p>
      <img title="Red Alert 3" src="http://b0.ac-images.cdnmyspace.cn/cnimages01/1/l_2d360a0cd9b24e05f7131cdc25000a6e.png" alt="Red Alert 3" /><span style="line-height: 21px;<br />
"><img title="Red Alert 3" src="http://b1.ac-images.cdnmyspace.cn/cnimages01/2/l_9eb4ed7143c30bf42e07b963b9219f19.png" alt="Red Alert 3" /><img title="Red Alert 3" src="http://b0.ac-images.cdnmyspace.cn/cnimages01/2/l_34fb151526a4c5ef04c22714bd5208f2.png" alt="Red Alert 3" /><img title="Red Alert 3" src="http://b8.ac-images.cdnmyspace.cn/cnimages01/1/l_ba80bb6c83d8def6f7496b7df4844f76.png" alt="Red Alert 3" /><img title="Red Alert 3" src="http://b5.ac-images.cdnmyspace.cn/cnimages01/2/l_02d668e2d19ffe09d4ac8a2b0b853a49.png" alt="Red Alert 3" /><img title="Red Alert 3" src="http://b1.ac-images.cdnmyspace.cn/cnimages01/1/l_ce1d43ea50d7a518c58f4d7ffdc4f9d5.png" alt="Red Alert 3" /></span>
    </p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://wuhongsheng.com/it/2008/11/play-red-alert-3-on-mac-os-x-with-crossover-games/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Spore(孢子) for Mac OS X Leopard (with crack)</title>
		<link>http://wuhongsheng.com/mac/2008/09/spore-for-mac-os-x-leopard-with-crack/</link>
		<comments>http://wuhongsheng.com/mac/2008/09/spore-for-mac-os-x-leopard-with-crack/#comments</comments>
		<pubDate>Sat, 06 Sep 2008 05:20:49 +0000</pubDate>
		<dc:creator>吴洪声</dc:creator>
				<category><![CDATA[mac]]></category>
		<category><![CDATA[crack]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[leopard]]></category>
		<category><![CDATA[spore]]></category>

		<guid isPermaLink="false">http://wuhongsheng.com/?p=186</guid>
		<description><![CDATA[&#160; http://www.verycd.com/topics/341790/ 下载回来，直接打开iso，安装，crack的exe拷贝到Spore.app/Contents/Resources/transgaming/c_drive/Spore/SporeBin覆盖掉。done Macbook Pro4,1测试通过 看情况应该是用了模拟器 FOR MAC OS X &#160;* Mac OS X 10.5.3 Leopard or higher &#160;* Intel Core Duo Processor &#160;* 1024 MB RAM &#160;* ATI X1600 or Nvidia 7300 GT with 128 MB of Video RAM, or &#160;&#160; Intel Integrated GMA X3100. &#160;* At least 4 GB of hard drive space, [...]


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p><img title="Spore for Mac Leopard" src="http://b4.ac-images.cdnmyspace.cn/cnimages01/2/l_5b51e52a14911067fc1b56a08a33c72c.png" alt="Spore for Mac Leopard" /><span style="line-height: 21px;"><img title="Spore for Mac Leopard" src="http://b5.ac-images.cdnmyspace.cn/cnimages01/2/l_e9015485a3337edaafcfd39a9f568a33.png" alt="Spore for Mac Leopard" /><img title="Spore for Mac Leopard" src="http://b8.ac-images.cdnmyspace.cn/cnimages01/1/l_9c727198a20b5c0341f7a694d2b04b8c.png" alt="Spore for Mac Leopard" /><img title="Spore for Mac Leopard" src="http://b3.ac-images.cdnmyspace.cn/cnimages01/1/l_ece4a7b5b97e096ca2a18535f69daeab.png" alt="Spore for Mac Leopard" /></span></p>
<p><img src="http://b1.ac-images.cdnmyspace.cn/cnimages01/1/l_99b1f3e4e8e1a966c4116877bb8a6899.png" alt="" /><img src="http://b4.ac-images.cdnmyspace.cn/cnimages01/1/l_74ecd710c98435b9ac6a405231f1df04.png" alt="" /><img src="http://b9.ac-images.cdnmyspace.cn/cnimages01/2/l_aca80684d00d6a11940d9ab4e69bb539.png" alt="" />&nbsp;</p>
<p><span style="border-collapse: collapse; line-height: 22px; white-space: pre-wrap; font-family: Helvetica;"><a href="http://www.verycd.com/topics/341790/" target="_blank">http://www.verycd.com/topics/341790/</a> 下载回来，直接打开iso，安装，crack的exe拷贝到Spore.app/Contents/Resources/transgaming/c_drive/Spore/SporeBin覆盖掉。done</span></p>
<div><span style="border-collapse: collapse; line-height: 22px; white-space: pre-wrap; font-family: Helvetica;">Macbook Pro4,1测试通过</span></div>
<div></div>
<div>看情况应该是用了模拟器</div>
<div></div>
<div>
<div>FOR MAC OS X</div>
<div>&nbsp;* Mac OS X 10.5.3 Leopard or higher</div>
<div>&nbsp;* Intel Core Duo Processor</div>
<div>&nbsp;* 1024 MB RAM</div>
<div>&nbsp;* ATI X1600 or Nvidia 7300 GT with 128 MB of Video RAM, or</div>
<div>&nbsp;&nbsp; Intel Integrated GMA X3100.</div>
<div>&nbsp;* At least 4 GB of hard drive space, with at least 1 GB&nbsp;</div>
<div>&nbsp;&nbsp; additional space for creations.</div>
<div></div>
<div>This game will not run on PowerPC (G3/G4/G5) based Mac systems, or&nbsp;</div>
<div>the GMA 950 class of integrated video cards.</div>
<div></div>
<div></div>
<div>Supported Video Cards</div>
<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</div>
<div></div>
<div>NVIDIA GeForce series</div>
<div>&nbsp;&nbsp; FX 5900, FX 5950</div>
<div>&nbsp;&nbsp; 6200, 6500, 6600, 6800,</div>
<div>&nbsp;&nbsp; 7200, 7300, 7600, 7800, 7900, 7950</div>
<div>&nbsp;&nbsp; 8400, 8500, 8600, 8800</div>
<div>&nbsp;&nbsp; 9600, 9800, GTX 260, GTX 280</div>
<div></div>
<div>ATI Radeon(TM) series</div>
<div>&nbsp;&nbsp;9500, 9600, 9800</div>
<div>&nbsp;&nbsp;X300, X600, X700, X800, X850</div>
<div>&nbsp;&nbsp;X1300, X1600, X1800, X1900, X1950</div>
<div>&nbsp;&nbsp;2400, 2600, 2900,</div>
<div>&nbsp;&nbsp;3450, 3650, 3850, 3870,</div>
<div>&nbsp;&nbsp;4850&nbsp;</div>
<div></div>
<div>Intel(R) Extreme Graphics</div>
<div>&nbsp;&nbsp;Windows: GMA 950, GMA 3&#215;00 series</div>
<div>&nbsp;&nbsp;Mac OS X: GMA X3100</div>
<div></div>
</div>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://wuhongsheng.com/mac/2008/09/spore-for-mac-os-x-leopard-with-crack/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>64bit Leopard下重新编译PHP并且添加iconv模块</title>
		<link>http://wuhongsheng.com/it/2008/04/recompile-php-and-add-iconv-module-under-64bit-mac-os-x-leopard/</link>
		<comments>http://wuhongsheng.com/it/2008/04/recompile-php-and-add-iconv-module-under-64bit-mac-os-x-leopard/#comments</comments>
		<pubDate>Sat, 05 Apr 2008 02:47:17 +0000</pubDate>
		<dc:creator>吴洪声</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[iconv]]></category>
		<category><![CDATA[leopard]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://wuhongsheng.com/?p=176</guid>
		<description><![CDATA[有关如何在64bit Mac OS X Leopard下面重新编译PHP并添加自己需要模块的文章请参考Leopard 编译 universal php5 重新编译后会出现一个问题：iconv无法编译进去。按照上文的方法，有些机器可以编译，但我的就死活不行。于是只能把iconv单独编译为so，再到php.ini里面添加。 $ cd php-5.2.5/ext/iconv/ $ phpize $ ./configure $ make &#38;&#38; make install 然后编辑php.ini，先修改extension_dir为PHP扩展的路径，比如 ; Directory in which the loadable extensions (modules) reside. extension_dir = &#34;/usr/local/lib/php/extensions/no-debug-non-zts-20060613/&#34; 再把iconv.so添加进去，如 extension=iconv.so 保存后再看一下php -m，iconv已经加载进去了 Sam@Bogon:~$ php -m &#91;PHP Modules&#93; apc ctype curl date dom filter gd hash http iconv json libxml [...]


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>有关如何在64bit Mac OS X Leopard下面重新编译PHP并添加自己需要模块的文章请参考<a href="http://www.nimab.org/2007/12/11/24.html">Leopard 编译 universal php5</a></p>
<p>重新编译后会出现一个问题：iconv无法编译进去。按照上文的方法，有些机器可以编译，但我的就死活不行。于是只能把iconv单独编译为so，再到php.ini里面添加。</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #7a0874; font-weight: bold;">cd</span> php-5.2.5<span style="color: #000000; font-weight: bold;">/</span>ext<span style="color: #000000; font-weight: bold;">/</span>iconv<span style="color: #000000; font-weight: bold;">/</span>
$ phpize
$ .<span style="color: #000000; font-weight: bold;">/</span>configure
$ <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span></pre></div></div>

<p>然后编辑php.ini，先修改extension_dir为PHP扩展的路径，比如</p>

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">; Directory in which the loadable extensions (modules) reside.</span>
<span style="color: #000099;">extension_dir</span> <span style="color: #000066; font-weight:bold;">=</span> <span style="color: #933;">&quot;/usr/local/lib/php/extensions/no-debug-non-zts-20060613/&quot;</span></pre></div></div>

<p>再把iconv.so添加进去，如</p>

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;"><span style="color: #000099;">extension</span><span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">iconv.so</span></pre></div></div>

<p>保存后再看一下php -m，iconv已经加载进去了</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">Sam<span style="color: #000000; font-weight: bold;">@</span>Bogon:~$ php <span style="color: #660033;">-m</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span>PHP Modules<span style="color: #7a0874; font-weight: bold;">&#93;</span>
apc
ctype
curl
<span style="color: #c20cb9; font-weight: bold;">date</span>
dom
filter
gd
<span style="color: #7a0874; font-weight: bold;">hash</span>
http
iconv
json
libxml
mbstring
mysql
pcre
PDO
pdo_mysql
pdo_sqlite
posix
Reflection
session
SimpleXML
SPL
SQLite
standard
tokenizer
xml
xmlreader
xmlwriter
zlib
&nbsp;
<span style="color: #7a0874; font-weight: bold;">&#91;</span>Zend Modules<span style="color: #7a0874; font-weight: bold;">&#93;</span>
&nbsp;
Sam<span style="color: #000000; font-weight: bold;">@</span>Bogon:~$</pre></div></div>



<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://wuhongsheng.com/it/2008/04/recompile-php-and-add-iconv-module-under-64bit-mac-os-x-leopard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>如何增加Time Capsule的备份速度</title>
		<link>http://wuhongsheng.com/mac/2008/03/speed-up-time-capsule-backup/</link>
		<comments>http://wuhongsheng.com/mac/2008/03/speed-up-time-capsule-backup/#comments</comments>
		<pubDate>Tue, 25 Mar 2008 01:28:49 +0000</pubDate>
		<dc:creator>吴洪声</dc:creator>
				<category><![CDATA[mac]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[time capsule]]></category>
		<category><![CDATA[time machine]]></category>

		<guid isPermaLink="false">http://wuhongsheng.com/mac/2008/03/speed-up-time-capsule-backup/</guid>
		<description><![CDATA[Time Capsule的备份速度非常让人诟病，特别是初次备份，如果数据特别大（像我，90G以上），可能花上一个星期也备份不完。虽然可以通过连接网线来提高速度，但效果非常不明显。 今天在国外的论坛上发现一个方法，可以让Time Capsule的速度接近外置硬盘的速度： 系统偏好设置－网络－当前的连接－高级－TCP/IP－更新DHCP租借时间 完成上面的步骤后，你会发现Time Machine的备份速度有极大的提升。 当然，好东西也有不好的一方面，这个方法是临时有效的。也就是说，过一段时间后必须重新进行上面的步骤。 No related posts. Related posts brought to you by Yet Another Related Posts Plugin.


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Time Capsule的备份速度非常让人诟病，特别是初次备份，如果数据特别大（像我，90G以上），可能花上一个星期也备份不完。虽然可以通过连接网线来提高速度，但效果非常不明显。</p>
<p>今天在国外的论坛上发现一个方法，可以让Time Capsule的速度接近外置硬盘的速度：</p>
<p>系统偏好设置－网络－当前的连接－高级－TCP/IP－更新DHCP租借时间</p>
<p>完成上面的步骤后，你会发现Time Machine的备份速度有极大的提升。</p>
<p>当然，好东西也有不好的一方面，这个方法是临时有效的。也就是说，过一段时间后必须重新进行上面的步骤。</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://wuhongsheng.com/mac/2008/03/speed-up-time-capsule-backup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Time Capsule</title>
		<link>http://wuhongsheng.com/mac/2008/03/time-capsule/</link>
		<comments>http://wuhongsheng.com/mac/2008/03/time-capsule/#comments</comments>
		<pubDate>Mon, 24 Mar 2008 07:37:01 +0000</pubDate>
		<dc:creator>吴洪声</dc:creator>
				<category><![CDATA[mac]]></category>
		<category><![CDATA[影像]]></category>
		<category><![CDATA[time capsule]]></category>
		<category><![CDATA[time machine]]></category>

		<guid isPermaLink="false">http://wuhongsheng.com/mac/2008/03/time-capsule/</guid>
		<description><![CDATA[No related posts. Related posts brought to you by Yet Another Related Posts Plugin.


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p><img src="http://pic.yupoo.com/wuhongsheng/9978754acc8f/medium.jpg" alt="time capsule" /></p>
<p><img src="http://pic.yupoo.com/wuhongsheng/6344154acc8f/medium.jpg" alt="time capsule" /></p>
<p><img src="http://pic.yupoo.com/wuhongsheng/8939954ad0d0/medium.jpg" alt="time capsule" /></p>
<p><img src="http://pic.yupoo.com/wuhongsheng/8074754ad0cf/medium.jpg" alt="time capsule" /></p>
<p><img src="http://pic.yupoo.com/wuhongsheng/5802054ad0cf/medium.jpg" alt="time capsule" /></p>
<p><img src="http://pic.yupoo.com/wuhongsheng/4936254ad0cf/medium.jpg" alt="time capsule" /></p>
<p><img src="http://pic.yupoo.com/wuhongsheng/3400954ad11c/medium.jpg" alt="time capsule" /></p>
<p><img src="http://pic.yupoo.com/wuhongsheng/0020554ad421/medium.jpg" alt="time capsule" /></p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://wuhongsheng.com/mac/2008/03/time-capsule/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>关于leopard下的权限问题和@符号的意义</title>
		<link>http://wuhongsheng.com/mac/2008/03/about-acl-and-at-symbol-in-leopard/</link>
		<comments>http://wuhongsheng.com/mac/2008/03/about-acl-and-at-symbol-in-leopard/#comments</comments>
		<pubDate>Mon, 17 Mar 2008 06:19:19 +0000</pubDate>
		<dc:creator>吴洪声</dc:creator>
				<category><![CDATA[mac]]></category>
		<category><![CDATA[acl]]></category>
		<category><![CDATA[leopard]]></category>
		<category><![CDATA[osx]]></category>

		<guid isPermaLink="false">http://wuhongsheng.com/mac/2008/03/about-acl-and-at-symbol-in-leopard/</guid>
		<description><![CDATA[Mac OS X Leopard下的文件权限改变比较大,经常会出现一些文件权限上的问题,比如使用权限修复时可能会出现下面的问题: ********** 2008-03-17 13:39:37 +0800: “磁盘工具”已启动。 &#160; 2008-03-17 13:39:47 +0800: 正在修复“Macintosh HD”的权限 2008-03-17 13:44:25 +0800: 已找到 ACL，但它不是按期望的在“private/etc/apache2/extra/httpd-autoindex.conf”上。 2008-03-17 13:44:25 +0800: 已找到 ACL，但它不是按期望的在“private/etc/apache2/extra/httpd-dav.conf”上。 2008-03-17 13:44:25 +0800: 已找到 ACL，但它不是按期望的在“private/etc/apache2/extra/httpd-default.conf”上。 2008-03-17 13:44:25 +0800: 已找到 ACL，但它不是按期望的在“private/etc/apache2/extra/httpd-info.conf”上。 2008-03-17 13:44:25 +0800: 已找到 ACL，但它不是按期望的在“private/etc/apache2/extra/httpd-languages.conf”上。 2008-03-17 13:44:25 +0800: 已找到 ACL，但它不是按期望的在“private/etc/apache2/extra/httpd-manual.conf”上。 2008-03-17 13:44:25 +0800: 已找到 ACL，但它不是按期望的在“private/etc/apache2/extra/httpd-mpm.conf”上。 2008-03-17 13:44:25 +0800: 已找到 ACL，但它不是按期望的在“private/etc/apache2/extra/httpd-multilang-errordoc.conf”上。 [...]


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Mac OS X Leopard下的文件权限改变比较大,经常会出现一些文件权限上的问题,比如使用权限修复时可能会出现下面的问题:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">**********</span>
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">39</span>:<span style="color: #000000;">37</span> +0800: “磁盘工具”已启动。
&nbsp;
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">39</span>:<span style="color: #000000;">47</span> +0800: 正在修复“Macintosh HD”的权限
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">25</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>extra<span style="color: #000000; font-weight: bold;">/</span>httpd-autoindex.conf”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">25</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>extra<span style="color: #000000; font-weight: bold;">/</span>httpd-dav.conf”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">25</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>extra<span style="color: #000000; font-weight: bold;">/</span>httpd-default.conf”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">25</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>extra<span style="color: #000000; font-weight: bold;">/</span>httpd-info.conf”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">25</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>extra<span style="color: #000000; font-weight: bold;">/</span>httpd-languages.conf”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">25</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>extra<span style="color: #000000; font-weight: bold;">/</span>httpd-manual.conf”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">25</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>extra<span style="color: #000000; font-weight: bold;">/</span>httpd-mpm.conf”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">25</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>extra<span style="color: #000000; font-weight: bold;">/</span>httpd-multilang-errordoc.conf”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">25</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>extra<span style="color: #000000; font-weight: bold;">/</span>httpd-ssl.conf”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">25</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>extra<span style="color: #000000; font-weight: bold;">/</span>httpd-userdir.conf”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">25</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>extra<span style="color: #000000; font-weight: bold;">/</span>httpd-vhosts.conf”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">25</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>extra”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">25</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>magic”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">25</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>mime.types”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">25</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>original<span style="color: #000000; font-weight: bold;">/</span>extra<span style="color: #000000; font-weight: bold;">/</span>httpd-autoindex.conf”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">25</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>original<span style="color: #000000; font-weight: bold;">/</span>extra<span style="color: #000000; font-weight: bold;">/</span>httpd-dav.conf”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">25</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>original<span style="color: #000000; font-weight: bold;">/</span>extra<span style="color: #000000; font-weight: bold;">/</span>httpd-default.conf”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">25</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>original<span style="color: #000000; font-weight: bold;">/</span>extra<span style="color: #000000; font-weight: bold;">/</span>httpd-info.conf”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">25</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>original<span style="color: #000000; font-weight: bold;">/</span>extra<span style="color: #000000; font-weight: bold;">/</span>httpd-languages.conf”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">25</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>original<span style="color: #000000; font-weight: bold;">/</span>extra<span style="color: #000000; font-weight: bold;">/</span>httpd-manual.conf”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">25</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>original<span style="color: #000000; font-weight: bold;">/</span>extra<span style="color: #000000; font-weight: bold;">/</span>httpd-mpm.conf”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">25</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>original<span style="color: #000000; font-weight: bold;">/</span>extra<span style="color: #000000; font-weight: bold;">/</span>httpd-multilang-errordoc.conf”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">25</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>original<span style="color: #000000; font-weight: bold;">/</span>extra<span style="color: #000000; font-weight: bold;">/</span>httpd-ssl.conf”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">25</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>original<span style="color: #000000; font-weight: bold;">/</span>extra<span style="color: #000000; font-weight: bold;">/</span>httpd-userdir.conf”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">25</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>original<span style="color: #000000; font-weight: bold;">/</span>extra<span style="color: #000000; font-weight: bold;">/</span>httpd-vhosts.conf”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">25</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>original<span style="color: #000000; font-weight: bold;">/</span>extra”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">25</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>original<span style="color: #000000; font-weight: bold;">/</span>httpd.conf”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">26</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>original”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">26</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>other<span style="color: #000000; font-weight: bold;">/</span>bonjour.conf”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">26</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>other<span style="color: #000000; font-weight: bold;">/</span>php5.conf”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">26</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>other”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">26</span> +0800: 已找到 ACL，但它不是按期望的在“private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">users</span>”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">44</span>:<span style="color: #000000;">26</span> +0800: “private<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>profile”上的权限不一致，应该是 <span style="color: #660033;">-r--r--r--</span> ，却为 <span style="color: #660033;">-rw-r--r--</span> 。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">45</span>:<span style="color: #000000;">25</span> +0800: 已找到 ACL，但它不是按期望的在“Applications”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">45</span>:<span style="color: #000000;">28</span> +0800: 已找到 ACL，但它不是按期望的在“Library”上。
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">45</span>:<span style="color: #000000;">30</span> +0800: 
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">45</span>:<span style="color: #000000;">30</span> +0800: 完成权限修复
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">45</span>:<span style="color: #000000;">30</span> +0800: 
<span style="color: #000000;">2008</span>-03-<span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">45</span>:<span style="color: #000000;">30</span> +0800:</pre></div></div>

<p>主要是ACL的问题,不管修复几次都会存在,挥之不去,相当噩梦.只要用下面的命令即可解决</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #660033;">-RN</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2</pre></div></div>

<p>-R是递归,-N是删除所有ACL</p>
<p>另外细心的人都会发现,leopard下面的文件属性后面多了个@(以前最常见的是+),比如</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">drwxr-xr-x<span style="color: #000000; font-weight: bold;">@</span>  <span style="color: #000000;">6</span> Sam   staff   204B  <span style="color: #000000;">1</span> <span style="color: #000000;">26</span> <span style="color: #000000;">23</span>:<span style="color: #000000;">53</span> .subversion</pre></div></div>

<p>这个符号代表这个目录或者文件带有扩展属性.一般情况下,这个问题要归功于Time Machine.<br />
想要看一下@符号里面藏了什么东西,可以用下面的命令</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">ls</span> -lh<span style="color: #000000; font-weight: bold;">@</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">Sam<span style="color: #000000; font-weight: bold;">@</span>Bogon-<span style="color: #000000;">2</span>:~$ <span style="color: #c20cb9; font-weight: bold;">ls</span> -lh<span style="color: #000000; font-weight: bold;">@</span>
total <span style="color: #000000;">128</span>
drwx------<span style="color: #000000; font-weight: bold;">@</span> <span style="color: #000000;">28</span> Sam   wheel   952B  <span style="color: #000000;">3</span> <span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">38</span> .
	com.apple.metadata:_kTimeMachineNewestSnapshot	  50B 
	com.apple.metadata:_kTimeMachineOldestSnapshot	  50B 
drwxr-xr-x   <span style="color: #000000;">5</span> root  admin   170B  <span style="color: #000000;">3</span> <span style="color: #000000;">15</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">56</span> ..
<span style="color: #660033;">-rw-------</span>   <span style="color: #000000;">1</span> Sam   staff     5B  <span style="color: #000000;">3</span> <span style="color: #000000;">15</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">56</span> .CFUserTextEncoding
-rw-r--r--<span style="color: #000000; font-weight: bold;">@</span>  <span style="color: #000000;">1</span> Sam   staff    12K  <span style="color: #000000;">3</span> <span style="color: #000000;">17</span> <span style="color: #000000;">14</span>:<span style="color: #000000;">15</span> .DS_Store
	com.apple.FinderInfo	  32B 
drwx------   <span style="color: #000000;">2</span> Sam   wheel    68B  <span style="color: #000000;">3</span> <span style="color: #000000;">17</span> <span style="color: #000000;">14</span>:<span style="color: #000000;">10</span> .Trash
<span style="color: #660033;">-rw-------</span>   <span style="color: #000000;">1</span> Sam   staff   6.2K  <span style="color: #000000;">3</span> <span style="color: #000000;">17</span> <span style="color: #000000;">14</span>:<span style="color: #000000;">15</span> .bash_history
drwx------<span style="color: #000000; font-weight: bold;">@</span>  <span style="color: #000000;">9</span> Sam   wheel   306B  <span style="color: #000000;">3</span> <span style="color: #000000;">17</span> <span style="color: #000000;">14</span>:05 .gnupg
	com.apple.metadata:_kTimeMachineNewestSnapshot	  50B 
	com.apple.metadata:_kTimeMachineOldestSnapshot	  50B 
<span style="color: #660033;">-rw-------</span>   <span style="color: #000000;">1</span> Sam   staff    35B  <span style="color: #000000;">3</span> <span style="color: #000000;">17</span> <span style="color: #000000;">14</span>:<span style="color: #000000;">14</span> .lesshst
-rwxr-----<span style="color: #000000; font-weight: bold;">@</span>  <span style="color: #000000;">1</span> Sam   staff   177B  <span style="color: #000000;">3</span> <span style="color: #000000;">16</span> <span style="color: #000000;">16</span>:<span style="color: #000000;">22</span> .login
	com.apple.TextEncoding	  15B 
<span style="color: #660033;">-rw-------</span>   <span style="color: #000000;">1</span> Sam   wheel   119B  <span style="color: #000000;">3</span> <span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">11</span> .mysql_history
-rw-r--r--<span style="color: #000000; font-weight: bold;">@</span>  <span style="color: #000000;">1</span> Sam   staff   741B  <span style="color: #000000;">3</span> <span style="color: #000000;">16</span> <span style="color: #000000;">19</span>:<span style="color: #000000;">49</span> .profile
	com.apple.metadata:_kTimeMachineNewestSnapshot	  50B 
	com.apple.metadata:_kTimeMachineOldestSnapshot	  50B 
drwx------<span style="color: #000000; font-weight: bold;">@</span>  <span style="color: #000000;">6</span> Sam   staff   204B  <span style="color: #000000;">2</span> <span style="color: #000000;">29</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">29</span> .ssh
	com.apple.metadata:_kTimeMachineNewestSnapshot	  50B 
	com.apple.metadata:_kTimeMachineOldestSnapshot	  50B 
drwxr-xr-x<span style="color: #000000; font-weight: bold;">@</span>  <span style="color: #000000;">6</span> Sam   staff   204B  <span style="color: #000000;">1</span> <span style="color: #000000;">26</span> <span style="color: #000000;">23</span>:<span style="color: #000000;">53</span> .subversion
	com.apple.metadata:_kTimeMachineNewestSnapshot	  50B 
	com.apple.metadata:_kTimeMachineOldestSnapshot	  50B 
<span style="color: #660033;">-rw-------</span>   <span style="color: #000000;">1</span> Sam   staff   7.5K  <span style="color: #000000;">3</span> <span style="color: #000000;">17</span> <span style="color: #000000;">13</span>:<span style="color: #000000;">33</span> .viminfo
-rw-r--r--<span style="color: #000000; font-weight: bold;">@</span>  <span style="color: #000000;">1</span> Sam   staff    41B  <span style="color: #000000;">3</span> <span style="color: #000000;">16</span> <span style="color: #000000;">14</span>:<span style="color: #000000;">49</span> .vimrc
	com.apple.metadata:_kTimeMachineNewestSnapshot	  50B 
	com.apple.metadata:_kTimeMachineOldestSnapshot	  50B 
...</pre></div></div>

<p>@符号的存在,没什么大碍.但如果你发现某天某个文件夹里面写不进去东西了,但用户/用户组的权限都正确,那么就要考虑清理ACL了.目前暂时还不知道这个BUG是如何造成的.</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://wuhongsheng.com/mac/2008/03/about-acl-and-at-symbol-in-leopard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone数据库结构</title>
		<link>http://wuhongsheng.com/mac/2007/10/iphone-database-structure/</link>
		<comments>http://wuhongsheng.com/mac/2007/10/iphone-database-structure/#comments</comments>
		<pubDate>Mon, 01 Oct 2007 12:01:38 +0000</pubDate>
		<dc:creator>吴洪声</dc:creator>
				<category><![CDATA[mac]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://wuhongsheng.com/mac/2007/10/iphone-database-structure/</guid>
		<description><![CDATA[/* * iphone database structure * @author zye * @contact zye@tudou.com * @update 20070924 * @version 0.1 * @url http://yegq.yeax.com/?p=162 * @copyleft 此文档可随意分发。如果你发布的iphone应用得益于此文档，建议注明，或给我email，共贺之。 */ 一、AddressBook.sqlitedb 通讯录数据库 location: /private/var/root/Library/AddressBook/AddressBook.sqlitedb 1.ABGroup 联系人分组信息 ROWID:组ID,自增PK Name:组名 2.ABGroupChanges 分组信息更新 record: type: 3.ABGroupMembers 组联系人 UID: PK group_id：组ID,对应ABGroup.ROWID member_type: 组员类别 member_id: 组员(联系人)ID,对应ABPerson.ROWID 注意:UNIQUE(group_id, member_type, member_id) 4.ABMultiValue 存储联系人的各种联系方式 UID: PK record_id: 联系人ID,对应ABPerson.ROWID property: [...]


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>/*<br />
* iphone database structure<br />
* @author zye<br />
* @contact zye@tudou.com<br />
* @update 20070924<br />
* @version 0.1<br />
* @url http://yegq.yeax.com/?p=162<br />
* @copyleft 此文档可随意分发。如果你发布的iphone应用得益于此文档，建议注明，或给我email，共贺之。<br />
*/<br />
一、AddressBook.sqlitedb 通讯录数据库</p>
<p>location: /private/var/root/Library/AddressBook/AddressBook.sqlitedb</p>
<p>1.ABGroup 联系人分组信息<br />
ROWID:组ID,自增PK<br />
Name:组名</p>
<p>2.ABGroupChanges 分组信息更新<br />
record:<br />
type:</p>
<p>3.ABGroupMembers 组联系人<br />
UID: PK<br />
group_id：组ID,对应ABGroup.ROWID<br />
member_type: 组员类别<br />
member_id: 组员(联系人)ID,对应ABPerson.ROWID<br />
注意:UNIQUE(group_id, member_type, member_id)</p>
<p>4.ABMultiValue 存储联系人的各种联系方式<br />
UID: PK<br />
record_id: 联系人ID,对应ABPerson.ROWID<br />
property: 属性值. 3.电话; 4.email; 待补充…<br />
identifier: 标识符.0,1,2,3,4,目前所知用于排序<br />
label: 标志值. 1.mobile;2.home;3.work;4.other;5.homepage(URL) 对应ABMultiValueLabel.value<br />
value: 值. 例如一个手机号码13800138000,或一个email地址foo@bar.com</p>
<p>5.ABMultiValueEntry (未知)<br />
parent_id: (未知)<br />
key: (未知)<br />
value: (未知)<br />
注意:UNIQUE(parent_id, key)</p>
<p>6.ABMultiValueEntryKey (未知)<br />
value: (未知)<br />
注意:UNIQUE(value)</p>
<p>7.ABMultiValueLabel 联系方式标志值列表<br />
value: 见ABMultiValue.label</p>
<p>8.ABPerson<br />
ROWID 自增PK,也是联系人的唯一标识<br />
First 名字<br />
Last 姓<br />
Middle (未定)<br />
FirstPhonetic (未定,貌似留作语音拨号用的)<br />
MiddlePhonetic (未定,貌似留作语音拨号用的)<br />
LastPhonetic (未定,貌似留作语音拨号用的)<br />
Organization 所在公司,组织<br />
Department 所在部门<br />
Note 注释<br />
Kind 未定<br />
Birthday 生日<br />
JobTitle 头衔<br />
Nickname 昵称<br />
Prefix 前缀<br />
Suffix 后缀<br />
FirstSort 排序用(具体未知)<br />
LastSort 排序用(具体未知)<br />
CreationDate 创建时间<br />
ModificationDate 最后修改时间<br />
CompositeNameFallback (未知)</p>
<p>9.ABPersonChanges (未知)<br />
record<br />
type</p>
<p>10.ABPersonMultiValueDeletes (未知)<br />
record_id<br />
property_id<br />
identifier</p>
<p>11.ABPhoneLastFour 电话号码后四位匹配表<br />
multivalue_id 对应ABMultiValue.UID<br />
value 电话号码后四位</p>
<p>12.ABRecent (未知)<br />
date<br />
name<br />
property<br />
value</p>
<p>13.sorting_first_section_list (未知)<br />
character<br />
number</p>
<p>14.sorting_last_section_list (未知)<br />
character<br />
number</p>
<p>15.sqlite_sequence (用于记录序列)<br />
name:表命,如ABPerson<br />
seq: 最新序列号</p>
<p>— ==========下面是建表语句==========</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> ABGroup <span style="color: #66cc66;">&#40;</span>ROWID <span style="color: #993333; font-weight: bold;">INTEGER</span> <span style="color: #993333; font-weight: bold;">PRIMARY</span> <span style="color: #993333; font-weight: bold;">KEY</span> AUTOINCREMENT<span style="color: #66cc66;">,</span> Name TEXT<span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> ABGroupChanges <span style="color: #66cc66;">&#40;</span>record <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">TYPE</span> <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> ABGroupMembers <span style="color: #66cc66;">&#40;</span>UID <span style="color: #993333; font-weight: bold;">INTEGER</span> <span style="color: #993333; font-weight: bold;">PRIMARY</span> <span style="color: #993333; font-weight: bold;">KEY</span><span style="color: #66cc66;">,</span> group_id <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span> member_type <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span> member_id <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">UNIQUE</span><span style="color: #66cc66;">&#40;</span>group_id<span style="color: #66cc66;">,</span> member_type<span style="color: #66cc66;">,</span> member_id<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> ABMultiValue <span style="color: #66cc66;">&#40;</span>UID <span style="color: #993333; font-weight: bold;">INTEGER</span> <span style="color: #993333; font-weight: bold;">PRIMARY</span> <span style="color: #993333; font-weight: bold;">KEY</span><span style="color: #66cc66;">,</span> record_id <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span> property <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span> identifier <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span> label <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">VALUE</span> TEXT<span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> ABMultiValueEntry <span style="color: #66cc66;">&#40;</span>parent_id <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">KEY</span> <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">VALUE</span> TEXT<span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">UNIQUE</span><span style="color: #66cc66;">&#40;</span>parent_id<span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">KEY</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> ABMultiValueEntryKey <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">VALUE</span> TEXT<span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">UNIQUE</span><span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">VALUE</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> ABMultiValueLabel <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">VALUE</span> TEXT<span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">UNIQUE</span><span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">VALUE</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> ABPerson <span style="color: #66cc66;">&#40;</span>ROWID <span style="color: #993333; font-weight: bold;">INTEGER</span> <span style="color: #993333; font-weight: bold;">PRIMARY</span> <span style="color: #993333; font-weight: bold;">KEY</span> AUTOINCREMENT<span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">FIRST</span> TEXT<span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">LAST</span> TEXT<span style="color: #66cc66;">,</span> Middle TEXT<span style="color: #66cc66;">,</span> FirstPhonetic TEXT<span style="color: #66cc66;">,</span> MiddlePhonetic TEXT<span style="color: #66cc66;">,</span> LastPhonetic TEXT<span style="color: #66cc66;">,</span> Organization TEXT<span style="color: #66cc66;">,</span> Department TEXT<span style="color: #66cc66;">,</span> Note TEXT<span style="color: #66cc66;">,</span> Kind <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span> Birthday TEXT<span style="color: #66cc66;">,</span> JobTitle TEXT<span style="color: #66cc66;">,</span> Nickname TEXT<span style="color: #66cc66;">,</span> Prefix TEXT<span style="color: #66cc66;">,</span> Suffix TEXT<span style="color: #66cc66;">,</span> FirstSort TEXT<span style="color: #66cc66;">,</span> LastSort TEXT<span style="color: #66cc66;">,</span> CreationDate <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span> ModificationDate <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span> CompositeNameFallback TEXT<span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> ABPersonChanges <span style="color: #66cc66;">&#40;</span>record <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">TYPE</span> <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> ABPersonMultiValueDeletes <span style="color: #66cc66;">&#40;</span>record_id <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span> property_id <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span> identifier <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> ABPhoneLastFour <span style="color: #66cc66;">&#40;</span>multivalue_id <span style="color: #993333; font-weight: bold;">INTEGER</span> <span style="color: #993333; font-weight: bold;">PRIMARY</span> <span style="color: #993333; font-weight: bold;">KEY</span><span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">VALUE</span> TEXT<span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> ABRecent<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">DATE</span> <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span> name<span style="color: #66cc66;">,</span> property <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">VALUE</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> sorting_first_section_list<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">CHARACTER</span><span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">NUMBER</span><span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">UNIQUE</span><span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">CHARACTER</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> sorting_last_section_list<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">CHARACTER</span><span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">NUMBER</span><span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">UNIQUE</span><span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">CHARACTER</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> sqlite_sequence<span style="color: #66cc66;">&#40;</span>name TEXT<span style="color: #66cc66;">,</span> seq <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>— ==========下面是创建索引==========</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">INDEX</span> ABMultiValueRecordIDIndex <span style="color: #993333; font-weight: bold;">ON</span> ABMultiValue<span style="color: #66cc66;">&#40;</span>record_id<span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">INDEX</span> ABMultiValueLabelIndex <span style="color: #993333; font-weight: bold;">ON</span> ABMultiValue<span style="color: #66cc66;">&#40;</span>label<span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">INDEX</span> ABMultiValueEntryKeyIndex <span style="color: #993333; font-weight: bold;">ON</span> ABMultiValueEntry<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">KEY</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">INDEX</span> ABFirstSortIndex <span style="color: #993333; font-weight: bold;">ON</span> ABPerson<span style="color: #66cc66;">&#40;</span>FirstSort<span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">INDEX</span> ABLastSortIndex <span style="color: #993333; font-weight: bold;">ON</span> ABPerson<span style="color: #66cc66;">&#40;</span>LastSort<span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">INDEX</span> ABPhoneLastFourIndex <span style="color: #993333; font-weight: bold;">ON</span> ABPhoneLastFour<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">VALUE</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">INDEX</span> ABRecent_value_index <span style="color: #993333; font-weight: bold;">ON</span> ABRecent<span style="color: #66cc66;">&#40;</span>property<span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">VALUE</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">INDEX</span> ABRecent_date_index <span style="color: #993333; font-weight: bold;">ON</span> ABRecent<span style="color: #66cc66;">&#40;</span>property<span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">DATE</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>— ==========下面是创建触发器==========</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TRIGGER</span> delete_phone_last_four AFTER <span style="color: #993333; font-weight: bold;">DELETE</span> <span style="color: #993333; font-weight: bold;">ON</span> ABMultiValue
<span style="color: #993333; font-weight: bold;">BEGIN</span>
<span style="color: #993333; font-weight: bold;">DELETE</span> <span style="color: #993333; font-weight: bold;">FROM</span> ABPhoneLastFour <span style="color: #993333; font-weight: bold;">WHERE</span> multivalue_id <span style="color: #66cc66;">=</span> <span style="color: #993333; font-weight: bold;">OLD</span><span style="color: #66cc66;">.</span>UID;
<span style="color: #993333; font-weight: bold;">END</span>;
&nbsp;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TRIGGER</span> sorting_first_prefix_trigger AFTER <span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">ON</span> ABPerson
<span style="color: #993333; font-weight: bold;">BEGIN</span>
<span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">OR</span> <span style="color: #993333; font-weight: bold;">REPLACE</span> <span style="color: #993333; font-weight: bold;">INTO</span> sorting_first_section_list <span style="color: #993333; font-weight: bold;">VALUES</span><span style="color: #66cc66;">&#40;</span>substr<span style="color: #66cc66;">&#40;</span>IFNULL<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">NEW</span><span style="color: #66cc66;">.</span>FirstSort<span style="color: #66cc66;">,</span> ‘~’<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">+</span> IFNULL<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #993333; font-weight: bold;">NUMBER</span> <span style="color: #993333; font-weight: bold;">FROM</span> sorting_first_section_list <span style="color: #993333; font-weight: bold;">WHERE</span> <span style="color: #993333; font-weight: bold;">CHARACTER</span> <span style="color: #66cc66;">=</span> substr<span style="color: #66cc66;">&#40;</span>IFNULL<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">NEW</span><span style="color: #66cc66;">.</span>FirstSort<span style="color: #66cc66;">,</span> ‘~’<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">END</span>;
&nbsp;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TRIGGER</span> update_first_prefix_trigger AFTER <span style="color: #993333; font-weight: bold;">UPDATE</span> <span style="color: #993333; font-weight: bold;">ON</span> ABPerson
<span style="color: #993333; font-weight: bold;">BEGIN</span>
<span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">OR</span> <span style="color: #993333; font-weight: bold;">REPLACE</span> <span style="color: #993333; font-weight: bold;">INTO</span> sorting_first_section_list <span style="color: #993333; font-weight: bold;">VALUES</span><span style="color: #66cc66;">&#40;</span>substr<span style="color: #66cc66;">&#40;</span>IFNULL<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">OLD</span><span style="color: #66cc66;">.</span>FirstSort<span style="color: #66cc66;">,</span> ‘~’<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #993333; font-weight: bold;">NUMBER</span> <span style="color: #993333; font-weight: bold;">FROM</span> sorting_first_section_list <span style="color: #993333; font-weight: bold;">WHERE</span> <span style="color: #993333; font-weight: bold;">CHARACTER</span> <span style="color: #66cc66;">=</span> substr<span style="color: #66cc66;">&#40;</span>IFNULL<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">OLD</span><span style="color: #66cc66;">.</span>FirstSort<span style="color: #66cc66;">,</span> ‘~’<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">-</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">OR</span> <span style="color: #993333; font-weight: bold;">REPLACE</span> <span style="color: #993333; font-weight: bold;">INTO</span> sorting_first_section_list <span style="color: #993333; font-weight: bold;">VALUES</span><span style="color: #66cc66;">&#40;</span>substr<span style="color: #66cc66;">&#40;</span>IFNULL<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">NEW</span><span style="color: #66cc66;">.</span>FirstSort<span style="color: #66cc66;">,</span> ‘~’<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">+</span> IFNULL<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #993333; font-weight: bold;">NUMBER</span> <span style="color: #993333; font-weight: bold;">FROM</span> sorting_first_section_list <span style="color: #993333; font-weight: bold;">WHERE</span> <span style="color: #993333; font-weight: bold;">CHARACTER</span> <span style="color: #66cc66;">=</span> substr<span style="color: #66cc66;">&#40;</span>IFNULL<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">NEW</span><span style="color: #66cc66;">.</span>FirstSort<span style="color: #66cc66;">,</span> ‘~’<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">END</span>;
&nbsp;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TRIGGER</span> delete_first_prefix_trigger AFTER <span style="color: #993333; font-weight: bold;">DELETE</span> <span style="color: #993333; font-weight: bold;">ON</span> ABPerson
<span style="color: #993333; font-weight: bold;">BEGIN</span>
<span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">OR</span> <span style="color: #993333; font-weight: bold;">REPLACE</span> <span style="color: #993333; font-weight: bold;">INTO</span> sorting_first_section_list <span style="color: #993333; font-weight: bold;">VALUES</span><span style="color: #66cc66;">&#40;</span>substr<span style="color: #66cc66;">&#40;</span>IFNULL<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">OLD</span><span style="color: #66cc66;">.</span>FirstSort<span style="color: #66cc66;">,</span> ‘~’<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #993333; font-weight: bold;">NUMBER</span> <span style="color: #993333; font-weight: bold;">FROM</span> sorting_first_section_list <span style="color: #993333; font-weight: bold;">WHERE</span> <span style="color: #993333; font-weight: bold;">CHARACTER</span> <span style="color: #66cc66;">=</span> substr<span style="color: #66cc66;">&#40;</span>IFNULL<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">OLD</span><span style="color: #66cc66;">.</span>FirstSort<span style="color: #66cc66;">,</span> ‘~’<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">-</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">END</span>;
&nbsp;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TRIGGER</span> sorting_last_prefix_trigger AFTER <span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">ON</span> ABPerson
<span style="color: #993333; font-weight: bold;">BEGIN</span>
<span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">OR</span> <span style="color: #993333; font-weight: bold;">REPLACE</span> <span style="color: #993333; font-weight: bold;">INTO</span> sorting_last_section_list <span style="color: #993333; font-weight: bold;">VALUES</span><span style="color: #66cc66;">&#40;</span>substr<span style="color: #66cc66;">&#40;</span>IFNULL<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">NEW</span><span style="color: #66cc66;">.</span>LastSort<span style="color: #66cc66;">,</span> ‘~’<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">+</span> IFNULL<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #993333; font-weight: bold;">NUMBER</span> <span style="color: #993333; font-weight: bold;">FROM</span> sorting_last_section_list <span style="color: #993333; font-weight: bold;">WHERE</span> <span style="color: #993333; font-weight: bold;">CHARACTER</span> <span style="color: #66cc66;">=</span> substr<span style="color: #66cc66;">&#40;</span>IFNULL<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">NEW</span><span style="color: #66cc66;">.</span>LastSort<span style="color: #66cc66;">,</span> ‘~’<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">END</span>;
&nbsp;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TRIGGER</span> update_last_prefix_trigger AFTER <span style="color: #993333; font-weight: bold;">UPDATE</span> <span style="color: #993333; font-weight: bold;">ON</span> ABPerson
<span style="color: #993333; font-weight: bold;">BEGIN</span>
<span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">OR</span> <span style="color: #993333; font-weight: bold;">REPLACE</span> <span style="color: #993333; font-weight: bold;">INTO</span> sorting_last_section_list <span style="color: #993333; font-weight: bold;">VALUES</span><span style="color: #66cc66;">&#40;</span>substr<span style="color: #66cc66;">&#40;</span>IFNULL<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">OLD</span><span style="color: #66cc66;">.</span>LastSort<span style="color: #66cc66;">,</span> ‘~’<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #993333; font-weight: bold;">NUMBER</span> <span style="color: #993333; font-weight: bold;">FROM</span> sorting_last_section_list <span style="color: #993333; font-weight: bold;">WHERE</span> <span style="color: #993333; font-weight: bold;">CHARACTER</span> <span style="color: #66cc66;">=</span> substr<span style="color: #66cc66;">&#40;</span>IFNULL<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">OLD</span><span style="color: #66cc66;">.</span>LastSort<span style="color: #66cc66;">,</span> ‘~’<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">-</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">OR</span> <span style="color: #993333; font-weight: bold;">REPLACE</span> <span style="color: #993333; font-weight: bold;">INTO</span> sorting_last_section_list <span style="color: #993333; font-weight: bold;">VALUES</span><span style="color: #66cc66;">&#40;</span>substr<span style="color: #66cc66;">&#40;</span>IFNULL<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">NEW</span><span style="color: #66cc66;">.</span>LastSort<span style="color: #66cc66;">,</span> ‘~’<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">+</span> IFNULL<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #993333; font-weight: bold;">NUMBER</span> <span style="color: #993333; font-weight: bold;">FROM</span> sorting_last_section_list <span style="color: #993333; font-weight: bold;">WHERE</span> <span style="color: #993333; font-weight: bold;">CHARACTER</span> <span style="color: #66cc66;">=</span> substr<span style="color: #66cc66;">&#40;</span>IFNULL<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">NEW</span><span style="color: #66cc66;">.</span>LastSort<span style="color: #66cc66;">,</span> ‘~’<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">END</span>;
&nbsp;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TRIGGER</span> delete_last_prefix_trigger AFTER <span style="color: #993333; font-weight: bold;">DELETE</span> <span style="color: #993333; font-weight: bold;">ON</span> ABPerson
<span style="color: #993333; font-weight: bold;">BEGIN</span>
<span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">OR</span> <span style="color: #993333; font-weight: bold;">REPLACE</span> <span style="color: #993333; font-weight: bold;">INTO</span> sorting_last_section_list <span style="color: #993333; font-weight: bold;">VALUES</span><span style="color: #66cc66;">&#40;</span>substr<span style="color: #66cc66;">&#40;</span>IFNULL<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">OLD</span><span style="color: #66cc66;">.</span>LastSort<span style="color: #66cc66;">,</span> ‘~’<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #993333; font-weight: bold;">NUMBER</span> <span style="color: #993333; font-weight: bold;">FROM</span> sorting_last_section_list <span style="color: #993333; font-weight: bold;">WHERE</span> <span style="color: #993333; font-weight: bold;">CHARACTER</span> <span style="color: #66cc66;">=</span> substr<span style="color: #66cc66;">&#40;</span>IFNULL<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">OLD</span><span style="color: #66cc66;">.</span>LastSort<span style="color: #66cc66;">,</span> ‘~’<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">-</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">END</span>;</pre></div></div>

<p>二、notes.db 记事本数据库</p>
<p>location: /private/var/root/Library/Notes/notes.db</p>
<p>1.Note 摘要信息记录表<br />
creation_date: 创建时间<br />
title: 标题<br />
summary: 摘要</p>
<p>2.note_bodies 详细信息<br />
note_id: note ID<br />
data: 记事内容，包含标题</p>
<p>– ==========下面是建表语句==========</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> Note <span style="color: #66cc66;">&#40;</span>creation_date <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span> title TEXT<span style="color: #66cc66;">,</span> summary TEXT<span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> note_bodies <span style="color: #66cc66;">&#40;</span>note_id <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">DATA</span><span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">UNIQUE</span><span style="color: #66cc66;">&#40;</span>note_id<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>– ==========下面是创建触发器==========</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TRIGGER</span> delete_note_bodies AFTER <span style="color: #993333; font-weight: bold;">DELETE</span> <span style="color: #993333; font-weight: bold;">ON</span> Note
<span style="color: #993333; font-weight: bold;">BEGIN</span>
<span style="color: #993333; font-weight: bold;">DELETE</span> <span style="color: #993333; font-weight: bold;">FROM</span> note_bodies <span style="color: #993333; font-weight: bold;">WHERE</span> note_id <span style="color: #66cc66;">=</span> <span style="color: #993333; font-weight: bold;">OLD</span><span style="color: #66cc66;">.</span>ROWID;
<span style="color: #993333; font-weight: bold;">END</span>;</pre></div></div>

<p>三、sms.db 短信数据库</p>
<p>location: /private/var/root/Library/SMS/sms.db</p>
<p>1.message 短信表<br />
ROWID: 自增PK<br />
address: 对方手机号码(+86)<br />
date: 时间<br />
text: 内容<br />
flags: 标记. 2.收到的;3.自己发送的<br />
replace: (未知)<br />
svc_center: (未知)</p>
<p>– ==========下面是建表语句==========</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> message <span style="color: #66cc66;">&#40;</span>ROWID <span style="color: #993333; font-weight: bold;">INTEGER</span> <span style="color: #993333; font-weight: bold;">PRIMARY</span> <span style="color: #993333; font-weight: bold;">KEY</span> AUTOINCREMENT<span style="color: #66cc66;">,</span> address TEXT<span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">DATE</span> <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span> text TEXT<span style="color: #66cc66;">,</span> flags <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">REPLACE</span> <span style="color: #993333; font-weight: bold;">INTEGER</span><span style="color: #66cc66;">,</span> svc_center TEXT<span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>CallData DB<br />
/System/Library/Frameworks/AppSupport.framework/calldata.db</p>
<p>TABLE	_SqliteDatabaseProperties<br />
TABLE	citycode<br />
code (INTEGER)<br />
Not sure what the significance of these entries are, I’m wondering if they have something to do with the geocoding of calls not made from your phonebook?<br />
(3888)<br />
city (TEXT)<br />
Not sure what the significance of these entries are, I’m wondering if they have something to do with the geocoding of calls not made from your phonebook?<br />
(RED CLOUD)<br />
INDEX	citycode_codeIndex<br />
citycode (code)<br />
TABLE	npa<br />
npa (TEXT)<br />
Numbering Plan Area, aka Area Code<br />
(415)<br />
location (TEXT)<br />
State/Province Assigned to the NPA<br />
(CA)<br />
country (TEXT)<br />
Country Assigned to the NPA, may be null if “location” is specific enough<br />
(USA)<br />
TABLE	npalocation<br />
npa (TEXT)<br />
Numbering Plan Area, aka Area Code<br />
(415)<br />
location (TEXT)<br />
Descriptive location info<br />
(San Francisco/North Bay Area)<br />
TABLE	npanxx<br />
npa (INTEGER)<br />
Numbering Plan Area, aka Area Code<br />
(907)<br />
nxx (INTEGER)<br />
Unknown<br />
(200)<br />
rate_center (INTEGER)<br />
Unknown<br />
(1)<br />
INDEX	npanxx_npanxxIndex<br />
npanxx (npa,nxx)<br />
CallHistory DB<br />
/private/var/root/Library/CallHistory/call_history.db</p>
<p>TABLE	_SqliteDatabaseProperties<br />
your values will certainly be different here…when you “restore” your iPhone from iTunes the counters all reset<br />
key (TEXT)	value (TEXT)<br />
call_history_limit	100<br />
timer_last	60<br />
timer_outgoing	900<br />
timer_incoming	540<br />
timer_all	1440<br />
timer_lifetime	1440<br />
timer_last_reset<br />
data_up_last	2.5439454125<br />
data_down_last	20.86328125<br />
data_up_all	719.9228515625<br />
data_down_all	8677.8427734375<br />
data_up_lifetime	719.9228515625<br />
data_down_lifetime	8677.8427734375<br />
data_last_reset<br />
_ClientVersion	3<br />
_UniqueIdentifier	GUID<br />
TABLE	call<br />
ROWID (INTEGER PRIMARY KEY AUTOINCREMENT)<br />
Auto-incrementing field/counter<br />
address (TEXT)<br />
International-formatted foreign address<br />
(18005551212)<br />
date (INTEGER)<br />
OSX-epoch based datetime, convertable via date -r<br />
(1187200801)<br />
duration (INTEGER)<br />
Length of call in seconds rounded to next minute, 0 = missed call<br />
(60)<br />
flags (INTEGER)<br />
Flags controlling the type of record<br />
5 &#8211; Outgoing call<br />
4 &#8211; Incoming call<br />
id (INTEGER)<br />
AddressBook ID for outgoing calls selected from AddressBook, otherwise -1<br />
(67)<br />
INDEX	date_index<br />
call (date)<br />
KeyChain DB<br />
/private/var/root/Library/Keychains/keychain-2.db<br />
Encrypted, I don’t know how to parse this yet</p>
<p>Voicemail DB<br />
/private/var/root/Library/Voicemail/voicemail.db</p>
<p>TABLE	_SqliteDatabaseProperties<br />
key (TEXT)	value (TEXT)<br />
VMVersion	4<br />
_UniqueIdentifier	GUID<br />
token	string containing various values, including your phone number<br />
uid_validity	1183172695<br />
mailboxusage	57<br />
TABLE	voicemail<br />
ROWID (INTEGER PRIMARY KEY AUTOINCREMENT)<br />
Auto-incrementing field/counter<br />
remote_uid (INTEGER)<br />
International-formatted foreign address<br />
(18005551212)<br />
date (INTEGER)<br />
OSX-epoch based datetime, convertable via date -r<br />
(1187200801)<br />
token (TEXT)<br />
Always reads “Complete” from what I can tell<br />
sender (TEXT)<br />
CallerID from the calling party leaving the voicemail message<br />
(8885551212)<br />
callback_num (TEXT)<br />
Callback number left by calling party, usually caller ID<br />
(8885551212)<br />
duration (INTEGER)<br />
Duration in seconds<br />
(5)<br />
expiration (INTEGER)<br />
OSX-epoch based datetime, convertable via date -r<br />
(1189431482)<br />
trashed_date (INTEGER)<br />
definitely based in seconds, haven’t figured out the epoch yet or why it isn’t the same as the other dates based on OSX’s epoch<br />
flags (INTEGER)<br />
Voicemail flags<br />
0 &#8211; Not downloaded yet<br />
1 &#8211; Partially downloaded<br />
2 &#8211; New, unlistened or only partially listened to<br />
3 &#8211; Listened completely<br />
11 &#8211; Pending delete, in “Deleted Items”<br />
15 &#8211; Deleted from iPhone, pending delete from voicemail hq<br />
INDEX	date_index<br />
voicemail (date)<br />
INDEX	remote_uid_index<br />
voicemail (remote_uid)<br />
Other, more complicated DBs, involved in syncing<br />
AddressBook DB<br />
/private/var/root/Library/AddressBook/AddressBook.sqlitedb<br />
AddressBook Images DB<br />
/private/var/root/Library/AddressBook/AddressBookImages.sqlitedb<br />
Maptiles DB<br />
/private/var/root/Library/Caches/MapTiles/MapTiles.sqlitedb<br />
Calendar DB<br />
/private/var/root/Library/Calendar/Calendar.sqlitedb</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://wuhongsheng.com/mac/2007/10/iphone-database-structure/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 2.105 seconds -->

