2011-02-04 11 views
4

私はファイルからいくつかの情報を読むのに使うPerlライブラリを持っています(クローズドフォーマット)。 このライブラリはファイルを読み取り、その結果のオブジェクトの配列を返します。Objective-CココアからPerlライブラリを呼び出す

今、私はそのライブラリを(ココアでは今実装することはできません)カカオアプリケーションに統合する必要があります。基本的にはそれを呼び出して、結果をリストに表示してみてください。

ObjectiveCからPerlライブラリを呼び出して結果を得るためのブリッジがありますか?

NSTaskを使用して直接perlスクリプトを呼び出して結果を解析する方法については読んだことがありますが、その呼び出しを直接行うことができるかどうかは疑問です。

お待ちしております。

答えて

0

ブリッジが必要な場合はPerlObjCBridgeをご覧ください。スクリプトを呼びたいだけなら、あなたはsystem()を使うことができます。

system([scriptCallNSString UTF8String]); 
1

あなたは完全に正しいです:NSTaskは、正しいクラスのCocoa(ココアタッチではありません)上にあります。このサブプロセスがメインタスクから環境を継承することを考慮すると、任意のサブプロセスを起動できます(もちろん、実行ディレクトリなどの異なる設定を適用することもできます)。 "system()"のメリットは、NSTaskの "launch"メソッドが非ブロッキングであるため、長い同期ジョブに使用できます(終了時に通知されます)。 perlの特定のケースでは

、ちょうどコマンドラインのようなperlスクリプトを実行します。 "/ usr/bin/perlは..."

最後にあなたがPerlObjCBridge(リンク:PerlObjCBridge.pm man page)で試して作ることができるためObjective-Cオブジェクトとperl間の一種のプロセス間通信。

+0

ありがとう、私はPerlObjBridge – ernie

関連する問題