Verteilen der Beta-App an Remote-Benutzer

8

Es scheint, als gäbe es keine einfache Lösung, um meine Beta-iOS-App für Personen außerhalb des physischen Kontakts bereitzustellen. Ich habe festgestellt, wie ich dies OHNE Verwendung des App Store tun kann (was laut Apple ausdrücklich nicht für Betatests vorgesehen ist):

  1. Verwenden Sie das Developer Enterprise-Programm. Teuer und übermäßig

  2. Verwenden Sie TestFlight. Nur bis zu 25 "interne" Tester sind zulässig, bevor extreme Richtlinien für mehr Personen eingeführt werden (Warum nicht einfach an dieser Stelle in den App Store stellen ...?)

  3. Geben Sie ihnen mein gesamtes Xcode-Projekt und lassen Sie den Benutzer es in ihrer eigenen Xcode-Umgebung erstellen. Es ist unmöglich, nicht technisch versierte Leute zu fragen. + Ich möchte mein Projekt nicht an Leute außerhalb meines Unternehmens weitergeben

  4. Ad-hoc-Entwicklung; Lassen Sie alle mir ihre UDIDs geben ... Riesiger Ärger für andere / Die Leute möchten es vielleicht nicht außerhalb meiner Firma tun

Die App, die ich entwickle, wird von Wissenschaftlern verwendet, um ein bestimmtes Gerät zu steuern, das mein Unternehmen herstellt. Es besteht die Möglichkeit, dass es niemals den Apple-Standards für Apps im App Store entspricht, aber in naher Zukunft von mehr als 100 Personen verwendet werden könnte. Ich denke, die eigentliche Frage, die ich stelle, lautet: Wie kann ich meine "unterdurchschnittliche" Beta-App einer großen Gruppe von Menschen zugänglich machen?

Jel
quelle

Antworten:

2

Früher mussten Sie für große Beta-Gruppen zwischen Hockey-App und TestFlight wählen. Nachdem Apple TestFlight gekauft hat und Sie eine Überprüfung durchführen müssen, um eine Beta-Version zu erhalten, ist das Beta-Test-Framework der Hockey-App am besten für Ihre Anforderungen geeignet aufgeführt.

Es hilft bei der Benutzerregistrierung und -verwaltung, wenn Builds benachrichtigt und Endbenutzern bereitgestellt werden. Sie sind immer noch am Haken bei der Verwaltung Ihres AppleID-Testpools, aber jetzt, da das Limit von 100 Geräten gelockert wurde, können Sie mit Hockey und den normalen bezahlten Entwicklerkontolimits von Hockey und Apple ziemlich breite Betatests durchführen.

Langfristig möchten Sie die App in einen der Apple Stores bringen, da das "Missbrauchen" der Signatur der Unternehmensdistribution sowohl zeit- als auch kostenintensiv ist und es im Laufe der Zeit nicht so schwierig ist, eine App durch Überprüfung zu erhalten. Ja, es kann sein, dass Sie sich um ein oder zwei Monate oder länger verspäten. Wenn Sie jedoch weiterhin bestehen, kann diese seltene App nur bereitgestellt werden, wenn Sie gegen eine der Regeln verstoßen, die Apple sehr wichtig sind, z. B. das Einschließen von Frameworks, die eine private API verwenden oder ausgeführt werden Code, den sie herunterladen, nachdem die App signiert und zur Genehmigung eingereicht wurde.

Ihre einzige andere Möglichkeit besteht darin, den Quellcode an jeden Benutzer zu senden und ihn mithilfe von Xcode eine eigene App erstellen, selbst signieren und dann installieren zu lassen. Das könnte für motivierte Benutzer einer Spezial-App fliegen. GitHub oder andere Quell-Tools würden Ihnen helfen, Updates herauszubringen, aber Sie würden Leute unterstützen und möglicherweise dafür Gebühren erheben, anstatt die App selbst unter diesem Modell.

bmike
quelle
Es gibt also keine Möglichkeit, meine App zu verteilen, ohne zuvor die UDIDs aller Personen zu erhalten, denen ich sie geben möchte. Ugh, ich bin total begeistert, dass ich die .ipa-Datei nicht einfach per E-Mail an jemanden senden kann und sie in ihre eigenen iTunes-Dateien einfügen kann
Jel
@jel - nein. Sie können AppleID über TestFlight oder einen Dienst verwenden, der die UDID für Sie sammelt. Dies ist beabsichtigt - iOS möchte keine Apps seitlich laden. Seit dem 29. Juni 2007 ist dies der Standard und ich sehe keine baldige Änderung. Zumal iOS 9 und Xcode es jedem ermöglichen, "seine eigenen" Apps selbst zu signieren.
bmike
2

Sie können TestFlight für externe Betatester verwenden. Auf diese Weise können Sie mit bis zu 2.500 externen Testern testen. Sie müssen nicht ihre UDIDs kennen, sondern nur ihre E-Mail-Adressen.

Ich gehe jedoch davon aus, dass Sie der Meinung sind, dass Ihre App nicht einmal die weniger restriktive Beta-App-Überprüfung bestehen kann.

In diesem Fall können Sie Ihre App in einer "halbgebackenen" Form verteilen. Anstatt das Xcode-Projekt mit Quellen herauszugeben, von denen Sie angeben, dass Sie sie nicht möchten, können Sie Ihre App als kompilierte, aber noch nicht signierte Binärdateien verteilen.

Um es Ihren Kunden zu erleichtern, müssten Sie ein einfaches Tool erstellen oder erstellen lassen, das der Benutzer ausführen kann und das die Binärdateien mit der AppleID des Benutzers codiert. Sie müssten nicht als Apple-Entwickler registriert sein.

Das Tool müsste den Bundle-Namen in Info.plist ändern und die App mit dem Tool "Codesign" signieren:

Um den Bundle-Namen eindeutig zu machen, fügen Sie dem Bundle-Namen in der Plist-Datei einfach zufällige Bezeichner hinzu.

Das Codesign-Tool kann mit einem Befehl wie dem folgenden verwendet werden:

codesign --force --sign "my identity"  <path for .app file>

Dabei ist "meine Identität" die Identität (Apple-ID) des Endbenutzers.

jksoegaard
quelle
Vielleicht möchten Sie erwähnen, dass Apple kürzlich die Entwickler von F.lux gebeten hat, genau diese Praxis einzustellen.
GhostLyrics
2
Ja, das stimmt - aber der Unterschied zwischen diesem und F.lux besteht meines Erachtens hauptsächlich darin, dass die F.lux-Gruppe als Apple-Entwickler registriert war. Sie verstießen gegen eine Vereinbarung mit Apple - und um sicherzustellen, dass ihre potenziellen anderen Apps oder Mac-Programme nicht verboten werden, haben sie beschlossen, das Seitenladen der iOS-App nicht mehr zu empfehlen. Darüber hinaus hatte die F.lux-App eine große Anzahl potenzieller Benutzer. Dies klingt nach einer speziellen Forschungsausrüstung, die höchstens von einigen hundert Benutzern verwendet werden kann. In diesem Fall wird Apple wahrscheinlich kein Interesse daran zeigen.
Jksoegaard
1
Nun, die ersten beiden Absätze waren da, um sicherzustellen, dass Sie über die weniger strengen Regeln bezüglich der Beta-App-Überprüfung im Vergleich zum normalen App-Überprüfungsprozess Bescheid wissen. Über das Tool verstehe ich nicht, warum Sie es für schrecklich kompliziert halten. Es geht darum, vorhandene Befehlszeilentools auszuführen, die Apple bereitstellt. Dh eine einfach zu bedienende GUI über vorhandene Tools kleben. Ich kann nicht sehen, wie wenig hilfreich das ist.
jksoegaard
Ich habe Einzelheiten zur Ausführung des Codesign-Befehls usw. hinzugefügt. Sie können auch auf die Dokumentation von Apple verweisen: developer.apple.com/library/mac/documentation/Security/…
jksoegaard
1

Fabric.io ist wirklich toll.

Sie können eine Einladung per E-Mail senden und erhalten die UDID des Korrespondenten per E-Mail.

Und der wirklich gute Punkt von Fabric sind die Crashlytics- und Analytics- Funktionen.

Die Fabric-Plattform besteht aus vier modularen Kits, die einige der häufigsten und allgegenwärtigsten Herausforderungen bewältigen, denen sich alle App-Entwickler gegenübersehen: Stabilität, Verteilung, Umsatz und Identität. Es kombiniert die Dienste von Crashlytics, MoPub, Answers, Twitter und anderen, um Ihnen dabei zu helfen, stabilere Apps zu erstellen, Einnahmen über die weltweit größte mobile Anzeigenbörse zu generieren und die Anmeldesysteme von Twitter und umfangreiche Streams von Echtzeitinhalten zu nutzen für eine größere Verbreitung und einfachere Identität. Und Fabric wurde mit Blick auf Benutzerfreundlichkeit gebaut. Die Installation dauert nur wenige Minuten und die meisten Funktionen erfordern nur wenige Codezeilen. So verbringen Sie weniger Zeit mit der Verwaltung von SDKs und mehr Zeit damit, die beste Benutzererfahrung für Ihre Benutzer zu erzielen.

http://frabric.io

StrawHara
quelle
0

Diawi ist eine großartige Plattform für das, was Sie tun möchten .

Im Wesentlichen laden Sie Ihre App auf diese Plattform hoch und erhalten einen kurzen Link, den Sie an Ihre Tester senden können. Wenn sie den Link auf ihrem iOS-Gerät öffnen, werden sie aufgefordert, die App zu installieren.

Wie auf der Website beschrieben, müssen Sie das Gerät jedes Benutzers zum Bereitstellungsprofil hinzufügen, das zur Installation der Anwendung verwendet wird.

Dies ist wahrscheinlich so einfach wie es für die Benutzer geht, ohne über TestFlight zu verteilen.

aidanb.01
quelle