2014-09-04 10 views
9

Ich merke, wenn ich die Schlüsselbundfreigabe in Xcode für meine iOS-App aktiviere, sagt Xcode, dass es die Schlüsselbundfreigabe zu deiner App-ID hinzufügen wird. Es scheint eine Verbindung mit meinem Konto herzustellen, da ich ein Popup mit dem Entwicklerkonto erhalte benutzen. Im Entwickler-Portal gibt es jedoch keine sichtbaren Änderungen an meinen App-IDs, und mein Bereitstellungsprofil wird nicht ungültig, wie es manchmal der Fall ist, wenn ich die Berechtigungen einer App ändere. Die Schlüsselbundfreigabe ist keine sichtbare Option zum Aktivieren/Deaktivieren in der App-ID.Ändert das Aktivieren der Schlüsselbundfreigabe Ihre AppID?

Weiß jemand, was Xcode unter den Abdeckungen hier tut? Die lokale Änderung der Berechtigungsdatei ist offensichtlich, aber ich möchte die App ID Seite davon verstehen.

Antwort

10

Jedes Schlüsselbundelement in iOS enthält ein Attribut, das als Schlüsselbundzugriffsgruppe bezeichnet wird. Eine iOS-App kann nur auf die Schlüsselbundelemente zugreifen, zu denen sie berechtigt ist. Diese Berechtigung stammt aus den Codesignierungsberechtigungen, die bei der Unterzeichnung in die App eingeprägt sind.

Standardmäßig kann eine App nur auf Schlüsselbundelemente zugreifen, bei denen die Schlüsselbundzugriffsgruppe mit der Anwendungsidentifikationscode-Signaturberechtigung übereinstimmt. Wenn ein Entwickler jedoch Schlüsselbundelemente in seinen Apps teilen möchte, kann er eine benutzerdefinierte Keychain-Access-Groups-Codesignaturberechtigung hinzufügen, die ein Array von Schlüsselbund-Zugriffsgruppen angibt, auf die die App zugreifen kann.

Normalerweise erstellt man Schlüsselbundelemente, ohne das Zugriffsgruppenattribut kSecAttrAccessGroup zu setzen. In diesem Fall werden die Schlüsselbunddienste dieses Attribut automatisch auf den Standardwert setzen. Wenn keine keychain-access-groups-Berechtigung vorhanden ist, ist der Standardwert der Wert für die Anwendungsidentifikationsberechtigung. Andernfalls ist der Standardwert der Wert des ersten Array-Elements in der Berechtigung keychain-access-groups.

Wenn Sie den Xcode Capabilities Editor im Zieleinstellungsfenster verwenden, um die Keychain Sharing zu aktivieren, fügt Xcode das erforderliche App ID Prefix (Team ID) vor den Listenelementen der Schlüsselbundgruppe zum Zeitpunkt der Erstellung hinzu. Sie können dies in der generierten Berechtigungsdatei sehen, die durch die Build-Einstellung $ (AppIdentifierPrefix) repräsentiert wird.

Verwandte Themen