WatchKit недоступен при сборке для iOS Simulator. >
Затем я удалил WatchKit из целевого приложения iOS, как было предложено. С тех пор у меня возникает эта ошибка:
Неопределенные символы для архитектуры x86_64:
"_OBJC_CLASS_$_WKInterfaceController", ссылка на:
objc-class-ref в INFOnlineLibrary(IOLWatchKitHelper.o) ld: символы не найдены для архитектуры x86_64 clang: ошибка: команда linker
завершилась неудачно с кодом завершения 1 (используйте -v для см. вызов)
Неопределенный символ: _OBJC_CLASS_$_WKInterfaceController
PS: Часть x86_64 зависит от выбора устройства/симулятора. Если я выберу реальное устройство, оно выдаст ту же ошибку для Arm64. Поэтому я не думаю, что это проблема архитектуры еще и потому, что платформа, включающая WKInterfaceController, представляет собой просто стандартную структуру watchOS, то есть Watchkit.
PS_2: Есть не используется WKInterfaceController или даже WatchKit в приложении iOS. Он используется только в части WatchAppExtension
Что я пробовал до сих пор:
- Первым делом нужно было добавить платформу WatchKit к объектам WatchApp и
WatchAppExtension. - Когда я искал Неопределенные символы для архитектуры x86_64, в целом возникали ошибки было много разных предложений. Хотя я думаю, что это не зависит от архитектуры, я попробовал установить только «нет» для построения активной архитектуры во всех целях. Чаще всего рекомендуется добавлять $(inherited) в пути поиска.
- Проверил цель файлов .m. С ними все в порядке.
- Я даже зашел далеко и прокомментировал весь код, использующий WKInterfaceController. Ничего не изменилось после. Я также удалил приложение для часов, оно все еще искало _OBJC_CLASS_$_WKInterfaceController, но я не уверен, что сделал это правильно.
- Я проверил файлы поддержки устройств WatchKit.framework с файлом WatchKit.framework команду и увидел, что она поддерживает Arm64. Затем вручную добавил эту библиотеку в библиотеки, запустил на устройстве, но все равно не работал.
Подробнее здесь: https://stackoverflow.com/questions/585 ... ting-xcode