1

こんにちは、ボタンから Unix コマンドを実行できません。

これは私がこれまでに持っているものです:

> #import <Cocoa/Cocoa.h>
> 
> @interface  PUPController : NSWindow { }
> - (IBAction)OpenPUP:(id)PUPC;
> - (IBAction)DestinationFolder:(id)PUPC;
> - (IBAction)Exit:(id)PUPC;
> - (IBAction)Unpack:(id)PUPC;
> 
> @end
> 
> #import "OPDFPUE.h"
> 
> @implementation PUPController
> 
> - (IBAction)OpenPUP:(id)PUPC; {
>     NSArray* fileTypes = [[NSArray alloc] initWithObjects:@"PUP", nil];
>     NSOpenPanel* openDlg = [NSOpenPanel openPanel];
>     [openDlg setCanChooseFiles:YES];
>     [openDlg setCanChooseDirectories:NO];
>     [openDlg setAllowsMultipleSelection:NO];
>     [openDlg setMessage:@"Select Playsation 3 System Software Update (PUP) File for Extraction"];
>     if ( [openDlg runModalForTypes:fileTypes] == NSOKButton )
>     {
>         NSArray* files = [openDlg filenames];
>     }
>     NSString * tvarDirectory = [openDlg directory];
>     NSString * tvarFilename = [openDlg filename]; }
> 
> - (IBAction)DestinationFolder:(id)PUPC; {
>     NSSavePanel *saveDlg  = [NSSavePanel savePanel];
>     [saveDlg setMessage:@"Select folder to save extracted contents of the Playsation 3 System Software Update (PUP) File selected"];
>     int tvarInt   = [saveDlg runModal];
>   
>     if(tvarInt == NSOKButton){
>     }
>     else if(tvarInt == NSCancelButton) {
>     return;
>     }
>     else {
>     return;
>     }
>     NSString * tvarDirectory = [saveDlg directory];
>     NSString * tvarFilename = [saveDlg filename]; }
> 
> - (IBAction)Exit:(id)PUPC; {
>     exit(0); } NSTask *pupunpack;
> 
> - (IBAction)Unpack:(id)PUPC {
>     
>     pupunpack=[[NSTask alloc] init];
>     [pupunpack setLaunchPath:@"/usr/bin/pupunpack"];
>     [pupunpack launch];
>      }
>      
>      - (id)init {
>     
>      } @end

誰かがそれを助けることができれば、それは素晴らしいことです. 基本的に私がやっていることは、ファイルを挿入し、宛先を設定すると、プログラムがそのファイルを解凍します。pupファイルを選択するための開いているダイアログがあり、次に保存先を選択するための保存ダイアログがあります。次に、現在何もしない解凍ボタンがあります。unpack ボタンには引数が必要です。誰かがそれを助けることができれば、それは素晴らしいことです.

私はObjective-Cが初めてで、これについてできる限り多くの情報を見つけようとしましたが、うまくいかないようです。これが私が使用しているUNIXアプリケーションです。

https://dl.dropbox.com/u/43729201/puunpack.zip

4

1 に答える 1

0

おそらく、コマンド引数としてファイル名と宛先ディレクトリを追加する必要があります。

[pupunpack setArguments:[NSArray arrayWithObjects:tVarFilename, tvarDirectory, nil]];
于 2012-11-20T11:58:35.463 に答える