Tuesday, September 10, 2013

解救被禁用的 iPad

From Evernote:

解救被禁用的 iPad

前陣子把 iPad 設上了密碼控制晶晶的使用量,讓她在輸入錯誤後進入「禁用中」的狀態。

原本想說到時就接上 Mac 重新 sync 一下應該就可解鎖。沒想到一看文件,居然只能靠 restore 才能解鎖… 一整個臉黑~ = =
我不想花那麼多時間作 restore 啊~~

但是咧~ 嘿嘿,被我意外試出一個可以不必 restore 的方法。

首先照文件進入 recovery mode,就是
  1. usb cable 先接上 Mac,但是不接上 iPad,開啓 iTunes
  2. iPad 關機
  3. 按住 Home button 不放,同時把 usb cable 接上 iPad。
  4. iPad 會自己開機,並進入 recovery mode.
然後咧,不必進行 recovery。

就直接拔除 usb cable,然後重開 iPad 就會又可以輸入 passcode 啦~~~ 哈哈!

Monday, March 25, 2013

PerPageHTML Calendar 不會換日問題修正

From Evernote:

PerPageHTML Calendar 不會換日問題修正

剛接手了一支 iPhone 4,發現 JB 後可以安裝 PerPageHTML 就能有類似 hTc 時鐘的 widget!


嗯,畫面果然不錯~
除了 hTc 時鐘,還有Calendar widget。


但是,過了一天就發現 Calendar 不會自動換日,但是時鐘卻很正常。

用 iFile 檢查了 Calendar code 後,發現這不知道從哪裡拿來用的 Calendar (會不會是直接拿 dashboard widget?),本來就都有用 setTimer 寫好 update timer 在換日時作用,只是不知道為什麼在 PerPageHTML 下不會作用。但是 hTc 時鐘卻告訴我們,在 PerPageHTML 下 setInterval 是正常的。

作了幾個簡單的測試,發現
  • setTimer 沒有作用
  • setInterval 30min 也不會動作
  • 但是 setInterval 1sec 卻可以正常動作
既然有了這個測試結果,我也懶得去深究原因。(雖然猜測大概是 PerPageHTML 的 Renderer 並沒有一直在執行 Calendar widget)簡單改了一下 Calendar 後,發現會正確換日了,實測也沒有耗電的現象。

所以,在此做個紀錄、收工~

我修改了
     1. 在 Widget.html body 加入 setInterval 呼叫 updateDate

<span id='date'>
<script language="JavaScript">setInterval('updateDate()', 1000)</script>
</span>

     2. 修改 Canlendar.js 的 updateDate

function updateDate ()
{
     gDate = new Date();
     var currentEqualDate = gDate.getMonth() == gBrowsingMonth &&
                                gDate.getFullYear() == gBrowsingYear &&
                                gDate.getDate() == gBrowsingDate;
 
     if (!currentEqualDate)
     {
          gBrowsingMonth = gDate.getMonth();
          gBrowsingYear = gDate.getFullYear();
          gBrowsingDate = gDate.getDate();
 
          drawGrid (gBrowsingMonth, gBrowsingYear);
          drawHiliteTodayInGrid ();
          drawText ();
     }
}