2013-01-13 32 views
0

我有一個Cordova iOS應用程序,它在onDeviceReady()事件處理函數中調用window.openDatabase()。看起來onDeviceReady()事件處理程序的執行在該行停止,因爲在該行下面的我的console.log()從不顯示在Xcode的調試控制檯中。也沒有任何其他錯誤消息。Xcode上的Cordova window.openDatabase() - 無錯誤輸出

相同的代碼在Android設備和Chrome/Ripple模擬器上正常工作。哪裏不對?

var db = null; 

// PhoneGap is ready 
function onDeviceReady() { 
    console.log("onDeviceReady"); 

    db = window.openDatabase("mydb", "1.0", "My DB", 100000000);   

    console.log("This will never be displayed in Xcode log"); 

    db.transaction(checkDB, checkErrorCB);   
} 

科爾多瓦版本:2.3.0

的Xcode版本:4.5.2

我在iPhone 5.1和iPhone 6.0模擬器進行測試。

+0

在IOS WebKit的DB被限制爲5 MB,以獲得更多信息閱讀這個答案。 http://stackoverflow.com/questions/9118757/max-size-of-websql-sqlite-database-inside-uiwebview-phonegap –

回答

2

Doh !!

似乎我指定的數據庫大小很大,當我刪除一個零時,它全部開始工作......這是那種容易忽視的事情,當你一直在查看相同的代碼幾周,它已經工作正常。我只是隨便選了一個大數字「安全起見」。

此代碼工作:

db = window.openDatabase("mydb", "1.0", "My DB", 10000000);