gpt4 book ai didi

ios - 您可以使用 CoreData 中已有的数据上传 iPhone 审查应用程序吗?

转载 作者:行者123 更新时间:2023-11-29 02:44:32 25 4
gpt4 key购买 nike

我是 iPhone 开发新手。我意识到有很多方法可以在用户最初打开应用程序时导入数据。然而,在将数据上传到 Apple 进行审查之前,手动(通过应用程序模拟器中的应用程序 UI)将数据加载到 CoreData 中似乎更容易(就我的应用程序而言)。关于该应用程序的更多背景信息。这是一个举重/记录应用程序。我想使用上述方法“预加载”一些初始练习和锻炼计划,让用户开始使用。这可能吗?还是在模拟器中输入的数据只存储在我的本地计算机上,而不是在提交时发送给苹果的应用程序包中?

最佳答案

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

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

您需要填充数据库,然后将文件从模拟器文件夹复制到您的 Xcode 项目中。然后,您需要确保它是捆绑 Assets 之一。当你将它添加到项目中时,它应该是默认的。

enter image description here

当您的应用程序首次启动时,您可以将文件从 bundle 复制到用户本地安装的 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]`

关于ios - 您可以使用 CoreData 中已有的数据上传 iPhone 审查应用程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25307155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com