web-dev-qa-db-de.com

Xcode 8.0 Signierverhalten automatisch verwalten

Ich habe seit einiger Zeit die Option "Signatur automatisch verwalten" verwendet. Wenn ich dies jedoch in der aktuellen Xcode 8.0-Version tue, muss ich die Code Signing Identity des Entwicklers auch für die Freigabe und Verteilung in den Build-Einstellungen verwenden, was an sich recht seltsam ist. Und wenn ich die relative Binärdatei einreiche, erhalte ich die gefürchtete E-Mail mit dem Titel "Fehlende Push-Benachrichtigung" von Apple. Um dies auszugleichen, habe ich die automatische Option deaktiviert und die Profile manuell angegeben. Dadurch konnte ich das Verteilungsprofil in der Build-Einstellung für die Verteilung beibehalten und die Warn-E-Mail von Apple speichern.

Warum funktioniert die automatische Verwaltung so und was ist zu tun, um ihr Verhalten anzupassen?

19

Mit der Veröffentlichung von Xcode 8 hat Apple) eine neue Methode zur Verwaltung der Signaturkonfiguration eingeführt. Jetzt haben Sie zwei Optionen: Manual und Automatic.

Dieses neue Automatic Signing Funktioniert nicht so wie in früheren Xcode-Versionen. Zuvor verwendete Xcode beim Festlegen von Automatic Bereitstellungsprofilen das erste Bereitstellungsprofil und Zertifikat auf Ihrem Computer, das den Berechtigungen und der Paket-ID entspricht, die Sie verwenden wollten.

In Xcode 8 verwaltet Automatic Signing Profile, Berechtigungen und Zertifikate für Sie, jedoch nur für Development. Wenn Sie Automatisch auswählen, müssen Sie Development signing Und von Xcode erstellte Bereitstellungsprofile verwenden.

Am WWDC 2016 (Session 401 - Was ist neu in der Xcode-App-Signatur) erklären sie diese neue Signaturmethode und beschreiben einige 'Best Practices'. Wenn Sie für die Verteilung erstellen und Automatic Signing Oder Manual verwenden, sollten Sie für Development archivieren und dann exportieren (vom Organizer oder den Befehlszeilen-Tools xcodebuild -exportArchive). als Distribution. Der Organisator signiert Ihre App erneut für Distribution, auch wenn sie für Development archiviert wurde.

Das andere Problem, das Sie unter "Fehlende Push-Benachrichtigungsberechtigung" beschreiben, besteht darin, dass Xcode 8 die Art und Weise geändert hat, in der Berechtigungen angewendet werden. In früheren Versionen von Xcode mussten Sie die Berechtigung APS Environment Nicht explizit hinzufügen. Es war ausreichend, wenn Ihr Bereitstellungsprofil über diese Berechtigung verfügte. Vergewissern Sie sich, dass auf der Registerkarte Capabilities die Funktion Push Notification Aktiviert ist, und stellen Sie sicher, dass dort keine Fehler vorliegen.

(Bearbeiten: Dieses neue Verhalten ist beabsichtigt und in den Xcode 8-Versionshinweisen beschrieben: https://developer.Apple.com/library/content/releasenotes/DeveloperTools/RN-Xcode/Introduction.html#//Apple_ref/doc/uid/TP40001051-CH1-DontLinkElementID_44 )

Xcode 8 kopiert die APS-Umgebungsberechtigung nicht automatisch aus den Bereitstellungsprofilen zum Zeitpunkt der Erstellung. Dieses Verhalten ist beabsichtigt. Um diese Berechtigung zu verwenden, aktivieren Sie entweder Push-Benachrichtigungen im Bereich "Funktionen" des Projekteditors oder fügen Sie die Berechtigung manuell zu Ihrer Berechtigungsdatei hinzu. (28076333)

51
pablobart