Objective-Cで書かれたアプリケーションを持っていて、Cで書かれたアプリケーションからメッセージを受け取ろうとしています。私は2つのオプションがあります。XPCサービスと配管。 NSPipeに関して、私は新しいデータのために与えられた場所のファイルを見るパイプをどのように開くことができるかを判断しようとしています。簡単に言えば、新しいデータがパスXYZでファイルに書き込まれるタイミングを知る必要があります。しかし、NSPipeで見つかったすべての例は、お互いに通信するタスクのように見えます。これらのタスクはすべて、同じ中央アプリケーションによって生成され、所有されています。代わりに、あるプロセスの入力を別のプロセスの出力として割り当てます。私はCベースのアプリケーションを所有していないので、自分が所有するタスクの入力としてそのCプログラムの出力を割り当てることはできません。代わりに、私はデータがファイルに書き込まれることを期待しており、いつ到着するかを知る必要があります。どうすればこれを達成できますか?プロセスからのNSPipe入力が制御されない
0
A
答えて
0
私はこのコードがどこから得られたのか分かりませんが、私はこのコードをどこかでstackoverflowにコピーしただけです。このコードはファイルを監視し、監視しているファイルが変更されたときにif()条件内のステートメントを実行します。
-(void)monitorFile:(NSString*) path
{
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
int fildes = open([path UTF8String], O_EVTONLY);
__block typeof(self) blockSelf = self;
__block dispatch_source_t source = dispatch_source_create(DISPATCH_SOURCE_TYPE_VNODE, fildes,
DISPATCH_VNODE_DELETE | DISPATCH_VNODE_WRITE | DISPATCH_VNODE_EXTEND |
DISPATCH_VNODE_ATTRIB | DISPATCH_VNODE_LINK | DISPATCH_VNODE_RENAME |
DISPATCH_VNODE_REVOKE, queue);
dispatch_source_set_event_handler(source, ^{
unsigned long flags = dispatch_source_get_data(source);
if(flags)
{
// Do Stuff here
[blockSelf monitorFile:path];
}
});
dispatch_source_set_cancel_handler(source, ^(void) {
close(fildes);
});
dispatch_resume(source);
}
:私はからコピーした元の答えを見つけました
関連する問題
- 1. 制御されるタイプのテキストの制御されない入力
- 2. Reactの制御された要素と制御されていない要素。 _classは制御されていない入力を変更しています
- 3. ReactJS:状態の配列 - 制御されない入力
- 4. 制御されたコンポーネントをあらかじめ入力する
- 5. ReactJS警告:TextFieldは制御されるテキストタイプの制御されない入力を変更しています
- 6. 新しい入力制御
- 7. 入力フィールドがReact(制御入力)で変更されていません
- 8. ユーザ入力の制御
- 9. コマンドラインインターフェース&プロセス制御
- 10. プロセス制御ブロック
- 11. 反応制御入力入力できない[onChange]
- 12. 注入DLLからWin32プロセスを制御する(VC++。NET 2010)
- 13. 制御されていない反応入力フィールドに入力する正しい方法は何ですか?
- 14. 反応制御入力は入力値を変更させない
- 15. 制御されていないコンポーネントと制御されていないコンポーネントReactJs
- 16. プロセス入力ストリームがプロセス入力(OSX)を返していない
- 17. OS Xプロセス制御
- 18. 制御された入力を持つステートレスのリアクトコンポーネント
- 19. コンポーネントがReactJSで制御されるタイプのテキストの制御されない入力を変更しています
- 20. スクリプトで自動的に入力された入力を制御する
- 21. プロセスの検出/制御
- 22. プロセスが出力されないプロセスの出力
- 23. Reactで制御された入力を設定する
- 24. MaskedTextBoxに入力されたURLを制御する方法
- 25. プロセスがjavaで終わり、制御が先に進まない
- 26. リアクション警告:「制御されない非表示の入力を変更しています」なぜですか?
- 27. Wordpress - カスタムプラグインから制御されたカスタムメタタグ
- 28. 特定のポストコードがフォーム入力に入力されないように制限
- 29. ユーザーが入力したウェブサイトの入力を制御するにはどうすればよいですか?
- 30. ASP .Netリピータ制御出力の高さを制御する