NSTask 'путь запуска не доступен' - PullRequest
0 голосов
/ 12 января 2012

Мое приложение требует, чтобы файл dylib находился в / usr / lib /. Если его там нет, приложение копирует dylib в / usr / lib / из каталога ресурсов приложения. Для этого я использую вспомогательный инструмент, который вызывает /usr/bin/sudo.

Хотя это приложение работает корректно на многих системах, я только что получил сообщение об ошибке, в котором приложение, по-видимому, не может найти путь запуска вспомогательного инструмента.

У кого-нибудь есть идеи, почему это будет работать на многих системах, но работать только на одной?

Код:

if (!libraryExists) {
    NSLog(@"dylib does not exist at usr/lib. Launching helper tool to duplicate dylib in application directory\n");         
    NSArray *args = [NSArray arrayWithObjects:helperToolPath, @"setup", nil];
    [NSTask launchedTaskWithLaunchPath:helperToolPath arguments:args];  
}

Лог:

2012-01-11 09: 53: 59.008 Приложение [1860: b07] Путь вспомогательного инструмента установлен в: /Users/xx/Downloads/Application.app/Contents/Resources/HelperTool

2012-01-11 09: 54: 00.585 Приложение [1860: b07] dylib не существует в usr / lib. Запуск вспомогательного инструмента для дублирования dylib из каталога приложения

2012-01-11 09: 54: 00.587 Путь запуска приложения [1860: b07] недоступен

1 Ответ

1 голос
/ 12 января 2012

Если пользователь не входит в группу администраторов, он может не иметь разрешения на запуск вашего вспомогательного приложения.Вы можете создать новую учетную запись пользователя без прав администратора, чтобы проверить эту теорию.

...