У меня была такая же проблема с Xcode 8.1. Я не хотел удалять все многие атрибуты, болезненно настроенные для всех 6 моих сущностей, и нашел другое решение. Предположим, что ваш файл модели называется «foobar.xcdatamodeld».
Редактирование XML непосредственно в модели. Для этого вам нужно перейти к файлу «содержимое» внутри файла модели. Путь к нему: foobar.xcdatamodeld/foobar.xcdatamodel/contents
. Чтобы добраться до него в Finder, щелкните правой кнопкой мыши по пакету «xcdatamodeld», чтобы «Показать содержимое пакета», затем снова в пакете «xcdatamodel». Затем вы можете перетащить файл «Содержание» в свой текстовый редактор. Вы увидите, появляются ограничения следующим образом в XML:
<uniquenessConstraints>
<uniquenessConstraint>
<constraint value="property_name"/>
</uniquenessConstraint>
</uniquenessConstraints>
Вы можете редактировать «свойство PROPERTY_NAME», чтобы соответствовать новому значению, или удалить ограничения вообще.
- После редактирования попытайтесь очистить и перекомпилировать. В моем случае ошибка все еще была там, поэтому мне пришлось сделать небольшой «переименование танца» с Xcode. Я удалил модель из проекта Xcode, а затем переименовал файл модели в другое имя (включая файл «xcdatamodel» внутри файла «xcdatamodeld») и добавил его обратно в Xcode. Я снова повторил это со старым именем, чтобы вернуться к первоначальному имени.
У меня была аналогичная проблема, следовавшая выше. Я закрыл Xcode 8.2.1 и открыл файл содержимого только для того, чтобы не найти уникальности. После повторного открытия Xcode проблема исчезла. –