代码之家  ›  专栏  ›  技术社区  ›  Enamul Haque

无法确定macOS Catalina中xcode 11上核心数据代码生成的生成文件路径[重复]

  •  0
  • Enamul Haque  · 技术社区  · 4 年前

    在为不同的目标构建项目时,我遇到了以下错误:

    无法确定核心数据代码的生成文件路径 世代: 错误域=NSCocoaErrorDomain代码=260“模型没有当前版本 在路上 /用户/abc/文档/代码/xyz-ios/abc/iPhoneXMPP/SRT/Model.xcdatamodeld:“ 用户信息={NSFilePath=/Users/abc/文档/代码/xyz-ios/abc/iPhoneXMPP/SRT/模型xcdatamodeld, NSLocalizedDescription=路径处的模型没有当前版本 /用户/abc/文档/代码/xyz-ios/abc/iPhoneXMPP/SRT/Model.xcdatamodeld:}

    错误中提到的路径是“

    /用户/abc/文档/代码/xyz-ios/abc/iPhoneXMPP/SRT/模型xcdatamodeld

    但“SRT”文件夹位于我的文件夹结构中的“Temp”文件夹内。 我该如何解决这个问题?

    0 回复  |  直到 6 年前
        1
  •  43
  •   Tim Newton    7 年前

    与shallowThought的答案类似,我发现我必须先取消选中目标,然后重新选中它,然后重新构建。

        2
  •  18
  •   shallowThought    7 年前

    在Xcode中,选择您的 Model.xcdatamodeld 在检查器中为新目标建模并勾选复选框“目标成员资格”。

        3
  •  13
  •   redEyeProgrammer    6 年前

    在我的案例中,这是因为当与远程(源或头)合并时,Model xcdatamodeld发生冲突。不知何故,GIT没有检测到这场冲突,并以无冲突的方式顺利通过。

    解决方法:将Model xcdatamodeld作为xml打开(使用textEditor)并搜索冲突(>>>)。修复冲突并保存。

        4
  •  13
  •   m_katsifarakis    6 年前

    在我的例子中,我重命名了.xcdatamodel所在的目录,这导致旧的文件名条目没有从我的目标中删除 Compile Sources 阶段。

    我所要做的就是从中删除旧文件 编译源代码 阶段,通过搜索 xcdatamodeld 并删除目标中相关(现在不相关……)的条目 Build Phases 选项卡:

    Remove irrelevant .xcdatamodel files from the <code>Compile Sources</code> phase

    • 别忘了这样做 全部 包含核心数据数据模型的目标。

    完成后,确保您的实际当前.xcdatamodeld文件 已添加到您的目标 。你这样做:

    点击Xcode中的文件 项目导航器 (左列->第一个图标):

    Select your .xcdatamodeld in Xcode's Project Navigator

    b 然后在Xcode的 文件检查器 (右栏->第一个图标),在 Target Membership :

    Tick all the targets you want your Core Data model to be a part of

        5
  •  9
  •   Sandeep Rana    7 年前

    在我的例子中,文件选择器代码生成被选择为Swift。 我选择了Objective-C作为代码生成语言。 错误消失。

    选择Objective-C之后

    产品>清洁

    然后 重建项目。

    这对我奏效了。

        6
  •  4
  •   MrAn3    6 年前

    在手动添加核心数据(而不是从项目开始)后,Just Clean and Build对我有效。

        7
  •  3
  •   jarora    7 年前

    上面给出的答案是正确的,但如果这些不起作用,那么:

    1. 复制你的模型并将其存储在某个地方
    2. 从Xcode中删除模型
    3. 将模型再次添加到要添加到的任何文件夹中

    这解决了我的问题。希望这能有所帮助。

        8
  •  1
  •   AbyKal    7 年前

    如果您使用的是NSPersistentContainer,则可以从iOS 10+获得。 您需要更改目标>一般>部署信息>部署目标为10.0+。

    然后,产品>清洁&;建造。它奏效了。

        9
  •  1
  •   NCFUSN    7 年前

    模块检查器>模块>当前产品模块

    enter image description here

    之后进行清洁和建造。

        10
  •  0
  •   Display Name    5 年前

    就我而言,我试图构建一个外部驱动器。 将项目复制到内部驱动器,它就会工作。

        11
  •  0
  •   Mochi    4 年前

    就我而言,我保存了一个新版本的 .xdatamodelid 在pod项目中,xcworkspace取代了原来的xcproject。将其保存在原始版本中可以解决我的问题。