好消息: Installer 版 V0.3 (对应于原版本V1.8) 终于出炉了! :-) 感谢大家耐心的等待. 同时此版本也可以修复下面所说的数据库错误. 请见:
http://www.weiphone.com/thread-65619-1-1.html
===以下为以前内容,请注意,V0.2是比V1.8更新的版本,似乎有人搞错了 :)===
====本贴仅为记录本软件发展历史====
重要通知:
刚刚发现在使用 iTunes 从电脑到iPhone同步联系人时偶尔会造成数据库错误, 现象是:
1. 某些组的联系人(如L组)的第一个会在K组, 或相反:K组的最后一个在L组.
2. 当浏览至联系人列表最后时程序无故退出.
我正在开发一个修复程序, 届时会通知大家. 在这之前请不要同步数据(从 iPhone 同步到电脑不受影响).
对由此给大家造成的不便, 还请大家见谅!
对于数据库已经有错误的, 可以使用支持1.11的联系人排序、查找补丁(11.7更新)所述方法修复.
敬告:虽然我已经提供更新数据库的方法, 我还是希望大家把见到的现在库中没有的姓(我们只关心姓)告诉我以便加到最新的汉字拼音库中方便大家.
谢谢大家支持! 根据大家的反馈, 已确认这个软件包适用于 FW 1.0.2, FW 1.1.1 和 FW 1.1.2
[V1.7 - 补丁包]
sortSolution_patchV1.7.rar (165.9 KB)
确保已安装V1.6, 然后参考下面的补丁安装手册
1. 已添加下列汉字:
逯, 鑫, 奚
[V1.6 - 补丁包]
sortSolution_patchV1.6.rar (165.75 KB)
确保已安装V1.5, 然后参考下面的补丁安装手册
1. 已添加下列汉字:
胥, 逍, 伉, 郄
[V1.5 - 完全包]
sortSolutionV1.5.rar (190.83 KB)
初次安装或直接升级请按下面V1.2的安装步骤安装, 不需要装任何补丁.
1. 已添加下列汉字:
雒, 轫, 邴, 褚, 媛, 芮, 璩, 蘧, 诎, 裘, 谯, 邳
2. 更新了下列汉字:
单(shan)
[V1.4 - 补丁包]
sortSolution_patchV1.4.rar (165.71 KB)
推荐直接使用V1.5
1. 已添加下列汉字:
嵇, 虢, 窦, 妞, 於
2. 更新了下列汉字:
覃(qin)
钱(qian)
[V1.3 - 补丁包]
sortSolution_patchV1.3.rar (165.52 KB)
推荐直接使用V1.5
1. 已添加下列汉字:
佘, 邰, 闵, 覃, 佟, 阙
[V1.2 - 完全包]
sortSolutionV1.2.rar (190.15 KB)
推荐直接使用V1.5
1. 更新了 sort.sh 可以保留最早的备份文件.
[V1.1] 推荐使用 V1.2.
1. 已添加下列汉字:
邬, 幺, 瞿, 滕, 闫, 栾, 鄢, 蔺
"解" 的拼音改为 "xie".
2. 更新了 sort.sh 使其可以报告哪步操作出错.
=================================== 原贴 [版本V1.0] ====================================================
现有的对联系人排序的修复软件都是运行于 Windows或MAC OS 上的, 有了iPhone开发环境, 就总想写一个基于iPhone的对中文联系人排序的软件. 后来终于有了新发现, 不再那么复杂.
[功能] 按照本教程步骤做完后不再需要第三方程序的任何操作. 大多数联系人的排序会在插入或修改的同时由sqlite3自动完成.
[适用于] Firmware 1.0.2, 1.1.1, 1.1.2. 其他版本(如果还有人用的话)估计应该也可用.
[需求]
1.
WiFi 以通过 SSH登录 或 装有Term-vt100, 因为需要手工运行一个脚本.
2. 联系人所在的分区空间 /var/root/Library/AddressBook 有至少1M 的空闲.
3. 完成后, AddressBook.sqlitedb 的大小增大 200K 左右 (是用以存放字->拼音的对应表).
[局限] 由于我用的汉字拼音对应表只包含了GB2312的一级常用字(3000), 可能有些字(不在表内)不能排序. 这些名字会在列表的最前面. 由于我用的汉字拼音库是 relay 提供的全拼汉字数据库 (
http://www.weiphone.com/thread-17532-1-1.html). 因为全加进来的话要1M多, 所以我只选了GB2312中的一级常用字. 看看大家使用情况, 如果不够用再把二级加进来. 此外, 我还把多音字的不常用的音给删掉了. 如果大家发现有些名字排的不对, 可以告诉我名字和应该发的音, 我会更新数据库.
[步骤]
废话不多说了, 我们开始吧:
1. 把附件 sortSolutionV1.0.rar 中的三个文件通过SCP或其他方式传到 /var/root/Library/AddressBook 下.
2. 你可以自己备份通讯录, 也可以不备份(sort.sh 会为你备份). 如果你不知道怎么做, 请忽略这一步.
3.
通过SSH登录 或 打开 Term-vt100, 运行如下两个命令
(一定要注意大小写):
# cd /var/root/Library/AddressBook
# chmod +x ./sort.sh
# ./sort.sh
这时屏幕没有任何输出 (包括 #), 请耐心等待2-3分钟, 你会重新回到命令提示符 # 下.
此时, "升级" 已经完成. 重启 iPhone, 再添加或修改联系人试一下, 是不是可以自动排序了? :)
[如果失败(虽然我还没有遇到 :-) )] sort.sh 会把你原来的数据库备份为 /var/root/Library/AddressBook/AddressBook.sqlitedb.steven. 如果失败 (在执行 sort.sh 时有任何输出), 请你记下错误, 并使用如下命令恢复原有的数据库:
# cd /var/root/Library/AddressBook
# mv AddressBook.sqlitedb.steven AddressBook.sqlitedb
然后把你的出错信息发给我. 我会继续改进这个工具.
["我"希望得到什么?] 如果你觉得这个方法帮了你的大忙, 我很开心. 我也希望可以继续改进和完善这个软件包. 我希望你:
1. 发现有排错的人名/姓, 告诉我正确的发音.
2. 发现有漏掉的姓, 告诉我并告诉我正确的发音
3. 你可以自由分发这个软件包, 但须保留原作者信息.
作者: Steven Ding
发布日期: 2008/1/5
软件名称: Chinese Sort Solution V1.2
软件包: 见贴首.
注: 本软件包包含的 sqlite3 的可执行文件是基于
http://www.sqlite.org 提供的源代码, 为 iPhone 编译生成的.
补丁安装手册:
[通讯录中文排序终极解决方案V1.4(插入新记录即会自动排好)]
这里发布的 V1.4 是基于 V1.3 的一个补丁. 采用补丁的目的是为了减小重复工作 (对
DB的改动), 同时也会使下载的文件包变小.
请按照下面的方法打补丁:
1.
确保已经成功安装 通讯录中文排序终极解决方案V1.2 和 补丁 V1.3. 无论是哪个补丁,
需要按顺序安装之前所有的补丁, 直到一个完全包(包名是sortSolutionVx.x.rar) V1.2 或
未来的某个版本.
2. 把附件 sortSolution_patchV1.4.rar 中的三个文件(README.txt 除外)通过SSH或其
他方式传到 /var/root/Library/AddressBook 下.
2. 你可以自己备份通讯录, 也可以不备份(sort.sh 会为你备份). 如果你不知道怎么做,
请忽略这一步.
3.
通过SSH登录 或
打开 Term-vt100, 运行如下三个命令(一定要注意大小写):
# cd /var/root/Library/AddressBook
# chmod +x ./patch_sort.sh
# ./patch_sort.sh
这时屏幕没有任何输出 (包括 #), 请耐心等待数秒, 你会重新回到命令提示符 # 下.
注: 如果在运行 ./patch_sort.sh 时屏幕有如下输出, 可以忽略:
[WARNING] You've run the tool for twice, and AddressBook.sqlitedb.steven will be overwritten for the latest back up!
此时, "升级" 已经完成. 重启 iPhone 即可.
关于有些机器执行错误(感谢lth40555, 待机熊 和 royliaw 的帮忙调试)
现在已知此工具包在个别机器上不能使用. 现象是在执行 "./sort.sh" 时有如下错误:
zsh: permission denied: ./sort.sh
这与固件版本无关. 原因是 /private/var/root/Library/AddressBook 所在的分区的文件不允许用户执行. 请按如下步骤确认:
1. 通过 SSH 或 Term-vt100 运行:
# cat private/etc/fstab
看里面是不是有一行含有 ",noexec". 如果是, 继续进行. 如果不是, 原因不在此.
/dev/disk0s2 /private/var hfs rw,noexec 0 2
2. 在 / 下面建一个临时目录, 如 /sortAddr:
# mkdir /sortAddr
3. 把压缩包内的几个文件放到这个目录中.
4. 通过SSH登录 或 打开 Term-vt100, 运行如下几个命令(一定要注意大小写):
# cd /sortAddr
# chmod +x ./sort.sh
# ./sort.sh
# cd /
# rmdir /sortAddr
[
本帖最后由 wjding 于 2008-3-8 18:09 编辑 ]