2009年11月20日 星期五

iPhone 備份時間過久問題

itunes在備份iPhone時,有時候會碰到備份很久的問題

以下是網路上找到的幾個解法

一、取消錯誤回傳
The Idiots Guide to Making your Iphone Backup fast
根據這篇的說法,iPhone備份通常只需要一分鐘。
但是當備份動作有問題時,iPhone會上傳報告到apple,但由於apple伺服器太慢/檔案太大,因此耗費了許多時間,造成了備份很久的假象。

要取消這動作的話,請按照以下步驟進行

1.把iPhone連線電腦,然後在中間上方會出現同步動作,按[x]取消
2.到左邊的裝置->摘要,把選項中的"當此iPhone連接時自動同步"取消
3.把iPhone拔掉重插一次
4.這次插入後,到裝置->iPhone上按右鍵選擇重置警告訊息
5.按下下面的"同步"按鈕,第一次會出現一段警告訊息如下,其中的別再詢問預設是勾選的,不過我已經取消了。由於這設定預設是傳送且別再詢問,因此iPhone每次會傳送報告。你可能也是第一次看到吧?

 2009-11-20 下午 05-43-27
6. 接著可能有點匪夷所思,請取消別再詢問,根據網站所說,如果不出現這個視窗,iTunes在每次備份出問題時都會傳送報告。
也就是說,勾選別再詢問=以後都要傳送給Apple..Apple的語法怪怪的。
根據我的測試,也確實是如此。如果有人有不同的發現歡迎跟我說。
7.接著就簡單了,請選擇不要傳送,然後就可以很快的備份完成,同步的話就要看你更新的資料量了。

8.以後要同步時,記得以下步驟,a. 自己點選同步 b.取消別再詢問 c. 選擇不要傳送,這邊要說明一下,b/c只有在同步出現問題時才會出現,所以你可以檢查一下你的同步有哪邊有問題。以我為例的話,我的機器有兩個問題,a. PodCast中的某些檔案無法在iPhone播放, b. 電腦上的某些檔案無法在iPhone播放。

最後提醒一點,iTunes會先備份愛封上的檔案,然後才更新愛鳳

這表示,如果你用iTunes下載APP,iTunes會先備份愛鳳,然後把APP裝上去。下一次連結時才會把這個APP放到備份檔案中,這時候可能會比較久一點,不過還是比動輒耗時數十分鐘的備份/傳送好太多了。

二、備份檔毀損
根據iPhone backup takes too long – Solution

根據該文,有時候愛鳳的備份檔案會有問題,因此要刪除重建

基本上,iTunes中提供刪除備份檔案的方法。

如果無效的話,你可以到/MobileSync/Backup/中找出備份檔刪除

windows 7 中應該會在C:\Users\xxx\AppData\Roaming\Apple Computer\MobileSync\Backup\xxxxxx\下

愛鳳中的每個APP都會產生兩個檔案,.mdinfo和.mddata,因此一次要砍兩個

不過由於某些APP會有不只一組檔案(因為有cache memory files),所以最好還是先備份一下比較好。

把該目錄下的檔案刪除後,就可以重新備份了。

我沒有用到這招,這應該是最後手段了..

三、我自己的狀況:
我的情況可能比較特殊,不過也可能蠻常見..
由於我沒有辦法從iTunes購買歌曲,所以我的歌都是從電腦拉的
在同一資料夾中,我把MV也一起放進去了
結果在備份的最後會碰到.mpg影像檔案無法同步的問題
因此我把那些檔案從iTunes列表中移除,然後備份就很順了(因為不用傳送錯誤報告)
如果你有相同問題,可以考慮參考看看

2009年11月9日 星期一

NHibernate 常見錯誤

"NHibernate.MappingException : Unknown entity class:xxx.Class":
關聯table的xxx.hbm.XML檔沒有設定為內嵌資源


"NHibernate.InvalidProxyTypeException : The following types may not be used as proxies"
把xxx.hbm.xml檔中加入lazy="false"

"NHibernate.MappingException : persistent class ClassName not found" or "NHibernate.MappingException : associated class not found: ClassName"
NH找不到對應的類別,通常是設定問題。
一個簡單的做法是去assembly中設定

2009年11月2日 星期一

NHibernate

NHibernater是一個用來建立AP和DB橋梁的工具
受益於JAVA要處理的環境太複雜,因此有人研究了Hibernate
在實作上,NH受到了JAVA的影響,需要處理的設定檔很多
使用時,可以明顯感受到NH所使用的語句簡單,可惜背後邏輯複雜
(這也是NH的學習曲線長的原因之一)

如果是複雜的系統應用,使用NHibernate應該可以有效增加PG的產能
不過NHibernate的效能問題是個隱憂

現在回想起來,NHi似乎只是為了讓Java人員快速上手的工具而已