Ich habe eine Problemumgehung gefunden. Ich konnte folgendes verwenden, um dynamisch einen neuen Schlüsselbund zu erstellen, dem Schlüsselbund ein Zertifikat hinzuzufügen und den Schlüsselbund später zu entfernen:
security create-keychain -p temp "temp.keychain" security add-certificates -k "temp.keychain" "ios_distribution.cer" security unlock-keychain -p temp "temp.keychain" security cms -D -k "temp.keychain" -i "blah.mobileprovision" > <entitlements> ...do some stuff... security delete-keychain -h "temp.keychain"
Wenn Sie den Schlüsselbund für einen nicht privilegierten Benutzer festlegen möchten, können Sie den folgenden Befehl verwenden:
default-keychain [-h] [-d user|system|common|dynamic] [-s [keychain]]
Ex.
default-keychain -h "temp.keychain"
Sie können diesen Befehl über ein Shell-Skript ausführen, das vom unprivilegierten Benutzer ausgeführt wird (wie ich es tue).