У меня есть приложение, написанное в Swift, исключительно в Swift, у которого никогда не было класса Obj-C, нет файлов Obj-C или заголовков мостов.Использование протокола Objective-C из моей службы XPC в моем приложении Swift
Чтобы добавить некоторые функции, не влияя на права моего приложения, я пытаюсь добавить службу XPC - я создал это в Xcode, а шаблон для служб XPC в Xcode - только Obj-C.
Это нормально, я написал свое обслуживание в Obj-C, но теперь, когда я хочу позвонить в службу через NSXPCConnection
, я должен настроить интерфейс для этого, и для этого мне нужно обратиться в мой код приложения Swift, к протоколу Obj-C, который я написал для своей цели XPC.
Как это сделать? Я не могу просто добавить «Protocol.h» в свою целевую программу, у нее нет правила для заголовка C. Все остальные комментарии, которые я нашел по этому поводу, похоже, применимы к привязке к протоколу в каркасе или общей цели ...
Мне совершенно любопытно, как вам удастся выполнить эту работу, и можете просто предложить следующее: добавьте 'Protocol.h' в ваше ** приложение Swift **, добавьте' Bridging-Header' в это приложение (проще всего создать, затем удалить класс Obj-C и щелкнуть * Create Bridging Header * при появлении запроса) и '#import" Protocol.h "' в заголовках мостов. Затем вы сможете выбрать класс ** Swift **, наследующий «NSObject», и заставить его принять «Протокол». – SwiftArchitect
Я решил сейчас просто добавить функциональность в приложение, поставив его в XPC, было бы неплохо, но это не обязательно. Мне не хватает Xcode-do, необходимого для создания XPC-сервиса в быстром без шаблона, я подожду, пока Apple не вытащит его. Я попробовал пару разных вещей, и ничего не работает ... – iluvcapra
Знаешь, что я только что создал, лемми, убедитесь, что это работает, и я напишу это. – iluvcapra