Ich möchte eine Enterprise iOS-App so verteilen, dass sie beim Öffnen bereits den Namen und andere Informationen anzeigt, auch wenn die .ipa-Datei dieselbe .ipa-Datei ist, die von jedem anderen Benutzer heruntergeladen wird. Ich denke, ich könnte dies tun, indem ich dem Benutzer eine App-Download-URL gebe, die spezifisch für sie ist, und den erforderlichen Enterprise-Download-Plist erzeuge, um einige Benutzerdaten aufzunehmen, aber meine Frage ist:
Ist es sogar möglich, über den Download-Link in der App auf den Plist zuzugreifen / ihn zu lesen? Wenn ja, wie?
Es gibt eine Möglichkeit, den Unternehmens-Download-Link in der App zu lesen (aber ich bin sicher, dass Sie nicht nach dem Code zum Herunterladen und Lesen einer Datei fragen), aber es gibt keine Möglichkeit, etwas anzuzeigen anders in der App basierend auf einem Parameter auf der Indexseite oder der Manifestdatei, ohne die IPA selbst zu ändern.
Leider hat die installierte App keine Kenntnis von der Manifestdatei oder Indexseite, von der sie heruntergeladen wurde.
EDIT mit Referenzen / Quellen
Dieser Link im Abschnitt "Exportieren Ihrer App für Tests außerhalb des App Stores": Exportieren Ihrer App zum Testen (iOS, watchOS) , diskutiert Manifestdateien, erwähnt jedoch keine Datenkette von der Webbereitstellung zur App.
Ich habe auch mit einem leitenden Apple-Berater gesprochen, der bestätigt hat, dass es keinen Mechanismus gibt, der einer App weiß, wo die App installiert wurde.
Die einzige Möglichkeit, die ich mir vorstellen kann, ist, dass ich allen Benutzern denselben Link (examplesite.com/ios/download) sende und ihnen eine eindeutige Benutzerkennung "SG5JD5J" zusende. Wenn die App zum ersten Mal heruntergeladen und geöffnet wird, wird der Benutzer aufgefordert, seinen eindeutigen Benutzeridentifikationscode einzugeben. An diesem Punkt kann Ihre App dann ihr Plist updaten und in die App fortschreiten.
Leider würde die Art, wie Sie es tun möchten, private APIs oder ein jailbroken iOS-Gerät erfordern, damit Sie den Webbrowser-Verlauf einsehen und Ihre URL finden können (Beispiel site.com/ios/download) mit einer eindeutigen Kennung am Ende und aktualisieren Sie die PLIST nach Bedarf.
Wenn Sie eine Lösung finden, kommentieren Sie bitte, wie ich es gerne sehen würde.
Ich kann mir zwei Optionen vorstellen:
codesign
aus. Dann servieren Sie dem Benutzer die IPA. NSUserDefaults
einzufügen: Ссылка
Nein, das ist nicht möglich. Plist ist für iOS, um Informationen wie den Downloadpfad, die Version und den App-Namen zu finden, damit iOS wissen würde, was es an den Benutzer senden soll.
Ihr Code kann erst ausgeführt werden, nachdem die App auf dem Gerät installiert wurde. Zu diesem Zeitpunkt sind keine weiteren Informationen zu diesem Programm verfügbar. Und für eine App gibt es keine Möglichkeit, die Informationen zum Downloadpfad zu finden.
Es gibt keine Möglichkeit eine Datei von der IPA zu lesen, wenn sie noch nicht im Gerät installiert ist.
Sie können die Benutzerinformationen von Ihrer Website abrufen, z. B. Benutzer ein Formular in Ihrer Download-Seite ausfüllen. Speichern Sie dann die Daten zusammen mit einer GUID , die Sie auf Ihrer Download-Seite generieren können, auf Ihrem Server.
Sobald die App installiert ist und ausgeführt wird, sollte die Anwendung die GUID erneut erstellen und anschließend den Server abfragen, um die mit der GUID verknüpften Benutzerinformationen zu finden.
Ihre App kann dann die Benutzerinformationen vorab ausfüllen.
Die Herausforderung besteht darin, wie kann Ihre Downloadseite eine GUID erstellen, die auch von der installierten App neu erstellt wird? Nun können Sie die GUID mithilfe von Browserinformationen erstellen. Überprüfen Sie anhand der Browserinformationen, wie die GUID erstellt wird:
Tags und Links objective-c ios ios-enterprise