Ошибка компоновщика Xcode 7 с помощью RestKit и CocoaPods
Я только что обновился до Xcode 7 и CocoaPods 0.38.2 и после решения некоторых проблем Swift 2 получил следующую ошибку компоновщика с моим смешанным проектом Objective-C и Swift, ориентированным на iOS 7:
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_RKManagedObjectRequestOperation", referenced from:
objc-class-ref in NetworkHelper.o
"_OBJC_CLASS_$_RKManagedObjectResponseMapperOperation", referenced from:
type metadata accessor for ObjectiveC.RKManagedObjectResponseMapperOperation in MappingHelper.o
"_RKLogCoreDataError", referenced from:
___33-[RKEntityByAttributeCache load:]_block_invoke in libRestKit.a(RKEntityByAttributeCache.o)
___43-[RKManagedObjectImporter finishImporting:]_block_invoke in libRestKit.a(RKManagedObjectImporter.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
CoreData входит в мой .pch файл и включается перед RestKit в заголовок моста, а биткод выключен. Я использую RestKit 0.24.1.
Так как кажется, что RestKit не обнаруживает присутствие каркаса CoreData, и поэтому его условные объявления, соответственно, передаются, я пробовал много разных способов сообщить моему приложению или модулю RestKit о наличии Core Data, но ничего не помогает.
Ответы
Ответ 1
Я решил эту проблему, выполнив следующие шаги:
- Обновите мои кокаподы (0.39.0)
- Готовые настройки моей цели и поиск путей поиска заголовков.
- Сделать все пути поиска заголовков рекурсивными (Это важно) Я также попытался сделать рекурсивный реквизит только для restkit, но по какой-то причине я не знаю, что он не работает.
- Затем отключите биткод.
- Наконец, построим.
![Сводный снимок экрана]()
Для получения дополнительной информации см. эту ссылку
Ответ 2
Для меня работала модернизация старой версии RestKit
(0.23.3) до 0.25.0.
Я также обновил Xcode до 7.0.1, удалил xcworkspace и reer pod install
для хорошей оценки.
Ответ 3
обновите свои коко-каподы и xcode7.0.1
и снова удалите xcworkspace и pod install.