V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
TashinV
V2EX  ›  iPhone

iOS 6 联系人排序问题

  •  1
     
  •   TashinV · 2012-11-20 14:31:45 +08:00 · 15981 次点击
    这是一个创建于 4405 天前的主题,其中的信息可能已经有所发展或是发生改变。
    iPhone 系统是英文的
    可是这样中文联系人全部都跑到#下面
    而不是像在系统语言是中文的时候那样以拼音首字母排序

    以前自己添加过姓名音标,所以可以正常按字母顺序显示,但是自从电脑升级到10.8 之后那该死的输入法开始监控通讯录,打字开始变成一种折磨....于是又折腾一遍,把联系人的姓名音标都删除了...结果发现中文姓名的联系人又全部跑到#下面去了...

    老生常谈的问题了...多少年了还是没解决...来看看民间有甚麽偏方没.

    最好不要让我再次添加联系人姓名音标...
    最好也不要让我改联系人姓名为英文...
    工程太浩大,伤不起...
    第 1 条附言  ·  2012-11-20 15:39:44 +08:00
    又折腾了一次,结果如下:

    排序:

    姓:英文 名:无论是中文还是英文
    会默认按照英文姓的字母排序

    姓:中文 名:无论是中文还是英文
    不会默认按照中文姓的字母排序
    ----------------------------------

    输入法候选字:

    姓:英文 名:无论是中文还是英文
    输入法的候选字不会根据自行添加的姓名音标出现

    姓:中文 名:英文
    输入法的候选字会根据自行添加的姓名音标出现

    姓:中文 名:中文
    输入法的候选字会随机根据自行添加的姓名音标出现
    ----------------------------------

    最后一种情况我一直还是没搞清楚,还在研究当中.其余输入法的情况已经是一种规律了(如上所列).
    16 条回复    1970-01-01 08:00:00 +08:00
    kunso
        1
    kunso  
       2012-11-20 14:43:22 +08:00
    如果我说把系统改成中文吧,会不会让楼主很失望。
    (p.s:改成英文有什么优势么?)
    TashinV
        2
    TashinV  
    OP
       2012-11-20 14:51:01 +08:00
    @kunso 呃呃...英文字体看着比中文的舒服...没别的理由了...
    DFC
        3
    DFC  
       2012-11-20 14:56:17 +08:00
    獄中無解
    qdvictory
        4
    qdvictory  
       2012-11-20 15:24:49 +08:00
    可以写拼音,就能排。。。
    TashinV
        5
    TashinV  
    OP
       2012-11-20 15:34:36 +08:00
    @qdvictory 这样的话输入法会很难受......输入的拼音全部和联系人里面的拼音字符挂钩了...
    berlinwall
        6
    berlinwall  
       2012-11-21 17:37:31 +08:00
    折腾过,放弃了。看来只有系统语言换回中文才是最佳方案。
    troyl
        7
    troyl  
       2012-11-21 23:30:03 +08:00
    可以的,將 Contacts 裏面的每個名片的姓名拼音分別填入 Phonetic Last Name 和 Phonetic First Name 中就行。我是拿 AppleScript 批量處理的,一共 520 個名片,大概用了一分鐘就好了。

    英文名和中文名相處的很和諧,唯一的不足就是英文名也是按照「姓」在「名」前的順序顯示的。
    lex
        8
    lex  
       2012-11-21 23:44:36 +08:00
    @troyl 能不能共享一下这个AppleScript,感谢。
    troyl
        9
    troyl  
       2012-11-22 00:17:57 +08:00   ❤️ 3
    @lex 我用完刪掉了……額,這是個很簡單的 AppleScript,大概思路是:

    set 一個 record 型的 phoneticName,好像是 {phoneticLastname:"(*姓拼音*)", phoneticFirstname:"(*名拼音*)"}
    剛開始的應該是用了 curl 這個命令把 Contacts 中選中名片的姓和名 post 到一個漢字轉拼音的網站(我忘了當時用的是哪個),把收到的結果「姓拼音」和「名拼音」分別存到 phoneticLastname 和 phoneticFirstname 裏面去,然後執行下面這個腳本(應該和以前那個大致相同)就行了……很快的。

    tell application "Contacts"
    if selection is not {} then
    set the selectedProfiles to selection
    set the profileNum to count items of selectedProfiles

    repeat with i from 1 to profileNum
    set the phonetic last name of item i of selectedProfiles to phoneticLastname of item i of phoneticName
    set the phonetic first name of item i of selectedProfiles to phoneticFirstname of item i of phoneticName
    end repeat

    end if
    save
    end tell


    如果要測試的話,不妨先給 phoneticName 賦個值試試,比如,你先在 Contacts 裏面選中 1 個名片,然後在 AppleScript Editor 裏面執行下面的腳本:

    set phoneticName to {{phoneticLastname:"Xi", phoneticFirstname:"Jinping"},
    tell application "Contacts"
    if selection is not {} then
    set the selectedProfiles to selection
    set the profileNum to count items of selectedProfiles

    repeat with i from 1 to profileNum
    set the phonetic last name of item i of selectedProfiles to phoneticLastname of item i of phoneticName
    set the phonetic first name of item i of selectedProfiles to phoneticFirstname of item i of phoneticName
    end repeat

    end if
    save
    end tell

    應該就可以看到效果了……
    troyl
        10
    troyl  
       2012-11-22 00:22:21 +08:00
    @lex 暈……測試的那個腳本第一行寫錯了,第一行的末尾應該是 } 而不是 ,
    Sorry
    wangqj
        11
    wangqj  
       2012-11-22 08:44:16 +08:00
    @troyl 多谢了!
    TashinV
        12
    TashinV  
    OP
       2012-11-22 10:31:41 +08:00
    @troyl that's what exactly i did..
    lex
        13
    lex  
       2012-11-24 23:33:01 +08:00   ❤️ 3
    @troyl 我做了 Obj-C 的版本,省去 CURL 抓拼音的事:
    https://github.com/lexrus/PhoneticContacts
    shinwood
        14
    shinwood  
       2012-11-24 23:50:18 +08:00
    @lex 楼上威武。
    我用Google Contacts 托管我的联系人,导出后再用PHP 进行批量处理,然后再导入,似乎麻烦了一点。
    wangqj
        15
    wangqj  
       2012-11-25 15:13:54 +08:00
    @lex 非常好用!!!

    能不能把“曾”字的汉语拼音归到“zeng"而不是"ceng"。

    谢谢
    troyl
        16
    troyl  
       2012-11-25 22:40:19 +08:00
    @lex Awesome!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5242 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 99ms · UTC 06:38 · PVG 14:38 · LAX 22:38 · JFK 01:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.