Google
 
打印

[原创] 通讯录中文排序终极解决方案V1.8

本主题由 fantasyplay 于 2008-1-8 20:45 置顶

通讯录中文排序终极解决方案V1.8

好消息: 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 编辑 ]
本帖最近评分记录
  • oaixnait 人气 +3 精品文章 2008-1-14 00:22
  • jonny 人气 +1 有没有INSTALL 直接安装的?不会用那三个命令 ... 2008-1-9 13:13
  • 蚂蚁,蚂蚁 人气 +1 助人为乐 2008-1-6 21:06
  • 夜叉孔雀 人气 +5 助人为乐 2008-1-6 13:10
  • 咸湿佬 人气 +3 精品文章 2008-1-6 12:34
  • h1465 人气 +3 太好了!!!!!!!!!! 2008-1-6 02:08
  • voltao 人气 +1 实用+好用,值得推荐!!! 2008-1-6 00:53
  • rubbish8305 人气 +3 高科技,顶一下 2008-1-6 00:41
  • beak we券 +10 精品文章 2008-1-5 23:36
  • beak 人气 +50 精品文章 2008-1-5 23:36
  • beak 经验 +35 精品文章 2008-1-5 23:36

TOP

TOP

给无私的人顶一下,谢LZ,我收下了,感激不尽

TOP

先看看试用的结果先....收藏了

TOP

用的着这么麻烦??在添加字段那里加个英文姓名就可以了。很简单,很直观,很容易的。

TOP

很好,楼主太强了,我现在就试用

TOP

我在标签里加个姓的拼音,一切都解决了,而且显示中文,美观

TOP

支持
QQqun:37450606
福建泉州地区长期销售IPHONE
以及解锁破解汉化升级砖头修复服

TOP

操作有点复杂,不过还是很感谢楼主的开发精神

TOP

晕啊……只是写的比较细, 应该比unlock 简单多了吧? 呵呵

一般来说只要3个命令就好了…… 唉, 这帮懒人啊  呵呵

TOP