問題タブ [nspipe]

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 に答える
1350 参照

macos - Swift で NSTextField の stringValue を変更する

からNSTextField のをViewController変更して の内容を変更しようとしていますが、エラーが発生します。stringValueAppDelegate

のコードAppDelegateは次のとおりです。

から呼び出されますViewController:

は以前NSTextFieldIBOutlet作成されたものです。

後で変更しようとしました:

しかし、私が得るのは

致命的なエラー: オプション値のラップ解除中に予期せず nil が見つかりました

私は何を間違っていますか?

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

objective-c - Cocoa アプリとコンソール アプリ間の通信

2 つのアプリケーションがあり、1 つは UI (Cocoa アプリ) を備えています。もう 1 つはコンソール アプリです。

私の要件は、CocoaApp でユーザー入力を受け取り、それを処理して ConsoleApp に渡し、値を返すことです。

私はこのようなことを試しました。データを送信して処理することはできますが、戻すことはできません。NSDistributedNotification を使用してはなりません。Google で調べたところ、NSPipe が機能することがわかりましたが、パイプを実現して使用する方法を理解できません。提案して理解を助けてください。

私のコードはここにあります:

CocoaApp では:

ConsoleApp で:

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

objective-c - 対話型コマンドに NSPipe を使用する

パイプから読み書きできるようにしたいOS Xアプリ内でインタラクティブなプロセスを起動しています。

例: プロセスの起動は、ユーザーがコマンドを入力するのを待ちます。ユーザーが終了すると (エンターが押されると)、プロセスは何かを返し、再びユーザーを待ちます。

今のところ、NSPipe通信にクラスを使用していますが、問題はメソッドが呼び出されたときに、通知を受け取るためにwriteData:呼び出さなければならないことです。closeFileNSFileHandleDataAvailableNotification

完全なコード (変更されたフォルダー パス) はこれです

最初の通知 (プロセスが応答中) をwriteData:受け取りますが、呼び出された後に通知が来ないことに注意してください。

コミュニケーションを達成する方法。

  1. ローンチされる (そして、アプリのライフサイクルを通じてローンチされたままになる)

  2. 書き込みと読み取りがサポートされています

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

swift - OpenSSL - OS X アプリケーションで件名が「/」で始まらない

私は現在、OS X アプリケーションのテキスト フィールドから情報を収集し、openssl バイナリにアクセスして、それらのテキスト フィールドに基づいて CSR と秘密鍵を生成するアプリケーションに取り組んでいます。これが現在のコードです

ただし、次のようなエラーが表示されますSubject does not start with '/'。明らかにそうであるにもかかわらず、私の主題がその/で始まっていないと述べている理由について、誰かが私に何らかの考えをぶつけてくれることを望んでいました.

皆さんありがとう

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

swift - Swift NStask 関数

私は完全な迅速な初心者です。このコードを xcode で使用すると、必要な結果が得られます。いくつかの引数を取るコマンド ライン バイナリ「メニューバー」を作成しました。通常、ターミナル「/bin/menubar getip」、「/bin/menubar/getuser」で実行します。次の作業コードに基づいて関数を作成したいと思います。

関数に変換したい。

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

swift - NSPipe にデータが書き込まれていないことをテストする方法

私は最近、ロギング フレームワークに取り組んでおりNSPipe、ログ メッセージをコンソールに表示したくない場合は、ユーザーがログを停止するように指定できるようにしています。

Logger有効または無効にすることができ、無効にするとパイプにデータを送信しません。

ロガーが有効になっているときにデータがパイプに送信されたかどうかを確認するのは簡単です。これは、availableDataすぐにデータが含まれ、NSFileHandleDataAvailableNotification/readabilityHandler ブロックがトリガーされるためです。

ただし、データがパイプに送信されていないことをテストし、データを含まない同じアイデアを適用しようとすると、データが受信された後にのみ返さavailableDataれるため、テストはタイムアウトします。availableData

通知をリッスンするという1つの解決策を思いつきました。X秒後に通知が受信されない場合は、通知が受信されていないという期待を満たし、期待が2回満たされることを前提としています(テストが失敗する原因となります) 通知が受信された場合。

このアプローチの問題は、何らかの理由でパイプが何らかのデータを受信した場合、readabilityHandlerブロックで期待が満たされると、テストはすぐに成功し、期待が2度目には満たされないことです。

パイプがデータを受信した場合はテストに失敗し、そうでない場合はテストに合格するより良いアプローチは何でしょうか?