2016-09-17 3 views
3

Я использую новую функцию Xcode 8 для генерации кода для модели Core Data с использованием Class Definition в качестве опции Codegen.Генерация кода основного кода вызывает сбои сборки

Когда я строю я получаю следующий результат для каждого из моих образований:

<unknown>:0: error: no such file or directory: ‘/path/to/DerivedSources/CoreDataGenerated/Model/.Entity+CoreDataClass.swift' 
<unknown>:0: error: no such file or directory: ‘/path/to/DerivedSources/CoreDataGenerated/Model/.Entity+CoreDataProperties.swift’ 
... 
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1 

На проверке файлов можно увидеть следующее:

Entity + CoreDataClass.swift:

import Foundation 
import CoreData 


public class Entity: NSManagedObject { 

} 

Объект + CoreDataProperties.swift

import Foundation 
import CoreData 
import 

extension Entity { 

    @nonobjc public class func fetchRequest() -> NSFetchRequest<Entity> { 
     return NSFetchRequest<Entity>(entityName: “Entity"); 
    } 

    @NSManaged public var title: String? 

} 

Во-вторых, очевидной вещью, которой не должно быть, является пустой оператор импорта, который, как я предполагаю, вызывает крах.

Могу ли я сделать что-то не так? Это ошибка?

Я пробовал все обычную, чистую, чистую папку сборки, перезапустил Xcode/Mac без везения.

+0

Я также получаю пустой оператор импорта. Похоже на новую ошибку Apple. – user3352495

+0

Кажется, что проблема должна решаться лучше, чем есть. Вы видели мое исправление ниже? Кажется, что я все-таки делал не так. –

+0

Да, есть проблема, которую я обнаружил: при создании новых управляемых объектов и приведении их в один из моих подклассов это говорит о том, что он не может отличить. Имя класса было в другом пространстве имен, которое является пространством имен текущего проекта. – user3352495

ответ

2

Поле объекта Module объекта инспектора данных имеет значение в нем, я удалил его, так что теперь он пуст, а заполнитель читает «Глобальное пространство имен». Кажется, это сработало!

+0

Это, и мне пришлось удалить '@nonobjc public class func fetchRequest() -> NSFetchRequest { return NSFetchRequest (entityName:" Item "); }, что Xcode 8 создан. В этом случае 'Item' является именем Entity. – oyalhi

Смежные вопросы