Могу ли я использовать NSTask на iPhone для приложения, которое я не распространяю? - PullRequest
3 голосов
/ 14 июля 2011

Мне не удалось найти много информации об этом, но я видел несколько подсказок о том, что можно использовать NSTask в приложении для iPhone. Если это возможно, как бы я поступил так?

Я не хочу делать джейлбрейк моего iPhone, но приложение, которое я разрабатываю, предназначено только для внутреннего использования; он не будет распространяться, поэтому мне все равно, отклонит ли Apple приложения, использующие NSTask.

ОБНОВЛЕНИЕ: я попробовал это сделать, скопировав файл заголовка NSTask.h в свой проект, и смог успешно скомпилировать код. Хорошо до сих пор. Когда я запустил код, все пошло не так. Я мог бы создать задачу и вызвать ее метод setLaunchPath, но когда я попытался ее запустить, я получил ошибку «путь запуска недоступен». Тем не менее, путь запуска должен быть в порядке, поскольку процесс, который я пытаюсь запустить, - это программа, которую я скопировал через сокет, и я использую тот же путь, который я использовал для записи файла, так же, как и для пути запуска задача. Означает ли это, что файловая система iOS не позволяет мне получить доступ к файлу для его запуска, хотя я могу получить доступ к этому месту, чтобы открыть и записать файл? Или более вероятно, что я где-то совершаю еще одну ошибку?

1 Ответ

1 голос
/ 15 июля 2011
id x = NSClassFromString(@"NSTask");
if (x) {
   NSLog(@"Yes, you can.");
}
else {
   NSLog(@"No, you can not.");
}
...