2012-12-05 82 views
1

我需要我的公司正在建立的應用程序中的功能解決方案。它是iPhone和iPad的iOS應用程序,我們只支持ios5及以上版本。sqlite數據庫從ios應用程序乾淨地導出

我們需要的最終結果是用戶能夠發掘轉儲應用程序內部數據庫乾淨,它附加到電子郵件的用戶,然後解決他們希望誰的設置區域內的按鈕。

附加到電子郵件不是問題。我擔心的是,如果有理由認爲將一個sqlite數據庫的副本作爲附件導出到電子郵件將會爲用戶留下可用的數據庫副本。我的客戶羣不擅長做備份,但數據對他們來說非常重要。

sqlite數據庫的熱導出是否可用,即是否支持,或者數據庫是否會有時/永遠損壞?

請記住,所有此功能必須做的是使數據庫的可用副本脫離設備並安全地脫機存儲,以便我可以通過將數據庫複製回到使用iExplorer或PhoneView的設備。

未來我們計劃增加一個強大的導出和導入功能,但現在我們正在尋找一種我們可以在一天或更短時間內實施的解決方案。

在此先感謝anybodys輸入和gasp一些客觀c代碼,它會轉儲一個SQLite數據庫的乾淨副本,使數據庫將可用,並沒有損壞。

回答

0

您不需要製作數據庫的熱副本。當用戶選擇應用程序的備份功能時,關閉數據庫,複製文件,然後重新打開數據庫。您現在可以將複製的文件附加到電子郵件中。

我在我的應用程序中做了這個功能。我從來沒有遇到過損壞的數據庫文件的問題。只要沒有正在運行的活動事務,sqlite文件應該可以複製,特別是如果沒有打開的句柄。

另一種選擇是使用sqlite3_backup_init和相關函數來複制數據庫。

+0

感謝您的意見。事實證明,你這樣做,從來沒有損壞的數據庫是我的關鍵問題:數據庫結果的可行和良好的副本。非常感謝您的寶貴時間! – user1880635

相關問題