我最近升级到Xcode 8并进行了自动的Swift 3转换。然后我了解到了新的Core Data自动生成子类。我已经定义了类,但想要切换,所以我删除了所有定义的类,然后将所有实体定义的Codegen下拉菜单切换为Class Definition,但我的项目无法构建。我认为这是因为它还没有生成类,但我不确定。这是我得到的错误:
<unknown>:0: error: no such file or directory: '*my file path to the iphonesimulator/Debug-iphonesimulator/LoRezDungeon.build/DerivedSources/CoreDataGenerated/GameDataModel/.UAWeapon+CoreDataProperties.swift'
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1
这只是最后一个实体错误,我的xcdatamodel文件中所有实体都会抛出这个错误,命令部分仅在错误日志的末尾显示一次。
我认为生成的文件不存在,因为它说应该有自动生成的类的文件不存在。
我该如何强制生成它们或如何修复这个问题?我尝试了其他人建议的方法,进行了实体更改并保存。更改实体名称并保存。清理和重建。同样的问题一直发生,我困惑了。谢谢你提前帮助我。
编辑:我检查了它所说的目录,那里有生成的文件,所以我不知道为什么它没有构建。
编辑2:这些类确实存在于目录中,但它们不是以“.”开头的,有任何想法为什么会发生这种情况或者这是否是一个bug?
编辑3:好吧,我有点儿假定这是他们需要修复的bug,决定再次手动创建,这也是一个问题:XCode 8 generates broken NSManagedObject subclasses for iOS 10 除此之外,我打算等待一个月左右的更新,然后继续我的个人开发。这真的很令人沮丧。。 :(