3 Stimmen

Unterzeichnung der iPhone-Konzeptfrage: Warum ist eine Ad-hoc-Bereitstellung erforderlich?

Ich muss hier etwas begrifflich übersehen haben und hoffe, dass mich jemand aufklären kann.

Mir ist nicht ganz klar, warum Ad-hoc-Bereitstellungen von iPhone-Anwendungen notwendig sind und warum nicht stattdessen Entwicklungs-Builds verwendet werden können.

Insbesondere verstehe ich nicht, warum ich jemandem nicht einfach mein Entwicklungs-Bereitstellungsprofil und meine Anwendung schicken kann, solange seine Rechner-ID in meinem Entwicklungs-Bereitstellungsprofil enthalten ist.

Also füge ich im Apple Provisioning Portal unter Geräte die Geräte-ID meines iPhones und die meines Freundes hinzu. Unter Zertifikate reiche ich eine CSR ein, die meines Wissens nach nichts Spezifisches über mein Gerät enthält (es wird ein privater Schlüssel auf meinen Rechner geschrieben, aber ich glaube nicht, dass in der CSR etwas Spezifisches über mein Gerät steht). Ich erhalte dann ein Zertifikat, das ich herunterlade. Dann erstelle ich ein Entwicklungsbereitstellungsprofil. Dabei wähle ich das soeben erstellte Zertifikat aus (im Namen meines Unternehmens, aber ohne Angaben zu meinem Gerät) und überprüfe alle Geräte, auch die meines Freundes. Dann lade ich dieses Bereitstellungsprofil herunter und installiere es auf meinem iPhone (und nur dieses Bereitstellungsprofil, keine anderen Profile oder Zertifikate oder irgendetwas auf meinem Gerät). Dann erstelle ich meine Anwendung und signiere sie mit diesem Entwicklungs-Provisioning-Profil. Anschließend kann ich die erstellte .ipa-Datei auf meinem iPhone installieren, und sie funktioniert.

Was hält mich also davon ab, meinem Freund (dessen Geräte-ID ich beim Erstellen des Entwicklungs-Bereitstellungsprofils überprüft habe) dieselben Entwicklungs-.mobileprovision- und .ipa-Dateien zu schicken, und er kann genau dasselbe installieren und ausführen?

Erreiche ich damit nicht den gleichen Effekt wie bei der Ad-hoc-Bereitstellung, ohne die zusätzlichen Schwierigkeiten der Ad-hoc-Bereitstellung? (wovon es zugegebenermaßen nicht viele gibt, aber es gibt einige)

3voto

Giao Punkte 14109

AdHoc ist keine Entwicklungsdistribution; es ist eine Release-Distribution ohne den App Store. Es handelt sich um eine Umgebung auf Produktionsebene. Für die meisten Apps bedeutet das nicht viel, aber für Apps, die mit iAd oder Push-Benachrichtigungen arbeiten, ist das eine große Sache.

So werden bei der iAd-Entwicklung beispielsweise Anzeigen mit einer höheren Fehlerhäufigkeit (etwa 80 % Fehler) erstellt, damit die Entwickler die Fehlerbedingungen ausarbeiten können. Diese Fehlerbedingungen treten in Produktions-iAd-Umgebungen (App Store/Ad Hoc-Builds) weniger häufig auf.

0voto

hotpaw2 Punkte 69093

Die Ad-hoc-Bereitstellung ermöglicht es Beta-Testern ohne Zugang zu einem Mac oder einem Mac mit Entwickler-Tools, die Anwendungen des Entwicklers zu installieren. Der Ad-Hoc-Empfänger kann iTunes auf einem Windows-PC verwenden. Solange die UDID seines Geräts eine der bis zu 100 beim Entwickler registrierten ist, kann er eine Ad-Hoc-App installieren, die ihm per E-Mail zugesandt wurde.

Die Offenlegung eines privaten Schlüssels, der es einer anderen Person ermöglichen würde, Anwendungen mit dem registrierten Namen des Entwicklers zu signieren, ist nicht unbedingt etwas, was jeder Entwickler einem Fremden überlassen möchte, nur damit dieser seine Anwendung testen kann.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X