您是否可以使用CoreData中的数据上传iPhone评论应用?

时间:2014-08-14 11:38:56

标签: ios core-data

我是iPhone开发的新手。我意识到有很多方法可以在用户最初打开应用程序时导入数据。然而,它似乎更容易(在我的应用程序的情况下)手动(通过应用程序模拟器中的应用程序的UI)将数据加载到CoreData,然后将其上载到Apple进行审核。 关于该应用程序的更多背景知识。它是一种举重/记录应用程序。我希望通过上述方法“预加载”一些初始练习和锻炼计划以启动用户。 这可能吗?或者是在模拟器中输入的数据仅存储在我的本地计算机上,而不是在提交时发送给苹果的应用程序包中?

4 个答案:

答案 0 :(得分:1)

数据库是一个文件。设置NSPersistentStoreCoordinator时,您的名称和位置由您定义。

如果您使用的是Xcode AppDelegate生成的模板代码,则以应用程序名称MyApp.sqlite命名并存在于应用程序文档文件夹中

您需要填充数据库,然后将文件从模拟器文件夹复制到Xcode项目中。然后,您需要确保其中一个捆绑资产。将其添加到项目时,默认情况下应该是这样。

enter image description here

当您的应用首次启动时,您可以将文件从捆绑包复制到用户本地安装的Documents文件夹中。

NSError *error = NULL;
NSString *dbPath = [[NSBundle mainBundle] pathForResource:@"myApp" ofType:@"sqlite"];
NSString *docsfolder = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSString *targetpath = [docsfolder stringByAppendingPathComponent:[dbPath lastPathComponent]];
[[NSFileManager defaultManager] copyItemAtPath:dbPath toPath:targetpath error:&error];

请勿尝试将捆绑包中的文件作为活动商店引用,因为您没有获得该文件的写入权限。

但是,您可以将持久性存储设置为只读(如果那是您想要的)

[persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options: NSReadOnlyPersistentStoreOption error:&error]`

答案 1 :(得分:0)

是的,你可以。您可以在首次运行时将资产包中的SQLite文件复制到文档目录,并使用生成的URL作为Core Data存储的路径。

答案 2 :(得分:0)

是的,可以使用数据库中的某些数据上传iphone应用程序

答案 3 :(得分:0)

你可以毫无问题地做。 您只需填写数据库并将其包含在您的项目中即可。 添加代码以将此文件复制到设备上的目标位置(例如:Library / Cache文件夹)。

然后就像使用新的一样使用它。