2017-02-13 6 views
0

Я новичок в технологии Apple XPC (на самом деле я также новичок в Objective-C), недавно я хочу узнать что-то о технологии XPC, которая используется для связи между процессами. Кто-нибудь знает, как объединить командную строку hello world program с программой XPC с помощью XCode? Что я сделал: 1) Создайте проект командной строки 'HelloWorld'; 2) Создайте «цель» в проекте проекта HelloWorld; 3) Тогда я не знаю, как их объединить; (возможно, нужно установить что-то в настройке сборки?) Если вы можете показать мне, как это сделать, это было бы очень полезно. Благодарю.Как создать программу Hello World XPC?

My os is 10.12, xcode - 8.2.

ответ

0

Эта ссылка содержит некоторую полезную информацию о том, что вы ищете.

https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingXPCServices.html#//apple_ref/doc/uid/10000172i-SW6-SW1

Добавление цели XPC услуг для вашего Xcode проект должен быть единственное, что вам нужно сделать, кроме осуществления фактического обслуживания.

Работа с хрюканьем берется по самому Xcode. Если вы проверите BuildPhase вашего приложения, он покажет, что есть раздел службы Embedded, который позаботится о том, чтобы копировать ваш вывод службы XPC в выходной файл сборки.

После того, как вещи собрать, вы найдете ваш сервис XPC является # сборка/(Debug || Release) // XpcServices

+0

Привет прасанна, спасибо за ваши комментарии. Я попытался, он может скомпилировать успех, но мое приложение всегда не может назвать успех XPC. –

+0

Я создаю репо в github и загружаю свой код. Можете ли вы помочь взглянуть? Я добавляю код вызова XPC в helloworld, но он никогда не работает. https://github.com/lelewestlife/HelloWorldXPC –

+0

Код, который вы отправили, выглядит хорошо для меня. Что именно происходит? Открыта ли служба XPC. Вы можете использовать 'ps', чтобы узнать, запущен ли ваш сервис или нет. Ниже приведен пример реализации службы XPC в C. https://github.com/drichardson/examples/blob/master/XPCApplicationExample/XPCMultiplierService/main.m. Я пробовал это, и он отлично работает. – Prasanna

Смежные вопросы