48

Ich hatte den Eindruck, dass, wenn Sie ein Development Provisioning-Profil für einen Build einer App verwenden, nur die angegebenen Entwickler dieses Build auf einem Telefon bereitstellen können.Warum nicht die Entwicklungsbereitstellung statt Ad-hoc verwenden?

Aber ich habe gerade ein Build, das ein Entwicklungsprofil zu einem Telefon mit Xcode Organizer verwendet, obwohl ich nicht einer der gültigen Entwickler für dieses Profil bin. Einer meiner Kollegen, der nicht einmal Xcode installiert hat, hat dasselbe mit seinem Telefon über iTunes gemacht.

Verwenden Sie in diesem Fall ein Entwicklungsbereitstellungsprofil zum Verteilen Ihrer App an z. Ihr QA-Team statt Ad-hoc-Verteilung?

EDIT: Bitte lesen Sie den fett gedruckten Teil sorgfältig, bevor Sie antworten. Ich stelle keine grundlegende Frage "wie geht das?". Ich habe viele Entwicklungs-, Ad-hoc- und App-Store-Builds erstellt, und jetzt stelle ich fest, dass ich scheinbar falsche Annahmen gemacht habe.

Antwort

71

Es gibt eine Situation, in der Sie ein Ad-hoc-Profil benötigen und das ist, wenn Sie Push-Benachrichtigungen testen möchten.

Wenn Sie Push-Benachrichtigungen in einem Development Provisioning-Profil testen, müssen Ihre Push-Benachrichtigungen mit dem Development Push Notification-Zertifikat für Ihre SSL-Verbindungen zum Apple-Sandbox-APNS-Server gesendet werden.

Wenn Sie Push-Benachrichtigungen mit dem Production Push Notification-Zertifikat und den Live-APNS-Servern testen möchten, müssen Sie Ihre App mithilfe eines Verteilungszertifikats und eines Ad-hoc-Bereitstellungsprofils auf einem Gerät bereitstellen. Dies kann normalerweise übersprungen werden, wenn Sie nur Entwickler-Bereitstellungsprofile verwenden.

Beachten Sie außerdem, dass sich Ihr Geräte-Token bei der Bereitstellung mit einem Ad-hoc-Profil von dem unterscheidet, das Sie bei der Verwendung des Entwicklungsprofils verwenden. Dies ist auch die empfohlene Methode zum Testen von APN, da es keine Back-End-Änderungen zwischen dem Ad-hoc-Build und der endgültigen Live-Bereitstellung im AppStore gibt.

+0

Ist es möglich, mit Ad Hoc auf demselben Gerät zu testen, das Sie mit dem Entwicklungsprofil verwendet haben? Ich glaube, ich mache alles richtig, aber keine Warnungen. Ich habe das Gefühl, weil ich die Warnungen auf dem Gerät mit dem Entwicklungsprofil zuerst autorisiert habe. – steve

+3

Ich glaube, was Sie in dieser Antwort sagen, ist wahr, dass Push-Benachrichtigungen das Hauptproblem sind, das diese unterscheidet, aber wenn das wahr ist, warum empfiehlt Apple Dokumentation wiederholt die Notwendigkeit, Verteilungsprofile für die Freigabe unter Teammitgliedern einzurichten. Überall in ihren Dokumenten heißt das, dass Sie mehr als ein Entwicklerprofil benötigen, um es mit anderen zu teilen, auch wenn das nicht der Fall zu sein scheint. Hat sich etwas verändert? Siehe: http://developer.apple.com/library/ios/#technotes/tn2250/_index.html#//apple_ref/doc/uid/DTS40009933-CH1-TROUBLESHOOTING_GUIDE-CODE_SIGNING_ENTITLEMENTS – beno

+0

Ich habe eine Frage bitte sorgfältig gelesen. Es wird nicht in dieser Frage erwähnt. Kann ich Push-Benachrichtigungen mit einem Ad-hoc-Profil mit Entwicklungs-Push-Benachrichtigung für SSL testen? – hasan83

7

Ad-Hoc ist nicht für Entwickler, sondern für Tester. Wer hat kein iPhone SDK/XCode, nur iTunes.

(Die Antwort lautet: Sie Ad-hoc-App ohne Entwickler-Zertifikat installieren können, und es mit der Entwicklung App nicht tun können)

+2

Aber ich bin * in der Lage, eine Entwicklungsanwendung ohne das Entwicklerzertifikat zu installieren, solange ich das Entwicklungsbereitstellungsprofil habe. Enthält das Entwicklungsbereitstellungsprofil den privaten Schlüssel des Entwicklers? Funktioniert das deshalb? – lawrence

+0

Nun, das ist interessant. Ich muss ein bisschen mehr graben, um das zu beantworten. – bealex

+0

Und können Sie übrigens Entwickler Build ohne Xcode überhaupt installieren? – bealex

-1

Methode 1: von XCode installieren

Das Profil Development Provisioning erfordert, dass Sie die App (anfangs) von XCode aus ausführen.

Dies hat den Nebeneffekt, dass das Gerät als für die Entwicklung verwendet markiert wird, aber Sie müssen auch das iPhone/iPod Touch mit dem Gerät verbinden, auf dem XCode ausgeführt wird. Sobald Sie die App über XCode ausführen, wird die App auf dem Gerät installiert und Sie müssen nicht mehr mit dem Computer verbunden sein, um sie auszuführen. (Bis Sie die App aktualisieren möchten.)

Methode 2: Installieren von iTunes

Ein Ad-Hoc-Profil Provisioning ermöglicht es Ihnen, die App zu jedermann zu geben und lassen Sie sie es selbst installieren Sie iTunes verwenden. Sie schicken sie:

  • die App und
  • der Ad-hoc-Provisioning-Profil

Sie wählen diese beiden und ziehen Sie sie auf iTunes. Dann synchronisieren.

Später können Sie ihnen nur eine aktualisierte Version der App geben (ohne das Ad-Hoc Provisioning-Profil, da sie das bereits auf ihrem Gerät installiert haben) und sie können die neue App auf das iTunes-Symbol ziehen die neue Version.

Eine Einschränkung der Ad-Hoc-Verteilung besteht darin, dass Sie jede Geräte-ID in das iPhone-Entwicklungsportal eingeben müssen. Und es gibt ein Limit für 100 Geräte-IDs pro Jahr (Sie können keine IDs löschen, bis Ihr nächstes Jahr beginnt - fügen Sie sie nur hinzu). Das 100-ID-Limit stellt für die meisten Entwickler kein Hindernis dar. Bedenken Sie jedoch, dass Sie die Geräte-ID im Voraus abrufen müssen, bevor Sie das Ad-Hoc-Bereitstellungsprofil erstellen, das an die Person gesendet wird, die Sie installieren möchten .

+0

Sie beantworten meine eigentliche Frage nicht. – lawrence