問題タブ [nstask]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
781 参照

cocoa - 'cat'コマンドでのNSTaskの問題

catコマンドを使用してファイルを連結してみます。ターミナルでこれを使用すると、すべてが正常に機能します:

NSTaskを使用してこれを再現しようとすると、以下のエラーが発生します。

コード:

NSLog出力:

エラー :

「startTaskWithLaunchPath:andArguments:showingProcess:」は、他の多くのターミナルコマンドで正常に機能しますが、問題ではないと100%確信しています。

0 投票する
1 に答える
163 参照

bash - bash スクリプトの IBAlert 出力

私は NSTask を使用して bash スクリプトを実行し、完全に動作しますが、最後にアプリに iBAlert を作成させたいのですが (esay :D)、それは bash スクリプトの行を示しています (例: Pacthing hlll... Pathing dlll. .. 正常にパスされた dlll、hlll (なんでも))。IBAlert に "Successfully pathed..." の部分が必要です。出来ますか?

ありがとう

0 投票する
2 に答える
1813 参照

cocoa - クラッシュの原因となる NSTask 起動

この端末コマンドを使用して XML ファイルをインポートできるアプリケーションがあります。

/path/to/main\ app.app --args myXML.xml を開く

これは問題なくうまく機能します。そして、Applescriptを使用してシェルからこのコマンドを起動しましたが、同様に機能します。それでも、次のコードを使用して Cocoa の NSTask Launcher を使用しようとすると:

アプリケーションは最初の画面まで起動し、[次へ] ボタンをクリックするか、ウィンドウを閉じようとするとクラッシュします。これで NSAppleScript を使用してみました:

これによりプログラムが起動し、同様にクラッシュし、Xcode デバッグ ウィンドウに次のエラーが表示されます。

だから研究で私はこれを思いついた:

しかし、これは最後のコマンドと同じ結果を引き起こします。このクラッシュの原因についてのアイデアはありますか?

0 投票する
2 に答える
1366 参照

objective-c - NSTask を使用して Tail -f に似たものを取得するにはどうすればよいですか

ログ ファイルに最後に追加された行をリアルタイムで読み取り、追加された行をキャプチャする必要があります。

Tail -f に似たもの。

したがって、私の最初の試みは、NSTask を使用して Tail -f を使用することでした。

以下のコードを使用して出力が表示されません。

次を使用すると、出力が期待どおりに表示されます。

  1. そのテール NSTask の出力をキャプチャするにはどうすればよいですか?

  2. ストリームをファイルに開き、行が追加されるたびに画面に出力できるこの方法に代わるものはありますか? (基本的なロギング機能)

0 投票する
2 に答える
481 参照

cocoa - rsync NSTask メソッドで除外オプションをラップする

NSTask で rsync をラップし、exclude オプションを使用して隠しファイル (ドット ファイル) を同期させようとしています。これはコマンドラインで機能することを知っています:

私の NSTask は次のように定義されています。

除外引数がなければ、問題なく動作します。実際、上記の定義で問題なく動作しますが、隠しファイルは引き続きコピーされます。

私が試してみました:

  • バックスラッシュで単一の目盛りをエスケープする
  • エスケープされた二重引用符の使用
  • エスケープするバックスラッシュをエスケープするために 2 つのバックスラッシュを使用する
  • --exclude= を使用せず、@"'.*'" である別の配列要素で --exclude のみを使用する

私が望む結果が得られるものは何もないようです。

どんな提案でも大歓迎です。

0 投票する
2 に答える
1649 参照

cocoa - NSTaskが終了しない

NSTaskを使用してUNIXの「apropos」コマンドを実行しようとしています。これが私のコードです:

問題は、これが二度と戻らないことです。また、Appleのサンプルコード(TaskWrapper)を使用してみましたが、出力(3つのセグメント)が返されますが、processFinishedハンドラーが呼び出されることはありません。

さらに、appendOutput:ハンドラーは重複を受け取ります。したがって、たとえば、aproposがこれを返す場合:

1 2 3 4 5

私はこのようなものを受け取るかもしれません:

1 2 3

1 2 3 4

5

(3つの追加メッセージにグループ化されます)。

Aproposは、データを直接標準出力に直接出力するのではなく、コマンドラインで上下にスクロールできる形式で出力を表示することに注意してください。NSTaskとNSPipeを介してこれを確実に読み取るにはどうすればよいですか?

0 投票する
3 に答える
507 参照

cocoa - NSTask 出力フォーマット

/usr/bin/man からの出力を取得するために NSTask を使用しています。出力を取得していますが、書式設定 (太字、下線) はありません。次のように表示されます。

下線付きの太字テキスト

(イタリック体のテキストには実際に下線が引かれていることに注意してください。ここでは書式はありません)

代わりに、次のように返されます。

_u_n_d_e_r_l_i_n_e の BBoolldd テキスト

ダウンロードして実行できるhttp://cl.ly/052u2z2i2R280T3r1K3cに最小限のテスト プロジェクトがあります。ウィンドウは何もしないことに注意してください。出力はコンソールに記録されます。

何らかの形で NSData オブジェクトを手動で解釈する必要があると思いますが、どこから始めればよいかわかりません。理想的にはそれを NSAttributedString に変換したいのですが、最初の仕事は実際には重複とアンダースコアを排除することです。何かご意見は?

0 投票する
1 に答える
817 参照

objective-c - Cocoa の質問 - NSTask が機能しない

NSTask が機能していません。それは引数に関係していると思います。これが私のコードです:

ありがとう

0 投票する
4 に答える
2910 参照

objective-c - NSTask を起動して前面に表示する

NSTask を使用して別のアプリケーションを起動しようとしています

これが機能している間、メインの GUI ウィンドウは前面に表示されません。

別のファイル名で繰り返し呼び出すと、アプリのインスタンスが 1 つしか実行されていない場合でも、新しいファイルがアプリに読み込まれます

ポインターはありますか?試してみSetFrontProcessましたが、遅延を導入しても効果がないようです

NSRunningApplication を調べましたが、10.5 では利用できないようですが、10.5 と 10.6 の両方のソリューションが必要です

0 投票する
2 に答える
1981 参照

objective-c - NSTask を実行しようとしましたが、エラーが発生しました

コマンド「kick」を使用して起動しようとしているスタンドアロン (サードパーティ) アプリがあります。~/.bash_profile ファイルと /etc/bashrc ファイルをセットアップして、ターミナル ウィンドウに kick [command] と入力すると、完全に機能するようになりました。したがって、すべてが正しくセットアップされていると想定しています。

問題は、NSTask を使用しようとすると発生します。

基本的に、私がやっていることは、kickBuild と kickOut という 2 つの可変配列を作成することです。1 つはコマンド (フラグの文字列) を組み立てるためのもので、もう 1 つは NSTask で使用するためのものです。kickBuild をスペースで区切られた文字列に変換し、それをオブジェクトとして 2 番目の配列に追加します。

したがって、私のコマンドは「kick -i /path/to/input/file.ext -as 2 -g 2.2」などのようになります。これを端末ウィンドウに入力すると、うまく機能します。

アプリをビルドしてこのコードを実行すると、このエラーが発生します…</p>

dyld: ライブラリがロードされていません: build/darwin_x86_64/gcc_opt_dynamic/core/libai.dylib

参照元: /Users/Gene/Kick/Kick-3.3.4.0/bin/kick

理由: 画像が見つかりません

これは kickOut の NSLog です… kick -i /Users/Gene/Test_Main.0001.ext -r 960 540 -as 2 -g 2.2 -v 5 -dp

これは私が間違っていることですか?それともキックの問題?

NSTask を正しく使用していることを確認するために、基本的な端末タスクで NSTask をテストするにはどうすればよいですか?

@"-c" なしでこれを実行すると、次のようになります: /bin/sh: ls ~/Desktop: No such file or directory

どんな助けでも大歓迎です。

どうもありがとう