Вызов библиотеки Perl из какао Objective-C - PullRequest
4 голосов
/ 04 февраля 2011

У меня есть библиотека Perl, которую я использую для чтения некоторой информации из файла (закрытый формат). Эта библиотека читает файл и возвращает массив объектов с результатом.

Теперь я должен интегрировать эту библиотеку (сейчас не могу реализовать ее в какао) в приложение какао. В основном позвоните и попробуйте показать результаты в списке.

Есть ли какой-то мост для вызова библиотек Perl из ObjectiveC и получения результатов?

Я читал кое-что об использовании NSTask для прямого вызова perl-скрипта и анализа результата, но мне интересно, возможно ли сделать этот вызов напрямую.

С наилучшими пожеланиями.

Ответы [ 2 ]

1 голос
/ 04 февраля 2011

Вы совершенно правы: NSTask на Cocoa (не Cocoa-Touch) - подходящий класс для вас. Вы можете запустить любой подпроцесс, учитывая, что этот подпроцесс унаследует окружение от вашей основной задачи (но, конечно, вы можете применять другие параметры, например, каталог run). Преимущество «system ()» в том, что метод «запуска» NSTask не блокирует, поэтому вы можете использовать его для длинных асинхронных заданий (и получать уведомления, когда он закончится).

Для конкретного случая perl, просто запустите скрипт perl, как в командной строке: "/ usr / bin / perl ..."

Наконец, вы можете попробовать PerlObjCBridge (ссылка: PerlObjCBridge.pm man page ) для своего рода межпроцессного взаимодействия между объектами Objective-C и perl.

0 голосов
/ 04 февраля 2011

Если вам нужен мост, взгляните на PerlObjCBridge .Если вы просто хотите вызвать скрипт, я думаю, вы можете просто использовать system ().Как то так:

system( [scriptCallNSString UTF8String] );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...