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)