Apple Mach-O Linker Error Расширение целевых намерений Siri добавлено

Я пытаюсь интегрировать Siri в свое приложение Objective-C / Swift. Когда я пытаюсь получить данные из других классов моего проекта в файл IntentHandler.swift, чтобы определить, какие контакты соответствуют намерениям пользователя, я получаю сообщение об ошибке:

Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_(ClassName)", referenced from:

с последующим

clang: error: linker command failed with exit code 1 (use -v to see invocation)

person Sean Postler    schedule 03.07.2018    source источник


Ответы (1)


Ваш IntentHandler.swift принадлежит другой цели (цели Siri Intents Extension) и не может видеть классы из вашей основной цели.

Быстрый способ решить эту проблему — выбрать файл класса, который вы хотите использовать в целевом расширении Siri Intent, а затем добавить эту цель в TargetMembership файла (установив флажок с вашей целью намерений). Таким образом, ваша цель может «видеть» этот файл и его классы.

Другой способ сделать это — создать структуру, которая соответствует классам с вашей бизнес-логикой, а затем использовать эту структуру как в цели вашего проекта, так и в цели Siri Intents. Более подробную информацию можно найти в Документация Apple

person Argas    schedule 04.07.2018
comment
Быстрое исправление помогло избавиться от ошибки, но теперь я получаю сообщения об ошибках «Ожидается тип» и «Не удается найти объявление интерфейса для «UIimage». Когда я импортирую UIKit, это просто приводит к большему количеству ошибок. - person Sean Postler; 05.07.2018
comment
Я также добавил инфраструктуру UIKit в свое расширение Siri Intents. - person Sean Postler; 05.07.2018