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)

1 ответ

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

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

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

Другие вопросы по тегам