0

iOS 8 用のキーボード拡張機能を作成しています。キーボードが初めて起動されたときに、sqlite データベースがバンドルから Document フォルダーにコピーされます (ファイルの以前のコピーは存在しません)。

NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *dbPath = [docPath stringByAppendingPathComponent:@"work.sqlite3"];
NSString *bundlePath = [[NSBundle mainBundle] pathForResource:@"default" 
                                                       ofType: @"sqlite3"];
[[NSFileManager defaultManager] copyItemAtPath:bundlePath 
                                        toPath:dbPath error:nil];

将来、ユーザーがこの iPhone のバックアップを新しい iPhone にwork.sqlite3復元した場合、ファイルは新しい iPhone に復元されますか?

4

2 に答える 2

0

代わりに

NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];

使用する

func getTheFilePath() -> String
    {
        var url = NSFileManager.defaultManager().containerURLForSecurityApplicationGroupIdentifier("group.groupBundleID") as NSURL?
        var path = url?.absoluteString?.stringByAppendingPathComponent("work.sqlite3") as String?
        path = path!.stringByReplacingOccurrencesOfString("file:", withString: "", options: NSStringCompareOptions.LiteralSearch, range: nil)

        return path!
    }
于 2014-12-19T05:35:31.920 に答える
0

アプリケーションのバンドル フォルダーにファイルを書き込むことはできません

于 2014-11-27T08:39:56.957 に答える