Click here to Close
 
打印

我的非完美 DEV 1.1.3 之旅/ update,timezone,3rd party apps,wefit,youtube

我的非完美 DEV 1.1.3 之旅/ update,timezone,3rd party apps,wefit,youtube

我的非完美 DEV 1.1.3 之旅




注:只谈自己经验,不是教程。会更新一段时间。


提要
(update: 2008-2-10,新增youtube的修复):



一.升级至1.1.3


二.一些问题的修复


三.系统增强修改


四.输入法的安装



[ 本帖最后由 begammer 于 2008-2-10 13:50 编辑 ]
本帖最近评分记录
  • boreas_wang 人气 +1 实用的经验分享 2008-2-10 19:46
  • hywc123 人气 +5 1.1.3的华丽经验,不错 2008-2-10 14:35
  • 爱疯不疯 经验 +5 很完整,很好 2008-2-9 01:35

TOP

>>>>>>>>>>>>>>>>>>>>
一.升级
>>>>>>>>>>>>>>>>>>>>


采用Installer升级Jailbroken 1.1.21.1.3。首先,Installer安装能保证安装的是DEV TEAM最新发布出来的,截止至2月8日,已经出到了第3版,修正了前两版很多问题,已经是几乎完美的版本了。其次,这也是最少需要操作的方法。
UPDATE:据我所知1.1.3-2 与1.1.3-3 版解决与更新的问题就有:
launchctl 修复正常。
同步问题修复正常。 也就是后来单独发布的 syncfix.sh
系统分区大小问题修复正常。
Cleanup不完整的问题修复正常。
自动检测/var/root/Media 是否有固件文件。

感谢IPHONE DEV TEAM的辛苦努力,给我们带来一次次的享受。


Step 1.确定固件版本。
必须得是Jailbroken 1.1.2的固件版本。我是在我使用了1个月的Jailbroken 1.1.2 iPhone上进行的,修改过程序目录,两个主流输入法都安装了,装了很多软件。我的情形证明是没有任何问题的,但建议是从一个CleanJailbroken 1.1.2上来进行。


Step 2.下载1.1.3的固件并上传至iPhone中。
从以下这个地址下载到最新的1.1.3固件。
1.1.3 固件地址

将文件上传至 /private/var/root/Media。不需要改动名称。这一步的目的是让升级程序不用上网去下载固件,而直接从本地安装。可以节省很多时间。

Step 3.设置Auto-Lock。
Settings>>General>>Anto-Lock>>Never.


Step 4. 安装升级程序
启动Installer。确保安装的是最新版的Installer(现在的版本号应该是3.0)。如果不是,就update Installer至最新版本并重启Installer程序。
进入SYSTEM目录选择安装 Official 1.1.3 upgrader。安装完成后,在桌面会显示一个新的程序,叫Upgrade


Step 5.开始进行升级

启动Upgrade。会有两个问题提示,第一个是问是否选择HACK方式来激活手机,想必大家都知道得选择是。第二个问题是问是否重恢复你的数据。如果选择是的话,则会删掉你所有的数据与音乐,相当于升级完给你一部全新的1.1.3,如果选择否的话,则会保留下你的个人数据。简单来说,如ITUNESRESTOREUPGRADE的区别。
选择完毕后,则会开始进行升级。等待。喝咖啡。等待。上网。等待。
屏幕变黑后iPhone重启。出现Edit Home Screen的提示框。就完成了。 享受果冻效果吧。

update:Step 6.升级到完全版1.1.3

相信很多人跟我一样,采取了DEV or NATE 的升级方式升级到了1.1.3。但是,ZiPhone发布却带来了更完整的破解。而1.1.3要用这种方式的话,正常呢,应该是在iTunes里选择恢复的模式恢复到1.1.3。但是如果你跟我一样,不想重新安装所有软件,不想重新做设置,不想重新同步那上千首歌跟podcasts,而又像享受完整版的1.1.3,这里提供一种实现的方法。
思路是让你的iTunes认为你的iPhone是在低于1.1.3的版本,那么就可以显示 升级 的按钮,而 升级 在iTunes中,是不会触碰到用户数据的。
- 打开 /System/Library/CoreServices/SystemVersion.plist 文件。替换下列文字。
原来:

<key>BasedOn</key>
<string>Tahoe4A86</string>
<key>ProductBuildVersion</key>
<string>4A93</string>
<key>ProductVersion</key>
<string>1.1.3</string>

替换后:

<key>BasedOn</key>
<string>Tahoe3A100</string>
<key>ProductBuildVersion</key>
<string>3A109a</string>
<key>ProductVersion</key>
<string>1.1.1</string>

- 打开iTunes, 选择升级到1.1.3。(win用户按alt, mac用户按Option键)选择本地文件。
- 采用ZiPhone的方式破解。
- 安装BSD subsystem,然后再安装anySIM 1.3.app,运行破解,完成。

P.S.  如果你要实现程序不用再安装一遍,在执行以上步骤前,要把/Applications 目录转移到/private/var 。也就是常用的硬盘瘦身方法。执行完后,在link多一遍。
还有installer也要先备份下。





[ 本帖最后由 begammer 于 2008-2-16 02:52 编辑 ]

TOP

>>>>>>>>>>>>>>>>>>>>
二.一些问题的修复
>>>>>>>>>>>>>>>>>>>>

1.无法改变时区
这是由于Preferences.app运行在mobile的用户权限,无法修改ownerroot的 /var/db/timezone/localtime 。使用以下命令修复。

chmod 777 /var/db/timezone

2.第三方程序运行的问题

A. 为什么会出现这个问题。首先,1.1.3之前的版本,程序是运行在root权限的,而从1.1.3开始,程序是运行在mobile权限的。这是为了之后SDK发布后第三方程序而进行的改变,mobile权限的程序无法随意修改系统的文件。其次,1.1.3将原先用户数据默认存储的位置由 /var/root/转移至/var/mobile/,这样的话,许多程序会因为mobile的用户权限,而读取不了/var/root/中的数据。


B. 第二个要说的,非官方(Nate)版与官方版的区别。DEV team的升级程序应该是按照APPLE升级的初衷,将mobileroot区分开来。而Nate版的实现方法让mobile实际上等同于root,拥有与root同等的权限,所以不会有读取数据出错的问题。这也是为什么很多人反映说DEV Team版本兼容性差,或是某些程序运行在1.1.3,有些人的正常,有些人的不正常的原因所在。


分析过后,就可以知道怎么解决这个问题了。一者是将mobile也设为root用户权限(参照Nate版的实现方法,应该是修改mobileUIDGID501变为0,但这样可能会带来将来SDK发布后的兼容性问题),二者则是将/var/root/设置为mobile用户可以读取。我采用后者的想法,两个方法一起使用来解决这个问题。
a. /var/root/Library 的权限改为777。这样的话,即使不是root用户也可以进行修改,很多默认往/var/root/Library 目录写数据的程序不会因为权限问题而读写不了数据而出错。 
chmod 777 /var/root/Library 
b. 升级程序已经将原来在/var/root/目录下的LibraryMedia两个目录的内容完全转移到/var/mobile/为了兼顾程序新版本发布后,读写的可能是/var/mobile/目录,而不用再去从/var/root/复制数据到/var/mobile/,所以创建symbolic link来将/var/mobile/Library中的目录Link/var/root/Library,或者也可以将整个LibraryMedia两个目录都Link到/var/root/中。以BooksLumaQQ两个程序为例。 
ln -s /var/mobile/Library/LumaQQ /var/root/Library/. 
mkdir /var/root/Media/   (因为/var/root中没有Media目录,所以得创建) 
ln -s /var/mobile/Media/EBooks /var/root/Media/. 
C.  仍然有某些程序无法正常运行或者出现某些问题。在我的情况里,例如LumaQQ会出现输入输入框黑色的情况,iLM写地图缓存后,无法在Maps程序里正常读取。iZoo无法正常出现在Screen上。这些有可能是因为读写的其他数据或目录涉及到root权限,得等到作者根据1.1.3进行修改,发布新版才能解决。
update: 3. Youtube 的修复
很多人在升级到1.1.3后遇到这个问题。我一直没用 Youtube,所以压根没试验过。昨天启动 Youtube 程序后,发现确实是不能正常进入。显示错误信息如下:
You must first connect to iTunes with an Internet connection to enable Youtube
尝试修复。得到正常的方法应该是:
- 在Installer中添加源 i.unlock.no
- 在Unlock tools 类中安装 youtube activation
- 第一次重启 iPhone
- 卸载 youtube activation
- 第二次重启 iPhone
- 再次安装 youtube activation
- 第三次重启 iPhone
- 现在Youtube程序应该就可以正常使用了。

[ 本帖最后由 begammer 于 2008-2-24 08:51 编辑 ]

TOP

>>>>>>>>>>>>>>>>>>>>
三.系统增强修改
>>>>>>>>>>>>>>>>>>>>


1.增加简体中文的语言选项
通过往/Applications/Preferences.app/Perferences.app添加一个 zh_CN.lproj, 可以达到这种效果。
cp -r /Applications/Preferences.app/English.lproj /Applications/Preferences.app/zh_CN.lproj
然后在 Settings >> General >> International >> Language 里面选择简体中文。实现字体粗细一致的效果。

2.增加短信与电话的识别,APPSUPPORT
通过选择简体中文的选项后,我的iPhone的短信与电话已经都可以匹配到电话本了。
而通过修改这个APPSUPPORT,则可以实现对地方区号与飞信的支持。


update:这个文件其实我是建议大家到这个原始源网站下载,他们有进行更新。
如果你之前遇到修改这个文件后,短信菜单第一次进入时拖动速度会很慢,很有可能是使用了之前的build并且没有进行优化。
- 在http://users.skynet.be/ra045246/ (本方法也是由这里的教程实现的) 下载 PhoneNumber Dynamic Libraryupdatebuild 10
- /System/Library/Frameworks/AppSupport.framework/ 创建 "Support" 目录
- 解压下载来的ZIP文件,复制"AppSupport" 与 "AppSupport.original"到/System/Library/Frameworks/AppSupport.framework/目录
- 复制"PhoneNumber.dylib" 与 "PhoneNumberTemplates.txt" 到/System/Library/Frameworks/AppSupport.framework/Support/ 目录
- 修改优化"PhoneNumberTemplates.txt"。我添加了汕头的区号与移动飞信的前缀12520。并且删掉了其他国家,因为我Region选的是US,修改如下。
- 重启iPhone 
附上我自己在用的"PhoneNumberTemplates.txt"
// United States [us]
us 86 00;1259300 0;+86
+ + + + - ###########
+ + + + 0754 ####### 
+ + + + 12520 ###########
+ + + + ## ########
+ + + + ### #######

3.修改电话号码样式(与之前的1.1.1的通用)

update: 
给出附件的原因是因为想让大家知道修改究竟是怎么做的,然后就可以做到自己修改,自己个性化。修改/System/Library/Frameworks/UIKit.framework/PhoneFormats/UIPhoneFormats.plist 文件。这个文件根据国家设置了手机里电话号码的显示样式,会根据在 International>>Region Format 的选择来进行国家匹配。因为我Region 选择的是US,所以我修改了uskey。如果选择的中国,则修改cnkey


<key>us</key>
<array>
    <string>13#-####-####</string>
    <string>15#-####-####</string>
    <string>(01#) ########</string>
    <string>(02#) ########</string>
    <string>(0###) ########</string>
    <string>(0###) #######</string>
    <string>12593 13#-####-####</string>
    <string>12593 15#-####-####</string>
    <string>12593 (01#) ########</string>
    <string>12593 (02#) ########</string>
    <string>12593 (0###) ########</string>
    <string>12593 (0###) #######</string>
    <string>12593 86 13# #### ####</string>
    <string>12593 86 15# #### ####</string>
    <string>12593 86 1# #### ####</string>
    <string>12593 86 2# #### ####</string>
    <string>12593 86 ### ########</string>
    <string>12593 86 ### #######</string>
    <string>17951 13# #### ####</string>
    <string>17951 15# #### ####</string>
    <string>17951 (01#) ########</string>
    <string>17951 (02#) ########</string>
    <string>17951 (0###) ########</string>
    <string>17951 (0###) #######</string>
    <string>17951 86 13# #### ####</string>
    <string>17951 86 15# #### ####</string>
    <string>17951 86 1# #### ####</string>
    <string>17951 86 2# #### ####</string>
    <string>17951 86 (###) ########</string>
    <string>17951 86 (###) #######</string>
    <string>400 ### ####</string>
    <string>800 ### ####</string>
    <string>1####</string>
    <string>+86 $</string>
    <string>0086 $</string>
    <string>00 $</string>
    <string>########</string>
    <string>+13#-####-####</string>
    <string>+15#-####-####</string>
    <string>+1# ########</string>
    <string>+2# ########</string>
    <string>+(0###) ########</string>
    <string>+(0###) #######</string>
    <string>+86 13#-####-####</string>
    <string>+86 15#-####-####</string>
    <string>+86 (1#) ########</string>
    <string>+86 (2#) ########</string>
    <string>+86 (###) ########</string>
    <string>+86 (###) #######</string>
    <string>0086 13# #### ####</string>
    <string>0086 15# #### ####</string>
    <string>0086 1# ########</string>
    <string>0086 2# ########</string>
    <string>0086 ### ########</string>
    <string>0086 ### #######</string>
</array>






[ 本帖最后由 begammer 于 2008-2-10 14:44 编辑 ]

TOP

>>>>>>>>>>>>>>>>>>>>
四.输入法的安装
>>>>>>>>>>>>>>>>>>>>


WeiPhone DEV TEAM好像取消了在Installer上发布的WEFIT FOR DEV1.1.3版本,而因为我使用的是Leopard系统,无法安装PXL,所以采用了手动安装的方式。PXL包中的PxlPkg.plist 中已经写得很清楚应该如何安装了。感谢Laoren,Huajun的辛苦努力与及时更新。
update:由于WeFIT有我很需要的五笔词组,所以1.1.3中我只安装了它。相信iCosta新版发布时,必将发布支持DEV 1.1.3的版本。所以就到时就可以直接Installer安装吧。目前来说,分析下iCosta For 1.1.2Plist,用这种手动方式来安装iCosta也是可行的。
update:WeiPhone DEV TEAM 已经放出了WeFit P4的小白鼠版本。根据我的测试,是没有问题的,而且有些吸引人的改进。大家可以采取PXL的安装方式。 以下这个安装方法仅供参考,希望可以在你安装后如果出现某些问题的情况下,给出一些解决问题的思路。

Step 1. 下载文件
下载Laoren发布的WEFIT FOR DEV1.1.3PXL包,改变PXL扩展名为ZIP,解压出来,得到以下内容:

com.hongtao.fit.plist
app
db
FIT
icon.png
PxlPkg.plist


Step 2. 上传文件
- 修改APP目录名为WeFit.app。然后将整个目录上传至iPhone中的/Applications/ 中。
- 在iPhone中的/Library中新建FIT目录,然后复制压缩包中的FIT中的所有文件到其中。

- 在iPhone中的/var/mobile/Library/
中新建FIT目录,然后复制压缩包中的db 中的所有文件到其中。

- 复制com.hongtao.fit.plist iPhone中的/System/Library/LaunchDaemons/目录。

Step 3. 设置权限
chmod 755 /Applications/WeFit.app

chmod 644 /Applications/WeFit.app/*

chmod 755 /Library/FIT

chmod 644 /Library/FIT/*

chmod 755 /var/mobile/Library/FIT

chmod 644 /var/mobile/Library/FIT/*

chown -R mobile:mobile /var/mobile/Library/FIT

Step 4. 植入输入法库
launchctl load /System/Library/LaunchDaemons/com.apple.SpringBoard.plist

/Applications/WeFit.app/WeFit -install

launchctl unload /System/Library/LaunchDaemons/com.apple.SpringBoard.plist

launchctl load /System/Library/LaunchDaemons/com.apple.SpringBoard.plist

launchctl load /System/Library/LaunchDaemons/com.hongtao.fit.plist
update: 有些人运行launchctl会出错,很有可能是因为采取的是DEV 1.1.3-1或1.1.3-2的升级程序。1.1.3-3修复了launchctl出错的问题。

Step 5. 重启iPhone。





[ 本帖最后由 begammer 于 2008-2-13 02:01 编辑 ]

TOP

强!!

TOP

TOP

写的很好!支持一下!!
想问下LZ:
1.iCosta能在1.1.3中正常使用嘛?
2.第三方软件的支持呢?现在大部分的软件都还是只支持1.1.2以下嘛?

TOP

引用:
原帖由 FEnzo 于 2008-2-8 22:35 发表
写的很好!支持一下!!
想问下LZ:
1.iCosta能在1.1.3中正常使用嘛?
2.第三方软件的支持呢?现在大部分的软件都还是只支持1.1.2以下嘛?
引用:
C. 仍然有某些程序无法正常运行或者出现某些问题。在我的情况里,例如LumaQQ会出现输入输入框黑色的情况,iLM写地图缓存后,无法在Maps程序里正常读取。iZoo无法使用。这些可能得等到作者根据1.1.3进行修改,发布新版才能解决。 


引用:
update:由于WeFIT有我很需要的五笔词组,所以1.1.3中我只安装了它。相信iCosta新版发布时,必将发布支持DEV 1.1.3的版本。所以就到时就可以直接Installer安装吧。目前来说,分析下iCosta For 1.1.2Plist,用这种手动方式来安装iCosta也是可行的。 

TOP

LZ好帖
兄弟,你辛苦了
喝杯茶,

TOP