macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

setLaunchPath:

実行するUNIXコマンドのパスをセットします
-(void)setLaunchPath:(NSString *)path:

解説

実行するUNIXコマンドのパスをセットします
実行する前にセットしておかないといけません。セットしていなければ、NSInvalidArgumentExceptionを起こします。

返り値

( void )

なし

引数

( NSString * )path

パス

クラス

NSTask

Instance Methods

使用可能

10.0

参照

- launchPath

例文

#import "MyObject.h"

@implementation MyObject

- (IBAction)myAction:(id)sender
{
NSTask *task = [[NSTask alloc] init];//Task=UNIXコマンド実行
NSPipe *pError = [NSPipe pipe];//エラー出力先
NSPipe *pOutput = [NSPipe pipe];//標準出力先

[task setLaunchPath:@"/usr/bin/cal"];//起動するシステムコマンド calendar
[task setArguments:[NSArray arrayWithObjects:@" 8 2002",nil]];//渡す引数

NSLog([[task environment] description]);

//標準出力先
[task setStandardOutput:pOutput];
//エラー出力先
[task setStandardError : pError];
//実行
[task launch];
//終了まで待つ
[task waitUntilExit];
{
//エラーのデータ
NSData *dataError = [[pError fileHandleForReading] availableData];
//標準出力データ
NSData *dataOutput = [[pOutput fileHandleForReading] availableData];
//エラー出力
NSLog([NSString stringWithFormat:@"error-%s",[dataError bytes]]);
//標準出力
NSLog([[NSString alloc] initWithData:dataOutput
                                encoding:NSShiftJISStringEncoding
                                ]);
        }
}

@end