2011年9月21日

修改iOS裡面所有app的帳號

利用iOS的終端程式執行shell script
批次修改所有安裝的app裡面的iTunesMetadata.plist 中的 appleid
避免授權或是帳號認定的問題(就是不是從app store安裝的app)

將附件的shell script (其中 XXXXX@gmail.com 修改為自己的帳號) 存成檔案,
檔名隨便取,但不要有副檔名
例如: 為 updateappleid
然後開啟終端程式,切換到 updateappleid 所放置目錄底下
變更root後
su root

然後執行
sh updateappleid > log.txt
就可以了

附件:shell script 如下
其中 XXXXX@gmail.com 修改為自己的帳號

maindir="/var/mobile/Applications"


n_appleId="XXXXX@gmail.com"
n_s="143470"

t_f=""
t_appleId=""
t_s=""


function replaceinfo(){
replaceinfo1=$(echo "$t_appleId" | sed 's/\//\\\//g')
replaceinfo2=$(echo "$n_appleId" | sed 's/\//\\\//g')
sed -i "s/$replaceinfo1/$replaceinfo2/g" $t_f

replaceinfo1=$(echo "$t_s" | sed 's/\//\\\//g')
replaceinfo2=$(echo "$n_s" | sed 's/\//\\\//g')
#sed -i "s/$replaceinfo1/$replaceinfo2/g" $t_f

echo "update done : $t_f"
}



function inittemp(){
t_f=""
t_appleId=""
t_s=""
}


function settempinfo(){
t_f=$1
t_appleId=`grep -A1 "appleId" $t_f | grep "string" `
t_appleId=`echo $t_appleId`
t_s=`grep -A1 "s" $t_f | grep "integer" `
t_s=`echo $t_s`
}

function printtempinfo(){
echo "-$t_f-"
echo "-$t_appleId-"
echo "-$t_s-"
}

function setprinttempinfo(){
settempinfo $1
printtempinfo
}


cd "$maindir"

for app in $(ls | grep '[a-zA-Z0-9\-]\{36\}')
do
echo $app
for plist in $(ls "$maindir/$app" | grep 'iTunesMetadata.plist')
do
f="$maindir/$app/$plist"
echo "exists:$f"
inittemp
settempinfo $f
if [ "$t_appleId" != "" ] && [ "$t_appleId" != "$n_appleId" ]; then
echo "do update"
replaceinfo
fi

done
echo "-----------"
done

echo "end"


2011年9月19日

iPad 2 重灌

沒想到iPad 2 也要走上重灌之路

  1. 正常情況下的重灌


  2. 用itunes備份

    可以正常備份APP(包含透過installous安裝的)
    PS.installous 開啟 itunes sync


    Cydia 的備份

    使用




  3. 不正常下的重灌