- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
我们有 2 个独立的应用程序,我们已将它们合并到同一工作区中的 2 个目标。两者都有自己的核心数据模型(app1.xcdatamodeld
和 app2.xcdatamodeld
)。
现在两者都在同一个工作区中,因此不需要 2 个模型,因为它们 99% 相似。所以我想把.xcdatamodeld
包的名字改成allApps.xcdatamodeld
。我能够重命名它,但在这样做时我没有找到任何关于迁移行为的引用。
这是错误-
2015-07-28 09:04:06.079 AppName[51306:1423128] CoreData: error:
-addPersistentStoreWithType:SQLite configuration:(null) URL:file:///Users/shani/Library/Developer/CoreSimulator/Devices/EA75A69F-B108-4036-AB3D-B923F83D16DE/data/Containers/Data/Application/B1CB3AF3-DEF4-40DF-9A61-721063ECBB1D/Documents/AppName.sqlite
options:{
NSInferMappingModelAutomaticallyOption = 1;
NSMigratePersistentStoresAutomaticallyOption = 1;
NSSQLitePragmasOption = {
"journal_mode" = WAL;
}; } ... returned error Error Domain=NSCocoaErrorDomain Code=134130 "The operation couldn’t be completed. (Cocoa error
134130.)" UserInfo=0x7fc39c194360 {URL=file:///Users/shani/Library/Developer/CoreSimulator/Devices/EA75A69F-B108-4036-AB3D-B923F83D16DE/data/Containers/Data/Application/B1CB3AF3-DEF4-40DF-9A61-721063ECBB1D/Documents/AppName.sqlite,
metadata={
NSPersistenceFrameworkVersion = 519;
NSStoreModelVersionHashes = {
Attempt = <b4d1e878 69a97917 e751a67c 89e1887a ae4df1dc f380e4ee c9585f60 f39ff51e>;
BookmarkFlashcard = <33112f7c 2fa20bec eb2e019c b5d619b4 92be2547 a65fabee 1ac86ab7 92dd77bb>;
BookmarkQuestion = <38634b49 71f0d43c 6f9fbba9 bc2f1b81 675c9b3c f2da017e fc8de9d8 4e18a4a0>;
Category = <b0e4d91b 0c0ebc71 ed0f403c 9a0eec20 fc1686aa 0169bc60 4bcc7e57 165bce15>;
};
NSStoreModelVersionHashesVersion = 3;
NSStoreModelVersionIdentifiers = (
""
);
NSStoreType = SQLite;
NSStoreUUID = "F1B37CD0-8B89-4893-A262-1013C3544026";
"_NSAutoVacuumLevel" = 2; }, reason=Can't find model for source store} with userInfo dictionary {
URL = "file:///Users/shani/Library/Developer/CoreSimulator/Devices/EA75A69F-B108-4036-AB3D-B923F83D16DE/data/Containers/Data/Application/B1CB3AF3-DEF4-40DF-9A61-721063ECBB1D/Documents/AppName.sqlite";
metadata = {
NSPersistenceFrameworkVersion = 519;
NSStoreModelVersionHashes = {
Attempt = <b4d1e878 69a97917 e751a67c 89e1887a ae4df1dc f380e4ee c9585f60 f39ff51e>;
BookmarkFlashcard = <33112f7c 2fa20bec eb2e019c b5d619b4 92be2547 a65fabee 1ac86ab7 92dd77bb>;
BookmarkQuestion = <38634b49 71f0d43c 6f9fbba9 bc2f1b81 675c9b3c f2da017e fc8de9d8 4e18a4a0>;
Category = <b0e4d91b 0c0ebc71 ed0f403c 9a0eec20 fc1686aa 0169bc60 4bcc7e57 165bce15>;
};
NSStoreModelVersionHashesVersion = 3;
NSStoreModelVersionIdentifiers = (
""
);
NSStoreType = SQLite;
NSStoreUUID = "F1B37CD0-8B89-4893-A262-1013C3544026";
"_NSAutoVacuumLevel" = 2;
};
reason = "Can't find model for source store"; } 2015-07-28 09:04:06.089 AppName[51306:1423128] CoreData: annotation:
NSPersistentStoreCoordinator's current model hashes are {
Attempt = <b4d1e878 69a97917 e751a67c 89e1887a ae4df1dc f380e4ee c9585f60 f39ff51e>;
BookmarkFlashcard = <33112f7c 2fa20bec eb2e019c b5d619b4 92be2547 a65fabee 1ac86ab7 92dd77bb>;
BookmarkQuestion = <38634b49 71f0d43c 6f9fbba9 bc2f1b81 675c9b3c f2da017e fc8de9d8 4e18a4a0>;
Category = <b0e4d91b 0c0ebc71 ed0f403c 9a0eec20 fc1686aa 0169bc60 4bcc7e57 165bce15>; }
有没有办法在已经投入生产的应用中将 name1.xdatamodel 重命名为 name2.xdatamodel?
谢谢
最佳答案
与其重命名 app1.xcdatamodeld 或 app2.xcdatamodeld,不如创建一个新的 (allApps.xcdatamodeld)。这个新模型可以只是您想要保留的任何模型的副本。
然后在两个目标中的每一个中添加一个 .xcmappingmodel 文件并将其链接到 allApps.xcdatamodeld 并执行所需的任何转换。
根据 coreData 的工作方式,您需要保留原始的 app1 和 app2 xcdatamodeld 文件,以确保您永远不会破坏恰好还在其设备上运行您最旧的应用程序的用户。
文件 > 新建 > 文件 > 核心数据 > 映射模型。选择源模型并单击下一步。
在 app2 的另一个目标中再次执行此操作,您应该没问题。
关于ios - 重命名 coredata .xcdatamodeld 文件和迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31668137/
xcdatamodeld 我是否必须填写实体中的所有属性?每次我使用核心数据,尝试插入图像路径和字符串时,插入字符串时都会崩溃,请帮忙,错误如下。 returned error Error Domai
我有一个包含属性的表:国家、地点、描述等country属性的值可以重复(一个国家可以重复两次或多次)。 我需要从这个数据库中获取: 所有国家。 (对于 TableView ) 特定国家/地区的所有地点
我正在维护一个已经在 AppStore 上线了几个月的应用程序。 我的应用程序使用 Core Data,但不知何故我设法丢失了我的 xcdatamodel 的所有以前版本。 我希望执行轻量级迁移。我需
昨天,我已将我的项目转换为 Swift 3。在执行此操作之前,我已将我的项目提交给源代码管理,以便我可以恢复我的更改。当我恢复更改时,Xcode 崩溃了,当我重新打开它时,我遇到了一些问题。我现在遇到
有人请解释我什么时候应该增加 xcdatamodeld 版本?我google了很多,都是关于迁移的,但是我什么时候应该增加版本? 目前,如果我在我的 xcdatamodeld 中进行更改,例如添加实体
我目前正在构建多个共享同一个 CoreData 堆栈的应用程序。这包括模型、网络请求等。基本上所有的业务逻辑都保存在这个存储库中(我们称之为 DataKit)。 DataKit项目生成一个名为Data
在我的项目中,我没有 xcdatamodeld 文件,而只有 Model.xcdatamodel 文件。我不知道它是怎么发生的,现在应用程序已经发货到商店了。那么,有没有一种方法可以添加模型版本控制。
我正在使用XCode 11库在MagicalRecord中使用核心数据。应用更新后,我的记录会丢失。我还尝试将核心数据模型从xcdatamodel迁移到xcdatamodeld。还有其他人遇到过同样的
在我的项目中,我使用的是 MagicalRecord 框架(在 iOS 上为 Core Data 实现事件记录模式)。如何从我的 .xcdatamodeld 文件中检索所有现有的 ENTITIES?我
Xcode 7 和 7.1 beta 显示以下错误: 在 xcode 6 中没有问题。我不知道我应该做什么。有人能帮我吗?谢谢。克劳斯 最佳答案 我遇到了同样的问题。以下是我用来解决它的步骤: 在 X
最近,我设法(意外地,不要问)删除了我的 Core Data 数据模型文件和类。我完全无法再次创建与 XCode 自动准备这些文件的新启动项目完全相同的文件。 在一个新项目中,文件看起来像这样: 虽然
我的项目中有 .xcdatamodeld 文件,但它没有打开到数据模型中。 当我在 Xcode 中单击左侧边栏中的文件时,它会继续显示先前选择的文件的内容,而不是显示数据模型。同样,当我右键单击该文件
我们有 2 个独立的应用程序,我们已将它们合并到同一工作区中的 2 个目标。两者都有自己的核心数据模型(app1.xcdatamodeld 和 app2.xcdatamodeld)。 现在两者都在同一
我有几个核心数据模型版本已添加到我的 .xcdatamodeld 文件中,而我添加的最后一个版本没有像通常那样显示在列表顶部,它是列表中的第二项在 .xcdatamodeld 文件下。我将最新版本设置
我正在尝试编写我的第一个 iPhone 应用程序,它应该是数据驱动的。现在我在提供输出时遇到了一些问题 - 而且我不确定插入的效果如何...... 所以我现在想做的(或者:我会用桌面/服务器应用程序做
有谁知道如何将现有的 xcdatamodeld 文件夹添加到 XCode 项目中? xcdatamodeld 实际上是一个文件夹,尽管操作系统将其识别为文件,很像 [namehere].app 文件夹
有谁知道如何将现有的 xcdatamodeld 文件夹添加到 XCode 项目中? xcdatamodeld 实际上是一个文件夹,尽管操作系统将其识别为文件,很像 [namehere].app 文件夹
我正在使用 MagicalRecord 和 Swift。 这是我的案例: 用户在数据库中有一些历史记录项目。 (用户进行了一些健身事件) Model.xcdatamodeld 已更新,例如添加了新的最
我重命名了name.xcdatamodeld的一些实体并删除了其他实体,然后我从模拟器中删除了应用程序并重新启动了它,但是当我运行时该应用程序让我崩溃: PortalApp[4672:94749] [
我有一个独立的 .xcdatamodeld 文件,我想将其作为独立文件进行编辑,而不是在 Xcode 项目中。 我知道我可以编辑特定的 .xcdatamodel 文件,如果我右键单击 .xcdatam
我是一名优秀的程序员,十分优秀!