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.