创建 NSManagedObject 子类...在我的项目中创建一个新错误

Posted

技术标签:

【中文标题】创建 NSManagedObject 子类...在我的项目中创建一个新错误【英文标题】:Create NSManagedObject Subclass... make a new Error in my project 【发布时间】:2018-11-01 15:24:13 【问题描述】:

我想通过 Editor\Create NSManagedObject Subclass... 菜单为我的实体添加一个类。但是当我添加它时,项目出错了,这是消息:

Multiple commands produce '/Users/mohsenkhodadadzadeh/Library/Developer/Xcode/DerivedData/walk-fcnteanemrfigmfaalqkvwigvwqc/Build/Intermediates.noindex/walk.build/Debug-iphonesimulator/walk.build/Objects-normal/x86_64/WalkEntity+CoreDataProperties.o':
1) Target 'walk' (project 'walk') has compile command for Swift source files
2) Target 'walk' (project 'walk') has compile command for Swift source files


Multiple commands produce '/Users/mohsenkhodadadzadeh/Library/Developer/Xcode/DerivedData/walk-fcnteanemrfigmfaalqkvwigvwqc/Build/Intermediates.noindex/walk.build/Debug-iphonesimulator/walk.build/Objects-normal/x86_64/WalkEntity+CoreDataClass.o':
1) Target 'walk' (project 'walk') has compile command for Swift source files
2) Target 'walk' (project 'walk') has compile command for Swift source files

我在 File->Project settings 中将该构建系统更改为 Legacy Build 系统。但它还没有工作

这个项目是用 xcode9 制作的,我现在用 xcode 10 开发它

【问题讨论】:

【参考方案1】:

在项目导航器中选择xcdatamodeld文件,选择实体并按⌥⌘3 - 在Xcode 13 ⌥⌘4 - 显示数据模型检查器.

如果您手动创建了类,则必须将Codegen 弹出窗口设置为Manual/None,否则会隐式创建类文件。

【讨论】:

我还必须清理构建文件夹并重新启动 xcode 才能识别我的新手动创建的类。 似乎不公平,我只能在这个答案上投票一次?。谢谢 清理后,我必须先构建它,然后再运行它才能工作。 Clean 是 Shift + Command + K,构建是 Shift + Command + B。感谢 Apple ;) 对我有用,但有一些操作。如果您使用 Class codegen 创建文件,请删除它们,设置 Manual codegen 并清理项目,然后构建。完成此步骤后,一切正常。【参考方案2】:

Xcode 11

1.从Build Phases > Copy Bundle Resources删除信息列表

2.从Build Phases > Compile Sources删除创建的子类

如果运行不正常,请使用旧版构建设置

发件人:File > Project Settings > build settings > legacy build settings

【讨论】:

以上是关于创建 NSManagedObject 子类...在我的项目中创建一个新错误的主要内容,如果未能解决你的问题,请参考以下文章

尝试在 iOS 中基于 NSString 值动态创建 NSManagedObject 子类

Xcode 和核心数据 - “创建 NSManagedObject 子类”

新的 NSManagedObject 子类与新的 NSObject 子类?

CoreData 使用父实体创建 NSManagedObject 子类

创建 NSManagedObject 子类导致链接器错误重复符号

CoreData 无法正确“创建 NSManagedObject 子类”Swift