現在のアプリでは、データのバックアップと復元機能を追加しています。ユーザーはデータベースのバックアップを作成し、それを電子メールで送信できます。復元機能では、ユーザーは電子メールからデータベースをインポートし、現在のデータベースを置き換えることができます。
データベースファイルのバックアップと復元を作成できます。復元では、ファイルをメールからアプリのドキュメントファイルにコピーして、現在のファイルを置き換えます。問題は、データベースのバックアップ用のコードで、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];
}
NSDataに変換せずにsqlitedbを電子メールで送信するにはどうすればよいですか?