2015-05-15 8 views
7

Ein neu erstelltes Bereitstellungsprofil scheint nicht mehr mit älteren Versionen der gleichen App kompatibel zu sein. Die neue App funktioniert mit dem neuen Profil, wir möchten jedoch nicht alle Apps aktualisieren, die mit älteren Versionen von Backends verknüpft sind und nicht alle mit der neuesten App kompatibel sind. Wir müssen die Profile in Kürze erneuern, damit die alten Apps weiterhin funktionieren. Wir haben das schon vorher gemacht, aber jetzt haben wir die folgenden Probleme.Ist es möglich, Bereitstellungsprofile zu erneuern, ohne iOS-Unternehmensanwendungen aktualisieren zu müssen?

Wenn die App mit einem aktualisierten Bereitstellungsprofil öffnen, schlägt es mit dieser Nachricht in der Konsolenprotokoll:

entitlement 'com.apple.developer.team-identifier' has value not permitted by provisioning profile 'My Profile' 

Wenn das Profil der Prüfung, es stellt sich heraus, dass das Array Team Kennungen enthält nun nicht mehr ein Array, aber ein einzelnes Element.

Zurück Provisioning-Profil:

<key>com.apple.developer.team-identifier</key> 
<array> 
    <string>SomeIdentifier</string> 
</array> 

Erneute Provisioning-Profil:

<key>com.apple.developer.team-identifier</key> 
<string>SomeIdentifier</string> 

Ist es möglich, ein Team-Kennung zu einem iOS-Provisioning-Profil hinzufügen? Auf diese Weise würde es wieder zu einem Array werden.

Im Xcode-Projekt konnte ich die Teamkennung an zwei Stellen finden. In der Datei pbxproj und in einem Zertifikat. Es sieht nicht so aus, als wäre es möglich, im Projekt identische Bezeichner für dasselbe Ziel hinzuzufügen, da es sich um eine Schlüssel/Wert-Paarstil-Zuweisung handelt.

Ich habe auch versucht, das neue Provisioning-Profil zu hacken und die Array-Tags einfach um das Element zu wickeln (in der Hoffnung, dass es außerhalb des Signaturbereichs liegen würde). Leider stürzt Xcode ab, wenn ich versuche, das gehackte Profil auf einem Gerät zu installieren (geht wahrscheinlich nicht mit Signatur-Ausnahmen um).

Jede Möglichkeit, einen Bezeichner oder eine andere Möglichkeit hinzuzufügen, ein neues Profil kompatibel zu machen, wäre sehr willkommen.

Antwort

4

Ich glaube nicht, dass es eine Möglichkeit gibt, das Bereitstellungsprofil so zu bearbeiten, wie Sie es suchen. Wenn es dann ist, wird es Apple Sicherheitsverletzung sein.

Anfang Tage hatten wir die gleichen Probleme mit unserer Enterprise Apps, wo App für alle unsere Benutzer nicht mehr geöffnet wurde - und das Problem war Zertifikat abgelaufen. Ich konnte nicht finden, im laufenden Betrieb für Enterprise Apps wie wir für AppStore Apps zu erneuern.

Ich musste den Prozess des Erstellens derselben IPA mit erneuertem Zertifikat durch Jenkins automatisieren und es auf dem Server speichern, App nimmt neue binäre automatisch auf und bittet Benutzer, sie zu aktualisieren.

Wenn Sie irgendeine andere gute Weise herausfinden können - ich würde interessieren :-)

+0

Im vergangenen Jahr konnten wir es ohne Probleme, so zu tun. In diesem Jahr hat Apple ein kleines Ding verändert, das alte Apps kaputt macht. Wir scheinen keine andere Wahl zu haben, als uns damit abzufinden. Glücklicherweise wurden die alten Quelldateien in unserem Versionskontrollsystem gefunden und ich bin froh, dass die neueste Version von XCode in der Lage ist, sie zu erstellen, ohne dabei etwas zu zerstören (bisher). Es ist ein ziemlicher Aufwand und die Administratoren und das Betriebsteam sind mit der Lösung nicht allzu zufrieden. Ich hoffe, dass die Tage der ewigen Lizenzierung eines Tages zurückkehren werden. Das ist ein ziemlich teurer Witz. Danke, dass du dir die Zeit genommen hast zu antworten :-) –

Verwandte Themen