2012-04-03 3 views
1

Мы используем небольшое вспомогательное приложение для запуска нашего основного приложения после входа в систему. Но мы не можем запустить наше основное приложение, потому что LSOpenFromURLSpec() возвращает код ошибки -10827.OS X Песочница: LSOpenFromURLSpec() возвращено -10827

Это не имеет значения, если мы используем:

[[NSWorkspace sharedWorkspace] launchApplication:@"/Applications/Appname.app"]; 

или:

[[NSWorkspace sharedWorkspace] launchApplication:@"Appname"]; 

Он возвращает каждый раз ошибки. Как мы можем это исправить?

+0

Такая же проблема здесь. Вы нашли решение? – Mark

+0

no havn't не нашел решение, которое работает каждый раз и на каждом Mac ... :( – fabianpimminger

+0

Вы нашли решение? – MatterGoal

ответ

1

Попробуйте это:

[[NSWorkspace sharedWorkspace] launchApplication:@"/Applications/Appname.app/Contents/MacOS/Appname"]; 
+0

В документах 'NSWorkspace' явно указано, что полный путь не требуется. –

+0

@moretension Я знаю, что говорит doc. Вот как я его заработал. –

5

По заголовкам LaunchServices, что ошибка означает, что не может найти исполняемый файл в приложении пачке:

kLSNoExecutableErr   = -10827, /* The executable is missing*/ 

вы намекаете на OS X песочницу в вашем , поэтому я предполагаю, что вы столкнулись с этой проблемой с изолированным программным обеспечением. Возможно, вам не разрешено запускать другие приложения с текущими правами вашего приложения. Простым способом тестирования было бы написать неограниченный инструмент командной строки, который вызывает только -launchApplication:.

0

насчет:

NSRunningApplication *newAppRunning = [[NSWorkspace sharedWorkspace] launchApplicationAtURL:[[NSBundle mainBundle] bundleURL] options:NSWorkspaceLaunchAsync | NSWorkspaceLaunchNewInstance configuration:nil error:&erroer]; 

Это позволит возобновить текущее приложение. Вероятно, это работает, если они оба находятся в одной группе приложений.

см. Также: Is it possible to relaunch an app when sandbox deployed?

+0

Это работало? Тогда вы могли бы отметить вопрос как ответ. –