NSTask работает не так, как ожидалось / на что надеялись

get_iplayer позволяет пользователю загружать файлы из службы BBC iPlayer. Они оба потрясающие.

Я пытаюсь запустить команду get_iplayer из Xcode с помощью NSTask:

NSTask *task = [[NSTask alloc] init];
[task setLaunchPath:@"/users/myuser/documents/get_iplayer_install/get_iplayer"];
NSArray *args = @[@"--type=radio",@"--pid",  @"--modes=flashaacstd,rtspaaclow",  @"b006tnvx"];
[task setArguments:args];
[task launch];
[task waitUntilExit];

Это предназначено для выполнения той же работы, что и при запуске с терминала:

get_iplayer --type=radio --pid b006tnvx

Однако он производит такой вывод:

get_iplayer v2.90, Copyright (C) 2008-2010 Phil Lewis
This program comes with ABSOLUTELY NO WARRANTY; for details use --warranty.
This is free software, and you are welcome to redistribute it under certain
conditions; use --conditions for details.

WARNING: rdf URL contained no data
WARNING: PID URL contained no RDF data. Trying to record PID directly.
INFO: Trying pid: --modes=flashaaclow using type: radio
INFO: Trying to stream pid using type radio
INFO: pid not found in radio cache
Matches:

INFO: 1 Matching Programmes

ERROR: Failed to get version pid metadata from iplayer site

WARNING: rdf URL contained no data
WARNING: PID URL contained no RDF data. Trying to record PID directly.
INFO: Trying pid: flashaacstd using type: radio
INFO: Trying to stream pid using type radio
INFO: pid not found in radio cache
Matches:

INFO: 1 Matching Programmes

ERROR: Failed to get version pid metadata from iplayer site

Program ended with exit code: 0

Принимая во внимание, что он должен производить что-то вроде этого:

введите описание изображения здесь

Я не думаю, что это вопрос get_iplayer, это мое непонимание NSTask и, вероятно, того, как работает unix.

Можете ли вы указать мне правильное направление?

Привет, Энди


person Return_Of_The_Archons    schedule 14.12.2014    source источник
comment
Вы можете попробовать stackoverflow .com / questions / 17976289 /   -  person Wain    schedule 14.12.2014


Ответы (1)


Ваши аргументы расположены в неправильном порядке. У вас есть аргумент --modes и значение между аргументом --pid в значении.

Вывод говорит об этом, говоря, что не может найти pid с именем --modes = flashaaclow

person macshome    schedule 14.12.2014