0
在我目前的應用程序中,我添加了數據備份和恢復功能。 用戶可以創建數據庫備份併發送電子郵件。 在恢復功能用戶可以從電子郵件導入數據庫,並可以取代當前。如何從自己的iPhone應用程序的電子郵件sqlite數據庫?
我能夠創建備份和恢復數據庫文件。 在還原中,我只是將文件從我的電子郵件複製到應用程序文檔替換當前文件。 問題是,在我的數據庫備份代碼中,sqlite數據庫被轉換爲NSData。我不想被轉換,需要通過電子郵件發送確切的sqlite文件。
這裏是我目前使用的電子郵件SQLite數據庫
-(void)backUpData
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *txtPath = [documentsDirectory stringByAppendingPathComponent:@"/DemoApp.sqlite"];
NSURL *newUrl = [[NSURL alloc] initWithString:
[txtPath stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]];
NSData *sqliteData = [[NSData alloc] initWithContentsOfURL:newUrl];
//send sqliteData to email composer delegate to attach it as attachment
[self showPicker:sqliteData];
}
我如何可以通過電子郵件的SQLite數據庫,而不將其轉換爲NSData的代碼?
我用這個,但是這總是使文件具有相同的大小,即使我添加了很多數據到我的sqlite數據庫。 –
在設備上,無法寫入包中的文件,因此您確定數據已添加到數據庫中嗎?一旦收到電子郵件,保存附加文件,並在終端會話中運行sqlite3以查找新記錄。 – SPA
你可以附加sqlite文件,但你永遠無法打開它,例如,通過MAC上的LiYa應用程序 – ikzjfr0