Песочница, элементы входа и запуск приложения

Пытаясь заставить мое приложение работать с песочницей, я застрял в этой проблеме:

Мне нужно добавить свое приложение в элементы входа, поэтому я выполнил следующие шаги:

  • Создание HelperApp.appis agent = YES)что при открытом исполнении этот код:

    NSString *appPath = @"/Applications/MyNewApp.app";
    [[NSWorkspace sharedWorkspace] launchApplication:appPath];
    [NSApp terminate:nil];
    

    Это приложение находится в песочнице.

  • Я добавил фазу сборки копирования в свой пакет MyNewApp.app с подпутью Contents/Library/LoginItemsи пунктом назначения wrapper

    . И, очевидно, MyNewApp.app находится в песочнице

  • В MyNewApp.app я зарегистрировал с SMLoginItemSetEnabledидентификатор пакета для HelperApp.app

Теперь все работает правильно, но... когда MyNewApp.app пытается запустить MyNewApp.app я получаю сообщение об ошибке:

LSOpenFromURLSpec() returned -10827 for application /Applications/MyNewApp.app path (null).

Но если я попытаюсь использовать HelperApp.app для запуска не изолированного приложения (, то есть Steam.app ), оно работает как шарм!

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

6
задан pkamb 31 July 2018 в 19:16
поделиться