Android: как заставить устройство работать только с одним приложением?

Вы можете использовать селектора setStandardInput:, setStandardOutput: и setStandardError: NSTask в сочетании с экземплярами NSPipe для связи с запущенной программой.

Например, чтобы прочитать вывод задачи:

task = [[NSTask alloc] init];
[task setStandardOutput: [NSPipe pipe]];
[task setStandardError: [task standardOutput]]; // Get standard error output too
[task setLaunchPath: @"/usr/bin/gdb"];
[task launch];

Затем вы можете получить экземпляр NSFileHandle, который вы можете использовать для чтения вывода задачи с помощью:

NSFileHandle *readFromMe = [[task standardOutput] fileHandleForReading]; 

Чтобы настроить канал для отправки команд в gdb, вы должны добавьте

[task setStandardInput: [NSPipe pipe]];

перед запустите задачу. Затем вы получаете NSFileHandle с

NSFileHandle *writeToMe = [[task standardInput] fileHandleForWriting];
14
задан Nahka 13 February 2017 в 08:58
поделиться