Starten Sie den Helper über eine Sandbox-Anwendung

Ich habe eine Sandkastenanwendung. Ich benötige es, um eine Hilfsanwendung (aus dem Hauptanwendungspaket) bei jedem Start zu starten. Dies schlägt jedoch fehl:

<code>NSError *error;
[[NSWorkspace sharedWorkspace] launchApplicationAtURL:helperURL
                               options:NSWorkspaceLaunchDefault
                               configuration:nil
                               error:&error];
</code>

Der Fehler ist:

Die Anwendung "Helper" konnte nicht gestartet werden, da sie beschädigt ist., NSUnderlyingError = 0x10214c700 "Der Vorgang konnte nicht abgeschlossen werden. (OSStatus-Fehler -10827.)"}

Jetzt ist der Fehler irreführend, da die App problemlos gestartet wird, wenn ich die Sandbox-Berechtigung deaktiviere. Anscheinend ist dies ein Fehler, wie berichtetHier.

Meine Frage ist:Gibt es eine Problemumgehung?

ich könnte benutzenSMLoginItemSetEnabled, wie beschriebenHier:

Bestehentrue um die Hilfsanwendung sofort zu starten und anzugeben, dass sie jedes Mal gestartet werden soll, wenn sich der Benutzer anmeldetfalse um die Hilfsanwendung zu beenden und anzugeben, dass sie nicht mehr gestartet werden soll, wenn sich der Benutzer anmeldet.

Aufgrund der App Store Review Guideline 2.26 kann ich diese API jedoch nicht verwenden, ohne den Benutzer vorher zu fragen:

Apps, die so eingestellt sind, dass sie beim Start oder bei der Anmeldung ohne Zustimmung des Benutzers automatisch gestartet werden oder ein anderer Code automatisch ausgeführt wird, werden abgelehnt

Wenn Sie diese Problemumgehung verwenden, müssen Sie den Benutzer fragen: "Ist es in Ordnung, bei jeder Anmeldung einen Helfer zu starten? Wenn nicht, können Sie diese App nicht verwenden!" Offensichtlich ist das nicht ideal ...

Antworten auf die Frage(2)

Ihre Antwort auf die Frage