Cocoaからコマンドライン型のプログラムを実行したい時は、NSTaskを使います。NSTaskを使うと、かなり簡単に外部のプログラムを実行することができます。単に実行するだけならば、おそらくリファレンスを見るだけですぐ使い方がわかると思いますので、出力を読み取る方法を説明します。 単に読み取る場合、次のようにします。 NSTask *task = [[NSTask alloc] init]; NSPipe *pipe = [[NSPipe alloc] init]; [task setLaunchPath:@"/bin/ls"]; [task setStandardOutput:pipe]; [task launch]; NSFileHandle *handle = [pipe fileHandleForReading]; NSData *data = [handle readDataT
NSTaskで外部コマンドを実行する場合、外部コマンドをフルパスで指定しないといけないらしい。マシン環境によってコマンドはマシンによって"/opt/local/bin"だったり"/usr/local/bin"だったりするので、フルパスでコマンドを指定すると動かなかったりするので、"/bin/sh -c"を経由させてコマンドの実行パスを解決すると幸せになれるみたいです。 #import <Foundation/Foundation.h> int main(void) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; NSTask *task = [[NSTask alloc] init]; NSPipe *pipe = [[NSPipe alloc] init]; [task setLaunchPath: @"/bin
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く