2015年1月10日 星期六

iOS JailBreak Clean Restore (Without JB data)

寫在第一行。

本文重點是在於系統重置(裝置會是全新狀態)後,回覆特定 App 的資料。
雖然 iTools 好像也可以辦到,可是本文要用的工具是 iBackupBot

注意:本文目的是要將 iOS Device 還原成全新的狀態。並非保留裝置內容,僅清除 JB 資料

是以本方法只會回覆 App 的資料,而通話記錄、相機膠卷、簡訊紀錄等等,全都不會還原!(新手機怎麼會有這種東西)

因為你如果覺得有問題想還原手機,再把設定那些東西倒回來是解決不了問題的。

Short Links:

本文緣由

當初會要這麼做,就只是覺得 JB 後的設定導致手機耗電量大增。不想用 iTools,所以來研究這個 iOS 老牌的備份檔案讀取工具要怎麼才能達成我要的目的。

目標族群

本文所述的目標對象,是沒有 JailBreak 使用者。

或是原本有 JB,但是不想要 JB,也不想要重刷後裝置裡殘有 JB 資料。

方法

iTunes 在備份裝置的時候,「App」與「App 的資料」是分成兩邊備份的。

備份 App 需要將 Apple ID 授權給電腦才能夠備份,不然 iTunes 只會備份「App 資料」。

裝置的備份路徑按照作業系統的差異會在不同地方。不過在哪裡都不重要, iBackupbot 會自己去把它挖出來的。
Mac 的在這:
~/Library/Application Support/MobileSync/Backup

備份完現有資料後,可以在 iTunes 裡面選擇將剛剛的備份封存。這樣之後的備份就是一個新的備份,不會覆蓋掉之前的備份。

Archive
Archive

將手機接上電腦用 iTunes 還原裝置,完成裝置上的基本設定後,連上 iTunes,將要回復資料的 App 安裝至裝置中。完成後以 iTunes 做一個新的備份。

這裡很重要的一點就是要在新的裝置中安裝要還原的 App,這樣所做的備份才會有該 App 的空間。所以才有辦法繼續下一步。

之後用 iBackupbot 把舊備份裡的「App 資料」塞進新備份裡相對應地方就完成本文要講的主題了。



詳細步驟與解說:

iOS App 的備份通常都是分成兩部分, Documents 與 Library。

通常來說,重要的都是 Documents。因為放至手機裡的資料都存在那邊,如影片、文件等。

但是有些 App 不按照標準來寫(如:Gplayer 的影片)。這種情況下,在 Documents 裡會找不到備份的資料,但是檔案仍是有備份到。
Gplayer 跟 AVplayer 在 App 本身的「設定」裡都可以設定要不要「被備份」。

而有些 App 本身的設計就是不備份一些資料(如:Garmin 的地圖圖資),所以備份檔裡面不會有該資料是正常的。
這該死的圖資每次重刷手機後都要重抓。


我重刷手機後, App 資料重要到會一定需要被移至新備份的 App 有 ,其他的資料對我來說都可以捨棄或是連上網路就能抓下來了。

以 Solomon's Boneyard 舉例,備份名稱與實際名稱的差異必需要自己去找出哪一個才是正確的。

iBackupbot Export
iBackupbot Export

輸出備份後可以看到有 Documents 與 Library 這兩個資料夾。

在把舊備份資料匯入到新備份的時候要記得進入備份 App 的資料夾。這樣 Import 的按鈕才可以選。

iBackupbot import
iBackupbot import

因一次只能匯入一個資料夾,所以 Documents 與 Library 要分成兩次匯入。通常 Documents 比較重要啦, Library 的資料可以在 App 裡選一選就弄出來了。

在 iBackupbot 跳出覆蓋檔案提示的時候要記得選覆蓋掉原有檔案。新備份產生出來的那些檔案大都是預設產生的基本檔案,本篇文的目的就是要把舊資料倒回去裝置,當然是覆蓋加取代。

要還原的全新備份檔案製作完成後,再用 iTunes 把備份檔倒回 iOS 裝置就完成了。

結論

好像 iTools 的資料夾式檔案丟來丟去法比較簡單耶。可是「阿陸啊」做的東西,總是令人特別不信任。

在重刷手機後,要檢查
  • Find My iPhone 是否有開啟
  • 鬧鐘重新設定
  • Garmin 圖資重抓
  • 鈴聲重新設定
,不然鬧鐘沒設這點,可能會導致第二天遲到的這種狀況。或是別人打給你,你卻不知道是自己的手機在響。

因為我本身是把「通訊錄」跟「備忘錄」存在 Google 帳號裡,所以這兩個在重刷前我也無須特別備份。只要重刷後在設定登入 Google 帳號,等一陣子後,資料就都乖乖出現了。

同場加映!檢查手機電池健康度

不 JB 也可以看手機電池健康度(裝置必須連到電腦)。

iBackupbot inquiry battery information
iBackupbot inquiry battery information

計算方法就是 FullChargeCapacity / DesignCapacity * 100% = BatteryHealth %。

以我的手機為例, 1100/1430*100% = 76.9%。

按照 Apple 很久以前的電池文件上指出, Apple 所用電池是可以在 1000 次循環後仍保有 80% 的電力。目前循環次數已到 1266 次,我也不知道這樣算是好還是壞 XDDD。

2014年9月2日 星期二

如何搞出隨機首頁圖片?

下面這段不能貼在 <b:skin></b:skin>(或是 </head> 前) 裡,要放在 <body> 後。這篇寫的資料待求證。(因為我的網誌套用不了 〒△〒)

現行程式碼:


我一開始想用 C 語言的 struct 那樣方式來自行定義,但是 Javascript 不支援那種寫法,所以我就用兩個陣列,後來又改成一個陣列。

但我幾個月前看到 json 這東西。又因為面試完回來查資料時發現有 Object literal 這東西,雖然我到現在還沒搞懂它到底是什麼意思,反正就是這麼用了。原本查資料的時候有看到「json 不支援註解」這件事,但我在改的時候想到乾脆把註解也寫到一個欄位就好了。另一點是「中文需要轉碼」這件事,不過我是直接寫在檔案裡而不是還要另外下載並解碼,我覺得編碼這件事可以先省略掉。

改成這種寫法後,優點還蠻明顯的,就是圖片跟網址在程式碼中變成 banner[random].urlbanner[random].height。這樣程式碼不僅好寫而且也好讀很多啊!



其實當年有人提出另一個寫法的時候,就有把 banner.length 減一了。如果我當年就看得懂他寫的東西,這樣我就不用等那麼久之後才發現這個 Bug 的原因了。

您好, 小弟不小心闖進了閣下的地盤...

OK, 閣下 BLOG 蠻有趣的, 小弟不才, 野人獻曝, 也許可以幫助解決 "有時會出現,而有些時候不會出現" 的問題

首先, 小弟玩 XOOPS 時, 也做了隨機的 LOGO, 一樣 "有時會出現,而有些時候不會出現"

研究結果, "可能"是出在 Math.floor or Math.random 與 Google 某些服務有關; 巧的是, 小弟的不出現情況只發生在有使用 Google Map 的模組下... 跟 Powered bt Google 的搜尋(我也有使用)無關, 所以您查查...

我的方式, 您參考看看...

<head>
<script>
var myimages = new Array("http://lh1.ggpht.com/main_img_01.jpg", "http://lh2.ggpht.com/main_img_02.jpg", "http://lh3.ggpht.com/main_img_03.jpg");
var i = Math.floor(Math.random()*(myimages.length-1));
if (i == 0) i = 1;

function swapImage() {
document.getElementById('header').style.background='url(' + myimages[i] + ') no-repeat';
}

function PreLoadBannerImage(){//預先載入, 您可以試試
for (i = 0; i < myimages.length; i++) {
MM_preloadImages(myimages[i]);
}
}

window.onload = function () {
swapImage();
}
</script>
</head>
<body">

這是正常情況下的作法, 我幫您改好了, id 也是 header

但我突然發現, 不知 blogspot 是否允許修改 <body"> 內的東西(不熟 blogspot), 因為我為了預防 "不會出現" 的情況, 在 <body"> 內也放了這一段 <script>document.write('<div id="header" style="background-image: url(' + myimages[i] + '); background-repeat: no-repeat;">');</script> 以取代 id="header" ...

您參考囉

最後提醒:
因為 Flickr 社群規定,所以不能放首頁圖等東西於 Flickr 裡。我的做法是將他放於 Picasa 裡,普通網誌圖才放到 Flickr。

2014年4月26日 星期六

Boot Camp: 因為官網也有空格

Boot Camp 這東西是在 Mac 下想要用全硬體的 Windows 必須要使用的輔助工具。

以上都不是這篇的重點。

我這台 13" MacBook Pro 2011 Late,當初似乎是給 Boot Camp X.0 的樣子。而那時候用 Boot Camp 下載下來的驅動程式可是有包含 Windwos 7 32bit 的驅動程式。但是我昨天同樣是用 Boot Camp 抓完最新版驅動程式後,在 Boot Camp 下的 Windows 7 要安裝驅動程式時,他跳出視窗說「此檔案的版本與您執行的 Windows 版本不相容。請檢查電腦的系統資訊,判斷您需要 x86(32 位元)或 x64(64 位元)版本的程式,然後連絡軟體發行者。」。

因為我以前裝成功的經驗確定 Apple 是有驅動程式的。所以我就找啊找的~最後找到這篇文章《Boot Camp:Microsoft Windows 作業系統的系統需求》。

從裡面的連結,在《Boot Camp 支援軟體 4.0.4033》抓到 for Windows 7 32 bit 的驅動程式。

打完收工~

這邊附註一下一個東西:
  • Windows XP
    Home Edition 或 Professional,含 Service Pack 2 或 Service Pack 3(DVD 中的 Boot Camp 3
  • Windows Vista
    Home Basic、Home Premium、Business 或 Ultimate、Service Pack 1 或以上版本(DVD 中的 Boot Camp 3
  • Windows 7
    Home Premium、Professional 或 Ultimate(Boot Camp 4 或 5
  • Windows 8
    Windows 8 或 8.1、Windows 8 或 8.1 Pro(僅限 Boot Camp 5

也就是由此推知我之前 Lion 內建的 Boot Camp 是第四版的。

2014年4月9日 星期三

中國信託寰遊美國運通卡 回饋實測

這篇最主要提的就是「IKEA」、「宜家家居」不被算在中國信託定義的超市量販裡。

目前實測紀錄,以帳單上所列名稱列舉如下。

1.27% 優惠 - 好市多
好市多股份有限公司台中
COSTCO 內湖店


1% 優惠 - 量販/超市
家樂福 台北重慶分公司
家樂福 崇德店
家福股份有限公司台北內
大潤發 忠明店
大潤發 中崙店
大潤發 內湖二
松青超市 錦州二店
頂好Wellcome

1% 優惠 - 餐廳
茹絲葵 台中門市


0.3% 基本優惠 - 其他
宜家家居股份有限公司
IKEA 台中店
康是美生活藥妝店 錦州
COSTCO WHSE #0184 0000000


總結來說,可以刷美國運通的餐廳還真的蠻少的。只有高級餐廳才可以。在 1.27% 好市多回饋對象只限台灣地區的。在國外刷卡無論何種類別一律算 0.3%。

不過要提的是這張卡在國外刷美金的話手續費不是美國運通所收的 2%,也不會是一般國際交易所收的 1.5%,而是 0.5%。再加上 0.3% 的回饋,幾乎就是收 0.2% 的手續費。結論就是如果在國外的好市多要買東西,可以刷這張。

官方網站:寰遊美國運通卡

產業類別適用範圍
量販/超市
家樂福、大潤發、愛買吉安。
頂好超市、松青超市、楓康超市、以及其他商店名稱含「超市」或「超級市場」字樣且行業代碼登記為「生鮮超市」商店。
不屬於上述說明之商店,不適用現金回饋。
註:全聯福利中心,目前並非美國運通組織收單商店,因此暫不提供AE卡刷卡服務。
保險行業代碼登記為「保險」的保險公司。(含壽險與產險)
餐廳王品台塑牛排、西堤牛排、陶板屋、上閤屋、Friday's、爭鮮迴轉壽司、以及其他行業代碼登記為「餐廳」商店,不含飯店、百貨、美食街賣場之餐廳

2014年1月30日 星期四

What the shit is Samsung Galaxy S4 i959?

前篇在 《Galaxy S i909 客製機開箱》。當時沒發現是因為台灣亞太電信剛好有出客製機,所以才有包好的台灣版韌體可以刷。

這次的 i959 (Samsung Galaxy S4 中國電信天翼客製機)就沒有那個方法可以直接用了,因為台灣亞太電信並沒有進這一款手機,所以當然沒有台灣版的韌體可以抓來刷。

我原本找到的方法是直接裝 Google Play 的 apk 檔。後來雖然裝成功,但是一進 Google Play 就會閃退。上網找到的解法「安裝 GoogleServicesFramework.apk 與 GoogleLoginService.apk」,是成功解決掉閃退的問題,進入 Google Play 的時候成功登入 Google,連搜尋 Minion Rush 都可以出現搜尋建議,可是就是無法載入商店畫面。

後來我不爽了,就先把 i959 的 rom 給刷掉。跟 i909 一樣都是用 Odin 這個工具配上有人整理好的檔案。
  1. 三网i959三星Galaxy S4增大内存至11.89GB,刷Recovery,完美root!要的来啊!
    [各版本差異可以看《三网SCH-I959官方各个系统救砖必备,官方A版4件套,C版4件套,(F版4.3)5件套》]
  2. 所需檔案載點:
  3. 刷机必备:odin3.09.zip、 I959KEUFMK3[5件套C版4.3].rar
上面那個論壇要加入會員才看的到圖。

在這邊順手用文字記錄一下步驟。會要刷這版韌體純粹是因為會有比較大的可用空間。

首先是先去抓 Samsung 打算要拿來跟 iTunes 打對台的 Kies 安裝檔,裡面會有驅動程式。我是直接在台灣官網抓。因為這台是 Galaxy S4 的客製機,所以仍是抓 Kies。而不是 Android OS 4.3 以後用的 Kies3。

那篇文章提到的 SAMSUNG_USB_Driver_for_Mobile_Phones.exe 好像就是 Kies 裡面的其中一個驅動程式。

安裝完驅動後,把手機切成「Download 模式」再將下載的 Odin v3.09 打開。確認 ID:COM 下方有出現任何一個號碼的 Com port number。右方的那幾項按照下面寫的選擇檔案。
  1. PIT:JA3G_CHN_CTC_16G_F.pit
  2. BL:BL_I959KEUFMK3_2098067_REV00_user_low_ship.tar.md5
  3. AP:AP_I959KEUFMK3_2098067_REV00_user_low_ship.tar.md5
  4. CP:CP_I959KEUFMK2_2076812_REV00_user_low_ship.tar.md5
  5. CSC:CSC_CTC_I959CTCFMK3_2098067_REV00_user_low_ship.tar.md5
把左方 Option 的 Auto Reboot、 Re-Partition、 F. Reset Time 這三項打勾。設定完成後就可以按下方的 Start 了。

Download 模式:先關機。按著「音量下」、「Home」,再按「電源鍵」。等到開到有畫面後,用「音量上」選擇。

在這邊要註記一下我所遇到的問題。

AP_I959KEUFMK3_2098067_REV00_user_low_ship.tar.md5 這個檔案在 Mac 是 2.13 GB。以 Windows 來計算的話就是 1.98 GB,雖然跟 Fat32 的單檔最大 4GB 完全沒關係,可是我當時用 VMware 模擬出的環境就是在選擇 AP 這檔案的時候會有問題。我後來的解法是不用「映射桌面讓他直接從桌面讀取」或「VMware 掛載的網路磁碟機」,而是改採直接把檔案複製一份到 VMware 裡格式化出來的 C 槽下。這樣就可以成功的載入 AP_xxx.tar.md5 了。

不過到刷 root 的時候,我就不是用上面的方法了。上面是說用一個 Recovery 來做,但我是看到有人介紹兩款可以直接刷成 root 的軟體,比較之後就是用完美 ROOT

因為 【推薦】兩款Android刷機助手,讓您一鍵取得超級使用者權限(Root) 這篇文章提到的另一個 root 工具「刷机大师」,我安裝完後,他直接在手機裡安裝兩個 app。這種感覺很糟糕。

這些 root 工具都是靠工程師的 USB Debug 模式來達成 root。 Samsung i959 這台預設把開發人員選項給隱藏起來。開啟的方法是在「設定」>「更多」>「關於裝置」,找到「內部版本號」的那個選項。接著就是狂點那一行了,點了三、四下之後,就會有倒數提示,說還要點幾下才會啟用「開發人員選項」,繼續點下去就可以開啟該功能了。在裡面找「USB 除錯」選項來讓裝置 root。

說到「USB 除錯」,之前 i909 有一次就是不小心開了那個選項,導致沒辦法正常用 USB 傳輸資料。就是那一次,「某人」說她不會再問我電子產品的問題了。

結果「某人」這次看到我還是問我要怎麼把 Google 通訊錄傳到大陸客製機。我當時內心真的是想著「管你去死 = =」,自己要去買垃圾大陸手機。我當時還沒不知道大陸版是把所有 Google 相關東西全部都移除掉的。他們一直在那邊吵著說啥「這是續約免費的」、「不是用買的」,我自己覺得「那關我啥事」。叫你們買 iPhone 自己去亂買 Samsung,不會用想要怪誰啊。我才沒有必要要去教你咧。誰叫你自己不買 iPhone。

就算要貼錢,買一台好手機,會比買一檯被閹割到無法人道的免錢手機好用上幾百倍。花時間找資料把那閹掉的東西裝回去的精力以及遇到的幹事,絕對不是多貼的那一些錢可以彌補的。

找不到資料的感覺就是幹翻天!!!

話說前幾天有人(Marc Lin)因為紅米手機便宜而去買了一台。我今天聽到他在那邊幹說啥都要自己做,一堆東西都要自己重裝。買東西回來簡單用就好了,還要改來改去,真的是沒事找麻煩。

--

到這邊已經重新刷完韌體,並且 root 過裝置了。如果不需要刷機子的話也可以直接 root 機子就好了。

接下來要做的就是把 Google Services Pack 安裝起來就有 Google Play 可以來安裝剩下的剩下的 Google 服務。

--

這邊需要準備 Root Explorer 來更改檔案權限。而這個工具想要「正常使用」的前提條件就是裝置有 root 過。因為程式名稱就這樣寫了 XDDDD。

為什麼會用 i9500-google4.2.zip (這是所需檔案的載點)去搜尋「谷歌服务包」我已經忘記了。反正就是這樣找 orz。

當時我已經自暴自棄了。因為找不到 i959 的 Google Service 教學。所以我就乾脆自暴自棄的刷 i9500 用的版本。當時我內心的想法是這兩台差不多,所以就祈禱可以用吧。

我自己的做法是把檔案全都丟到手機裡,用 Root Explorer 把那些(以上面那載點內的檔案來說是九個) app 複製到 system/app 下。再用 RE 手動一個一個改權限。改完權限後重新開機。

就是這樣而已。

改權限那點我是參照下面這篇的「四【刷入谷歌服务包(GMS)】」那張權限設定照片。
三星GT-S7562i [Rom分享][刷機教程][Root教程][刷入谷歌服務包(GMS)]個人心得

因為刷機的關係(?)所以我在 i959 上看到的都是英文版的 Root Explorer。在要修改權限的 apk 上長按,等他跳出選單,選「權限」。總共有三欄, Owner、 Group、 Others,每一欄都有 Read、 Write、 Execute 這三種動作。把 Owner 的 Read 跟 Write 都打勾,再把 Group 與 Others 的 Read 打勾(Write 不要勾), Execute 整欄都留空,這樣就完成權限的調整了。

ReadWriteExecute
OwnerVV
GroupVV
OthersVV

完成設定的樣子應該要跟上面這表格黑色部分一樣。紅色粗體那兩個是要刪掉的。

就這樣啦~半夜三點三十三分了。大致上都寫了啦~~~