Inicie o auxiliar a partir do aplicativo sandbox
Eu tenho um aplicativo em sandbox. Eu preciso disso para iniciar um aplicativo auxiliar (a partir do pacote do aplicativo principal) toda vez que ele for iniciado. No entanto, isso falha:
<code>NSError *error; [[NSWorkspace sharedWorkspace] launchApplicationAtURL:helperURL options:NSWorkspaceLaunchDefault configuration:nil error:&error]; </code>
O erro é:
Não foi possível iniciar o aplicativo "Helper" porque está corrompido., NSUnderlyingError = 0x10214c700 "A operação não pôde ser concluída. (Erro OSStatus -10827.)"}
Agora, o erro é enganoso, porque o aplicativo é iniciado corretamente se eu desabilitar o direito à sandbox. Aparentemente, isso é um bug, como relatadoAqui.
Minha pergunta é:Existe uma solução alternativa?
eu poderia usarSMLoginItemSetEnabled
como descritoAqui:
Passartrue
para iniciar o aplicativo auxiliar imediatamente e indicar que ele deve ser iniciado sempre que o usuário efetuar login.false
para finalizar o aplicativo auxiliar e indicar que ele não deve mais ser iniciado quando o usuário efetuar login.
Mas não posso usar essa API sem perguntar ao usuário primeiro, devido à Diretriz de revisão da loja virtual 2.26:
Os aplicativos definidos para inicialização automática ou para que outro código seja executado automaticamente na inicialização ou no login sem o consentimento do usuário serão rejeitados
Portanto, usar essa solução alternativa significa pedir ao usuário "É correto iniciar um assistente toda vez que você fizer login? Se não, você não poderá usar este aplicativo!" Claramente, isso não é ideal ...