Warum wird der aktuelle Bereitstellungsprozess für die iPhone-Entwicklung so implementiert, wie er ist?

Angesichts der großen Anzahl von Beispielen für Probleme mit den manuellen Schritten, die zum Bereitstellen von Geräten und Installieren von Apps mit dem Entwickler-SDK erforderlich sind, frage ich mich, warum Apple diesen Weg eingeschlagen hat.

Insbesondere scheint der Prozess fehleranfällig zu sein und könnte wahrscheinlich automatisiert werden.

Ist dies nur ein Übergangsritus oder gibt es Gründe für eine solche Umsetzung, die ich übersehe?

  • Gibt es Gründe, warum einige dieser Schritte manuell sein müssen?
  • Sieht jemand eine Möglichkeit, dies zu verbessern, oder kennt jemand einige Automatisierungen/Skripte, die dies für Entwickler, die neu auf der Plattform sind, einfacher machen?
Entschuldigung, ich hätte nicht annehmen sollen, dass Sie wussten, dass Sie den Beitrag bearbeiten können. Fühlen Sie sich frei und ich werde es wieder öffnen.
@calavera - Danke für den Vorschlag, dass ich die Frage verbessere - sie war "wütend" - jetzt etwas besser.
Kein Problem, jeder muss manchmal schimpfen :) und nochmals Entschuldigung, dass ich nicht angegeben habe, dass ich beim Bearbeiten wieder öffnen würde.

Antworten (3)

Das größte Problem ist die Schlüsselgenerierung. Die Kernsicherheit von iOS besteht darin, dass nur signierte Apps auf Ihren Geräten ausgeführt werden dürfen, es sei denn, Sie haben einen Jailbreak durchgeführt und ein Paket installiert, um dies zu umgehen, normalerweise für nicht lizenzierte Bereitstellung oder App-Piraterie.

Sie müssen einen Schlüssel basierend auf der Zertifizierungsstelle oder CA von Apple generieren. Dann laden Sie es in das Portal hoch und Apple genehmigt es, vorausgesetzt, Sie sind ein bezahlter Entwickler. Wann immer Sie eine App bereitstellen, sei es im Store oder auf Ihrem Gerät zum Testen, signieren Sie die App mit Ihrer digitalen Signatur, die von Apple unterstützt wird. Dadurch wird Ihrem Gerät oder den Geräten Ihrer Tester oder Kunden mitgeteilt, dass die App von einem Entwickler stammt, der der ist, für den er sich ausgibt. Da der Hauptweg, um eine App auf Ihr Gerät zu bekommen, der über den Store ist, haben Sie die Gewissheit, dass sie nicht manipuliert wird (da die Signatur des Entwicklers mit dem Umdrehen eines einzigen Bits in der App ungültig wird) und dass sie durch die von Apple geleitet wird Schecks, indem sie im Geschäft gehostet werden. Dies ist eine zweifache Gewährleistung der Sicherheit.

Bereitstellungsprofile sind eine ganz andere Sache. Früher ließ Apple Sie eine App auf beliebig viele Geräte „sideloaden“. Dies bedeutete, dass Sie den App Store umgehen und Apps selbst als Download verkaufen konnten, nicht anders als Desktop-Apps. Apple war damit nicht einverstanden und hat es seitdem auf 100 Geräte pro Jahr beschränkt, die auf einem einzigen Entwicklerkonto aufgeführt werden. Sie fügen Ihre Geräte anhand ihrer UDID, ihres eindeutigen Fingerabdrucks, zum Portal hinzu, und Sie müssen diese von allen Geräten abrufen, auf denen Sie Ihre App oder Ad-hoc-Bereitstellung testen möchten. Da es ungefähr 0,99 $ / Jahr / Gerät kostet, ist es unerschwinglich teuer, Apps auf diese Weise zu verkaufen, aber es ermöglicht Ihnen, viele Beta-Testslots zu haben. Natürlich ist ein Bereitstellungsprofil die Liste, auf welchen Geräten welche Apps ausgeführt werden können, die von wem der Entwickler signiert ist.

In neueren Xcode-Versionen können Sie, sobald Sie Ihren Schlüssel eingerichtet haben (der sich innerhalb von Xcode nur schwer automatisieren lässt), ein beliebiges iDevice anschließen, den Organizer öffnen und auf „Für Entwicklung verwenden“ klicken. Xcode fordert Sie zur Eingabe Ihrer Anmeldeinformationen auf und fügt das Gerät dann automatisch zum Portal hinzu und erstellt ein Bereitstellungsprofil für Sie. Sobald Sie die Ersteinrichtung abgeschlossen haben, ist es im Grunde ein Klick, um ein zusätzliches Gerät hinzuzufügen. Ich glaube nicht, dass Apple so besorgt darüber ist, dass die Ersteinrichtung automatisiert wird, da es sich nur um einen einmaligen Vorgang handelt.

(Entschuldigung, ich versuche, an meiner Langatmigkeit zu arbeiten.)

-1 Lange Antwort, aber ich sehe nicht, wie sie die Fragen des OP beantwortet.
Hast du es gelesen? Ich erkläre, warum die Dinge so gemacht werden müssen, wie sie es tun. Danke, dass Sie mich für die Gründlichkeit angeschrieben haben.
Ich habe es gelesen. Es liest sich eher wie eine Anleitung, wie man dem komplizierten Prozess der Erstellung der Profile folgt, anstatt zu erklären, warum, aber das kann wirklich keiner von uns wissen, oder? Tut mir leid, aber die -1 bleibt.

Der kostenlose TestFlight- Dienst soll bei der Verteilung von Test-Apps helfen, obwohl ich nicht weiß, ob er das Testen auf Ihrem eigenen Gerät erleichtert.

Ich mache mir keine Gedanken über das Testen – ich möchte in der Lage sein, meine Apps bereitzustellen. Ich habe mich nur gefragt, warum es einen 30-Schritte-Prozess für diesen grundlegenden, grundlegenden Teil der iPhone-Entwicklung gibt. +! für die tollen Infos. das wusste ich nicht.

Ich habe nicht viele Spekulationen darüber gesehen, warum sie es so haben, außer zu sagen, dass es wahrscheinlich mit Blick auf die Geräte- und Benutzersicherheit entwickelt wurde, um das "Gesindel" aus dem Prozess herauszuhalten (dh Schöpfer von böswilligen Software). Sie befinden sich jedoch in guter Gesellschaft mit Ihren Frustrationen darüber, wie der gesamte Prozess funktioniert. Soweit ich das beurteilen kann, gibt es außer der Vorbereitung eines Geräts für lokale, fest verdrahtete Tests keine Möglichkeit, dies zu automatisieren.

Letztendlich ist dies die Entscheidung von Apple, und sie haben nie gesagt, warum das so ist. So ist das Leben.