我正在为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中?
发布于 2014-11-27 16:39:57
不能将文件写入应用程序的捆绑包文件夹
发布于 2014-12-19 13:35:32
代替
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!
}https://stackoverflow.com/questions/27165766
复制相似问题