12:00
事实上我这两天都在研究这个问题。
在iPhone2.0中 此规则涉及到两个文件:
〔1〕号码显示格式规则的文件:UIPhoneFormats.plist
位置:System/Library/Frameworks/UIKit.framework/PhoneFormats
修改这个文件的目的是?先举几个例子
02088776655显示成:020-88776655
8008101234显示成:800-810-1234
13800138000显示成:138 0013 8000
+8615988009922显示成+86 159 8800 9922
[attach]122271[/attach]
目前看来我们一样可以沿用1.1.4的模式对其进行修改 格式是一样的
可以用附件中附带的这个plist档替换原机文件
用记事本打开这个文件按照自己的习惯修改。
当然使之生效需要重启SpringBoard
不过现在有了iReboot(在Cydia中下载) 就变得没那么麻烦了
〔2〕来电及短信号码规则的文件是:PhoneNumberTemplates.plist
位置:/System/Library/PrivateFrameworks/AppSupport.framework
这就是目前问题的所在…
这个文件具体规则我之后再述
目前我已经可以解决飞信12520等特殊开头号码的匹配问题
但是在+86 86等号码上 以上两个文件似乎是冲突的
也就是说按照原版的UIPhoneFormats.plist的定义
+86/0086和后面的号码是有空格的
如果直接在PhoneNumberTemplates.plist定义+86和0086等是无法生效的
转载一下 xesique朋友对第二个文件的说明:
http://www.weiphone.com/viewthread.php?tid=133176
有一个2.0电话号码匹配的想法,希望高手进来看看
关于电话号码的显示格式就不多说了,和1.1.4下一样.
现在我遇到的问题是,电话薄里存的号码可能没办法匹配打进来的电话.
例如,我储存02812345678(带区号),则使用键盘拨号时直接输12345678,iPhone不认得这个号码是谁.如果我直接储存12345678,则接听的电话02812345678无法匹配人名.
我现在暂时找的办法如下
2.0默认状态下
/System/Library/PrivateFrameworks/AppSupport.framework/PhoneNumberTemplates.plist应该是来匹配电话
打开找到cn里面是存储的是3组信息如下
86 00 0 0 11
86 00 0 2 8
86 00 0 3 7
每组信息的五个部分分别为国家代码,国际长途电话前缀,国内长途电话前缀,区号长度,电话号码长度
可以理解为第一组匹配手机号,第二组匹配区号3位,电话号码8位的固定电话号码,第三组匹配区号4位的,电话号码7位的固定电话号码.
我把这些改成
86 00 0 2 8
86 00 0 3 7
86 00 0 0 11
86 00 0 3 8
希望能匹配所有电话号码,但是我失败了.这样仍然无法匹配.
最后我留下了
86 00 0 2 8
86 00 0 0 11
这两行,现在可以匹配文章开头所述的两种情况,但是不能匹配区号是4位的部分
各位有没有其他什么想法能够使之完美匹配?
[
本帖最后由 bear 于 2008-7-23 15:50 编辑 ]