Vorbereiten von iOS-Apps für Appschutz-Richtlinien mit dem Einbindungstool in der Intune-App

Verwenden Sie die Microsoft Intune App Wrapping Tool für iOS, um Intune-App-Schutzrichtlinien für interne iOS-Apps zu aktivieren, ohne den Code der App selbst zu ändern.

Das Tool ist eine macOS-Befehlszeilenanwendung, die einen Wrapper um eine App erstellt. Nachdem eine App verarbeitet wurde, können Sie die Funktionalität der App ändern, indem Sie App-Schutzrichtlinien dafür bereitstellen.

Informationen zum Herunterladen des Tools finden Sie unter Microsoft Intune App Wrapping Tool für iOS auf GitHub.

Hinweis

Wenn Sie Probleme mit der Verwendung der Intune-App Wrapping Tool mit Ihren Apps haben, senden Sie eine Anfrage um Unterstützung auf GitHub.

Allgemeine Voraussetzungen für die App Wrapping Tool

Bevor Sie die App Wrapping Tool ausführen, müssen Sie einige allgemeine Voraussetzungen erfüllen:

  • Laden Sie die Microsoft Intune App Wrapping Tool für iOS von GitHub herunter.

  • Ein macOS-Computer, auf dem das Xcode-Toolset Version 14.0 oder höher installiert ist.

  • Die iOS-Eingabe-App muss von Ihrem Unternehmen oder einem unabhängigen Softwarehersteller (ISV) entwickelt und signiert werden.

    • Die Eingabe-App-Datei muss die Erweiterung .ipa oder .app aufweisen.

    • Die Eingabe-App muss für iOS 14.0 oder höher kompiliert werden.

    • Die Eingabe-App kann nicht verschlüsselt werden.

    • Die Eingabe-App darf keine erweiterten Dateiattribute aufweisen.

    • Für die Eingabe-App müssen Berechtigungen festgelegt sein, bevor sie vom Intune-App Wrapping Tool verarbeitet wird. Berechtigungen bieten der App mehr Berechtigungen und Funktionen, die über die üblicherweise gewährten hinausgehen. Anweisungen finden Sie unter Festlegen von App-Berechtigungen .

  • Stellen Sie sicher, dass gültige Signaturzertifikate in Ihrem System Keychain vorhanden sind. Wenn Probleme beim Signieren von App-Code auftreten, führen Sie die folgenden Schritte aus, um dies zu beheben:
    • Zurücksetzen der Vertrauenseinstellungen für alle zugehörigen Zertifikate
    • Installieren von Zwischenzertifikaten in der systembasierten Keychain und anmeldung Keychain
    • Deinstallieren und erneutes Installieren aller zugehörigen Zertifikate

Registrieren Ihrer App mit Microsoft Entra ID

  1. Registrieren Sie Ihre Apps mit Microsoft Entra ID. Weitere Informationen finden Sie unter Registrieren einer Anwendung beim Microsoft Identity Platform.
  2. Fügen Sie die benutzerdefinierte Umleitungs-URL zu Ihren App-Einstellungen hinzu. Weitere Informationen finden Sie unter Konfigurieren von MSAL.
  3. Gewähren Sie Ihrer App Zugriff auf den Intune MAM-Dienst. Weitere Informationen finden Sie unter Gewähren des Zugriffs auf den Intune Mobile App Management-Dienst für Ihre App.
  4. Sobald die oben genannten Änderungen abgeschlossen sind, führen Sie die neueste Version des Intune App Wrapping-Tools aus. Konfigurieren Ihrer Apps für die Microsoft-Authentifizierungsbibliothek (Microsoft Authentication Library, MSAL): Fügen Sie die Microsoft Entra Anwendungsclient-ID den Befehlszeilenparametern mit dem Intune-App Wrapping Tool hinzu. Weitere Informationen finden Sie unter Befehlszeilenparameter.

Hinweis

Die Parameter -ac und -ar sind erforderliche Parameter. Jede App benötigt einen eindeutigen Satz dieser Parameter. -aa ist nur für Einzelmandantenanwendungen erforderlich.

  1. Stellen Sie die App bereit.

Voraussetzungen für Apple Developer für die App Wrapping Tool

Um umschlossene Apps ausschließlich an die Benutzer Ihrer organization zu verteilen, benötigen Sie ein Konto beim Apple Developer Enterprise Program und mehrere Entitäten für die App-Signierung, die mit Ihrem Apple Developer-Konto verknüpft sind.

Weitere Informationen zum internen Verteilen von iOS-Apps an die Benutzer Ihrer organization finden Sie im offiziellen Leitfaden zum Verteilen von Apple Developer Enterprise Program-Apps.

Sie benötigen Folgendes, um apps zu verteilen, die von Intune umschlossen sind:

  • Ein Entwicklerkonto mit dem Apple Developer Enterprise-Programm.

  • Internes und Ad-hoc-Verteilungssignaturzertifikat mit gültigem Teambezeichner.

    • Sie benötigen den SHA1-Hash des Signaturzertifikats als Parameter für die Intune-App Wrapping Tool.
  • Internes Verteilungsbereitstellungsprofil.

Schritte zum Erstellen eines Apple Developer Enterprise-Kontos

  1. Wechseln Sie zur Website des Apple Developer Enterprise-Programms.

  2. Klicken Sie oben rechts auf der Seite auf Registrieren.

  3. Lesen Sie die Checkliste, was Sie für die Registrierung benötigen. Klicken Sie unten auf der Seite auf Registrierung starten .

  4. Melden Sie sich mit der Apple-ID Ihres organization an. Wenn Sie noch keine haben, klicken Sie auf Apple-ID erstellen.

  5. Wählen Sie Ihren Entitätstyp aus , und klicken Sie auf Weiter.

  6. Füllen Sie das Formular mit den Informationen Ihrer organization aus. Klicken Sie auf Weiter. An diesem Punkt kontaktiert Apple Sie, um zu überprüfen, ob Sie berechtigt sind, Ihre organization zu registrieren.

  7. Klicken Sie nach der Überprüfung auf Lizenz zustimmen.

  8. Nachdem Sie der Lizenz zugestimmt haben, schließen Sie mit dem Kauf und der Aktivierung des Programms ab.

  9. Wenn Sie der Team-Agent sind (die Person, die im Auftrag Ihres organization am Apple Developer Enterprise Program teilnimmt), erstellen Sie zuerst Ihr Team, indem Sie Teammitglieder einladen und Rollen zuweisen. Informationen zum Verwalten Ihres Teams finden Sie in der Apple-Dokumentation unter Verwalten Ihres Entwicklerkontoteams.

Schritte zum Erstellen eines Apple-Signaturzertifikats

  1. Wechseln Sie zum Apple-Entwicklerportal.

  2. Klicken Sie oben rechts auf der Seite auf Konto.

  3. Melden Sie sich mit Der Apple-ID Ihrer Organisation an.

  4. Klicken Sie auf Zertifikate, IDs & Profile.

    Apple-Entwicklerportal: Zertifikate, IDs & Profile

  5. Klicken Sie auf das Apple-Entwicklerportal, und melden Sie sich in der oberen rechten Ecke an, um ein iOS-Zertifikat hinzuzufügen.

  6. Wählen Sie unter Produktion aus, ob Sie ein Inhouse- und Ad-hoc-Zertifikat erstellen möchten.

    Auswählen von In-House und Ad-hoc-Zertifikat

    Hinweis

    Wenn Sie die App nicht verteilen und nur intern testen möchten, können Sie ein iOS-App-Entwicklungszertifikat anstelle eines Zertifikats für die Produktion verwenden. Wenn Sie ein Entwicklungszertifikat verwenden, stellen Sie sicher, dass das mobile Bereitstellungsprofil auf die Geräte verweist, auf denen die App installiert wird.

  7. Klicken Sie unten auf der Seite auf Weiter .

  8. Lesen Sie die Anweisungen zum Erstellen einer Zertifikatsignieranforderung (Certificate Signing Request, CSR) mithilfe der Keychain Access-Anwendung auf Ihrem macOS-Computer.

    Anweisungen zum Erstellen einer CSR lesen

  9. Befolgen Sie die obigen Anweisungen, um eine Zertifikatsignieranforderung zu erstellen. Starten Sie auf Ihrem macOS-Computer die Anwendung Schlüsselbundzugriff .

  10. Wechseln Sie im macOS-Menü oben auf dem Bildschirm zu Keychain Access > Certificate Assistant > Anfordern eines Zertifikats von einer Zertifizierungsstelle.

    Anfordern eines Zertifikats von einer Zertifizierungsstelle in Keychain Access

  11. Befolgen Sie die Anweisungen auf der Apple-Entwicklerwebsite oben zum Erstellen einer CSR-Datei. Speichern Sie die CSR-Datei auf Ihrem macOS-Computer.

    Geben Sie Informationen für das angeforderte Zertifikat ein.

  12. Kehren Sie zur Apple-Entwicklerwebsite zurück. Klicken Sie auf Weiter. Laden Sie dann die CSR-Datei hoch.

  13. Apple generiert Ihr Signaturzertifikat. Laden Sie es herunter, und speichern Sie es an einem unvergesslichen Ort auf Ihrem macOS-Computer.

    Herunterladen Ihres Signaturzertifikats

  14. Doppelklicken Sie auf die Zertifikatdatei, die Sie gerade heruntergeladen haben, um das Zertifikat einem Keychain hinzuzufügen.

  15. Öffnen Sie keychain Access erneut. Suchen Sie ihr Zertifikat, indem Sie in der suchleiste oben rechts nach seinem Namen suchen. Klicken Sie mit der rechten Maustaste auf das Element, um das Menü aufzurufen, und klicken Sie dann auf Informationen abrufen. In den Beispielbildschirmen wird anstelle eines Produktionszertifikats ein Entwicklungszertifikat verwendet.

    Hinzufügen Ihres Zertifikats zu einem Keychain

  16. Ein Informationsfenster wird angezeigt. Scrollen Sie nach unten, und suchen Sie unter der Bezeichnung Fingerabdrücke . Kopieren Sie die SHA1-Zeichenfolge (verschwommen), um sie als Argument für "-c" für die App Wrapping Tool zu verwenden.

    iPhone-Informationen – Sha1-Zeichenfolge für Fingerabdrücke

Schritte zum Erstellen eines In-House Verteilungsbereitstellungsprofils

  1. Zurück beim Apple Developer-Kontoportal an, und melden Sie sich mit Der Apple-ID Ihrer Organisation an.

  2. Klicken Sie auf Zertifikate, IDs & Profile.

  3. Klicken Sie auf das Apple-Entwicklerportal, und melden Sie sich in der oberen rechten Ecke an, um ein iOS-Bereitstellungsprofil hinzuzufügen.

  4. Wählen Sie unter Verteilung aus, um ein internes Bereitstellungsprofil zu erstellen.

    Auswählen des internen Bereitstellungsprofils

  5. Klicken Sie auf Weiter. Stellen Sie sicher, dass Sie das zuvor generierte Signaturzertifikat mit dem Bereitstellungsprofil verknüpfen.

  6. Führen Sie die Schritte aus, um Ihr Profil (mit der Erweiterung .mobileprovision) auf Ihren macOS-Computer herunterzuladen.

  7. Speichern Sie die Datei an einem einprägsamen Speicherort. Diese Datei wird für den Parameter -p verwendet, während der App Wrapping Tool verwendet wird.

Laden Sie die App Wrapping Tool herunter.

  1. Laden Sie die Dateien für die App Wrapping Tool von GitHub auf einen macOS-Computer herunter.

  2. Doppelklicken Sie auf Microsoft Intune Application Restrictions Packager für iOS.dmg. Ein Fenster mit dem Endbenutzer-Lizenzvertrag (EULA) wird angezeigt. Lesen Sie das Dokument sorgfältig durch.

  3. Wählen Sie Zustimmen aus, um die Lizenzbedingungen zu akzeptieren, wodurch das Paket auf Ihrem Computer eingebunden wird.

Ausführen des App Wrapping Tool

Wichtig

Intune veröffentlicht regelmäßig Updates für die Intune-App Wrapping Tool. Überprüfen Sie regelmäßig die Intune-App Wrapping Tool für iOS auf Updates, und integrieren Sie sie in Ihren Releasezyklus für die Softwareentwicklung, um sicherzustellen, dass Ihre Apps die neuesten Einstellungen der App-Schutzrichtlinie unterstützen.

Terminal verwenden

Öffnen Sie das macOS-Terminal, und führen Sie den folgenden Befehl aus:

/Volumes/IntuneMAMAppPackager/IntuneMAMPackager/Contents/MacOS/IntuneMAMPackager -i /<path of input app>/<app filename> -o /<path to output folder>/<app filename> -p /<path to provisioning profile> -c <SHA1 hash of the certificate> [-b [<output app build string>]] [-v] [-e] [-x /<array of extension provisioning profile paths>]

Hinweis

Einige Parameter sind optional, wie in der folgenden Tabelle gezeigt.

Beispiel: Der folgende Beispielbefehl führt die App Wrapping Tool für die App myApp.ipa aus. Ein Bereitstellungsprofil und ein SHA-1-Hash des Signaturzertifikats werden angegeben und zum Signieren der umschlossenen App verwendet. Die Ausgabe-App (MyApp_Wrapped.ipa) wird erstellt und in Ihrem Desktopordner gespeichert.

./IntuneMAMPackager/Contents/MacOS/IntuneMAMPackager -i ~/Desktop/MyApp.ipa -o ~/Desktop/MyApp_Wrapped.ipa -p ~/Desktop/My_Provisioning_Profile_.mobileprovision -c "12 A3 BC 45 D6 7E F8 90 1A 2B 3C DE F4 AB C5 D6 E7 89 0F AB"  -v true

Befehlszeilenparameter

Sie können die folgenden Befehlszeilenparameter mit dem App Wrapping Tool verwenden:

Beispiel: Der folgende Beispielbefehl führt die App Wrapping Tool aus, wobei die erforderlichen Befehle beim Umschließen einer Anwendung für die Verwendung innerhalb eines einzelnen Mandanten enthalten sind.

./IntuneMAMPackager/Contents/MacOS/IntuneMAMPackager -i ~/Desktop/MyApp.ipa -o ~/Desktop/MyApp_Wrapped.ipa -p ~/Desktop/My_Provisioning_Profile_.mobileprovision -c "12 A3 BC 45 D6 7E F8 90 1A 2B 3C DE F4 AB C5 D6 E7 89 0F AB" -aa https://login.microsoftonline.com/<tenantID> -ac "Client ID of the input app if the app uses the Microsoft Authentication Library" -ar "Redirect/Reply URI of the input app if the app uses the Microsoft Authentication Library"  -v true
Eigenschaft Hinweise zur Verwendung
-Ich <Path of the input native iOS application file>. Der Dateiname muss auf .app oder .ipa enden.
-O <Path of the wrapped output application>
-P <Path of your provisioning profile for iOS apps>
-C <SHA1 hash of the signing certificate>
-H Zeigt ausführliche Nutzungsinformationen zu den verfügbaren Befehlszeileneigenschaften für die App Wrapping Tool an.
-Ac <Client ID of the input app if the app uses the Microsoft Authentication Library> Dies ist die GUID im Feld Client-ID aus dem Eintrag Ihrer App auf dem Blatt App-Registrierung.
-Ar <Redirect/Reply URI of the input app if the app uses the Microsoft Authentication Library> Dies ist der Umleitungs-URI, der in Ihrer App-Registrierung konfiguriert ist. In der Regel ist es das URL-Protokoll der Anwendung, zu dem die Microsoft Authenticator-App nach der Brokerauthentifizierung zurückkehren würde.
-Aa (Erforderlich für Einzelmandanten-Apps) <Authority URI of the input app> Dh https://login.microsoftonline.com/<tenantID>/
-V (Optional) Gibt ausführliche Meldungen an die Konsole aus. Es wird empfohlen, dieses Flag zum Debuggen von Fehlern zu verwenden.
-E (Optional) Verwenden Sie dieses Flag, damit die App Wrapping Tool fehlende Berechtigungen entfernen, während die App verarbeitet wird. Weitere Informationen finden Sie unter Festlegen von App-Berechtigungen .
-Xe (Optional) Gibt Informationen zu den iOS-Erweiterungen in der App aus und gibt an, welche Berechtigungen für deren Verwendung erforderlich sind. Weitere Informationen finden Sie unter Festlegen von App-Berechtigungen .
-X (Optional) <An array of paths to extension provisioning profiles>. Verwenden Sie diese Option, wenn Ihre App Erweiterungsbereitstellungsprofile benötigt.
-B (Optional) Verwenden Sie -b ohne Argument, wenn die umschlossene Ausgabe-App dieselbe Bündelversion wie die Eingabe-App haben soll (nicht empfohlen).

Verwenden Sie -b <custom bundle version> , wenn die umschlossene App über eine benutzerdefinierte CFBundleVersion verfügen soll. Wenn Sie eine benutzerdefinierte CFBundleVersion angeben, sollten Sie die CFBundleVersion der nativen App um die am wenigsten signifikante Komponente erhöhen, z. B. 1.0.0 -> 1.0.1.
-F (Optional) <Path to a plist file specifying arguments.> Verwenden Sie dieses Flag vor der plist-Datei , wenn Sie die plist-Vorlage verwenden möchten, um die restlichen IntuneMAMPackager-Eigenschaften wie -i, -o und -p anzugeben. Weitere Informationen finden Sie unter Verwenden einer plist zum Eingeben von Argumenten.
-Dt (Optional) Deaktivieren Sie die Sammlung von Microsoft Intune Clienttelemetriedaten.
-Dl (Optional) Deaktivieren Sie MSAL-Protokolle aus den INtune-Protokollen für Anwendungen, die in MSAL integriert sind, und implementieren Sie einen eigenen MSAL-Protokollierungsrückruf.

Verwenden einer Plist zum Eingeben von Argumenten

Eine einfache Möglichkeit zum Ausführen der App Wrapping Tool besteht darin, alle Befehlsargumente in eine plist-Datei einzufügen. Plist ist ein Dateiformat ähnlich wie XML, mit dem Sie Ihre Befehlszeilenargumente mithilfe einer Formularschnittstelle eingeben können.

Öffnen Sie Parameters.plist im Ordner IntuneMAMPackager/Contents/macOS (eine leere plist-Vorlage) mit einem Text-Editor oder Xcode. Geben Sie Ihre Argumente für die folgenden Schlüssel ein:

Plist-Schlüssel Typ Standardwert Hinweise
Eingabe des Anwendungspaketpfads Zeichenfolge leer Identisch mit -i
Ausgabeanwendungspaketpfad Zeichenfolge leer Identisch mit -o
Bereitstellungsprofilpfad Zeichenfolge leer Identisch mit -p
SHA-1-Zertifikathash Zeichenfolge leer Identisch mit -c
MSAL-Autorität Zeichenfolge leer Identisch mit -aa
MSAL-Client-ID Zeichenfolge leer Identisch mit -ac
MSAL-Antwort-URI Zeichenfolge leer Identisch mit -ar
Ausführlich aktiviert Boolesch false Identisch mit -v
Entfernen fehlender Berechtigungen Boolesch false Identisch mit -e
Verhindern des Standardmäßigen Buildupdates Boolesch false Entspricht der Verwendung von -b ohne Argumente
Buildzeichenfolgenüberschreibung Zeichenfolge leer Die benutzerdefinierte CFBundleVersion der umschlossenen Ausgabe-App
Pfade für erweiterungsbereitstellungsprofil Array von Zeichenfolgen leer Ein Array von Erweiterungsbereitstellungsprofilen für die App.
Deaktivieren der Telemetrie Boolesch false Identisch mit -dt
Deaktivieren der MSAL-Protokollüberschreibung Boolesch false Identisch mit -dl

Führen Sie IntuneMAMPackager mit der plist als einzigem Argument aus:

./IntuneMAMPackager –f Parameters.plist

Nach dem Umbruch

Nach Abschluss des Umbruchvorgangs wird die Meldung "Die Anwendung wurde erfolgreich umschlossen" angezeigt. Wenn ein Fehler auftritt, finden Sie hilfe unter Fehlermeldungen .

Die umschlossene App wird in dem zuvor angegebenen Ausgabeordner gespeichert. Sie können die App in das Intune Admin Center hochladen und sie einer Verwaltungsrichtlinie für mobile Anwendungen zuordnen.

Wichtig

Beim Hochladen einer umschlossenen App können Sie versuchen, eine ältere Version der App zu aktualisieren, wenn bereits eine ältere (umschlossene oder native) Version in Intune bereitgestellt wurde. Wenn ein Fehler auftritt, laden Sie die App als neue App hoch, und löschen Sie die ältere Version.

Sie können die App jetzt für Ihre Benutzergruppen bereitstellen und App-Schutzrichtlinien für die App als Ziel festlegen. Die App wird auf dem Gerät mit den von Ihnen angegebenen App-Schutzrichtlinien ausgeführt.

Wie oft sollte ich meine iOS-Anwendung mit dem Intune-App Wrapping Tool erneut packen?

Die Standard Szenarien, in denen Sie Ihre Anwendungen neu packen müssen, lauten wie folgt:

  • Die Anwendung selbst hat eine neue Version veröffentlicht. Die vorherige Version der App wurde umschlossen und in das Intune Admin Center hochgeladen.
  • Die Intune-App Wrapping Tool für iOS hat eine neue Version veröffentlicht, die wichtige Fehlerbehebungen oder neue features für intune-Anwendungsschutzrichtlinien ermöglicht. Dies geschieht nach 6 bis 8 Wochen über das GitHub-Repository für die Microsoft Intune App Wrapping Tool für iOS.

Bei iOS/iPadOS ist es zwar möglich, mit einem anderen Zertifikat-/Bereitstellungsprofil als dem ursprünglichen zu signieren der App umschlossen zu werden, aber wenn die in der App angegebenen Berechtigungen nicht im neuen Bereitstellungsprofil enthalten sind, tritt beim Wrapping ein Fehler auf. Die Verwendung der Befehlszeilenoption "-e", die fehlende Berechtigungen aus der App entfernt, um zu erzwingen, dass das Wrapping in diesem Szenario nicht fehlschlägt, kann zu fehlerhaften Funktionen in der App führen.

Zu den bewährten Methoden für die Neuzuordnung gehören:

  • Sicherstellen, dass ein anderes Bereitstellungsprofil über alle erforderlichen Berechtigungen verfügt wie jedes vorherige Bereitstellungsprofil.

Fehlermeldungen und Protokolldateien

Verwenden Sie die folgenden Informationen, um Probleme mit dem App-Wrapping-Tool zu beheben.

Fehlermeldungen

Wenn das App-Wrapping-Tool nicht erfolgreich abgeschlossen werden kann, wird eine der folgenden Fehlermeldungen in der Konsole angezeigt:

Fehlermeldung Weitere Informationen
Sie müssen ein gültiges iOS-Bereitstellungsprofil angeben. Ihr Bereitstellungsprofil ist möglicherweise ungültig. Vergewissern Sie sich, dass Sie über die richtigen Berechtigungen für Geräte verfügen und dass Ihr Profil ordnungsgemäß auf die Entwicklung oder Verteilung ausgerichtet ist. Ihr Bereitstellungsprofil ist möglicherweise auch abgelaufen.
Geben Sie einen gültigen Namen der Eingabeanwendung an. Stellen Sie sicher, dass der von Ihnen angegebene Name der Eingabeanwendung richtig ist.
Geben Sie einen gültigen Pfad zur Ausgabeanwendung an. Stellen Sie sicher, dass der Pfad zu der angegebenen Ausgabeanwendung vorhanden und richtig ist.
Geben Sie ein gültiges Eingabebereitstellungsprofil an. Stellen Sie sicher, dass Sie einen gültigen Bereitstellungsprofilnamen und eine gültige Erweiterung angegeben haben. In Ihrem Bereitstellungsprofil fehlen möglicherweise Berechtigungen, oder Sie haben die Befehlszeilenoption –p nicht eingeschlossen.
Die von Ihnen angegebene Eingabeanwendung wurde nicht gefunden. Geben Sie einen gültigen Namen und Pfad für die Eingabeanwendung an. Stellen Sie sicher, dass ihr Eingabe-App-Pfad gültig ist und vorhanden ist. Stellen Sie sicher, dass die Eingabe-App an diesem Speicherort vorhanden ist.
Die angegebene Eingabebereitstellungsprofildatei wurde nicht gefunden. Geben Sie eine gültige Eingabebereitstellungsprofildatei an. Stellen Sie sicher, dass der Pfad zur Eingabebereitstellungsdatei gültig ist und dass die von Ihnen angegebene Datei vorhanden ist.
Der angegebene Ausgabeanwendungsordner wurde nicht gefunden. Geben Sie einen gültigen Pfad zur Ausgabeanwendung an. Stellen Sie sicher, dass der angegebene Ausgabepfad gültig und vorhanden ist.
Die Ausgabe-App verfügt nicht über die ERWEITERUNG IPA . Nur Apps mit den Erweiterungen .app und .ipa werden vom App Wrapping Tool akzeptiert. Stellen Sie sicher, dass Ihre Ausgabedatei über eine gültige Erweiterung verfügt.
Es wurde ein ungültiges Signaturzertifikat angegeben. Geben Sie ein gültiges Apple-Signaturzertifikat an. Stellen Sie sicher, dass Sie das richtige Signaturzertifikat aus dem Apple-Entwicklerportal heruntergeladen haben. Ihr Zertifikat ist möglicherweise abgelaufen oder es fehlt ein öffentlicher oder privater Schlüssel. Wenn Ihr Apple-Zertifikat und Ihr Bereitstellungsprofil verwendet werden können, um eine App in Xcode ordnungsgemäß zu signieren, sind sie für die App Wrapping Tool gültig. Vergewissern Sie sich darüber hinaus, dass das Signaturzertifikat einen eindeutigen Namen innerhalb des Keychain des hostbasierten macOS-Computers aufweist. Wenn im Keychain mehrere Versionen desselben Zertifikats vorhanden sind, wird dieser Fehler möglicherweise zurückgegeben.
Die angegebene Eingabeanwendung ist ungültig. Geben Sie eine gültige Anwendung an. Stellen Sie sicher, dass Sie über eine gültige iOS-Anwendung verfügen, die als APP- oder IPA-Datei kompiliert wurde.
Die angegebene Eingabeanwendung ist verschlüsselt. Geben Sie eine gültige unverschlüsselte Anwendung an. Die App Wrapping Tool unterstützt keine verschlüsselten Apps. Stellen Sie eine unverschlüsselte App bereit.
Die von Ihnen angegebene Eingabeanwendung weist kein PIE-Format (Position Independent Executable) auf. Geben Sie eine gültige Anwendung im PIE-Format an. PIE-Apps (Position Independent Executable) können bei der Ausführung an einer zufälligen Speicheradresse geladen werden. Dies kann Sicherheitsvorteile haben. Weitere Informationen zu den Sicherheitsvorteilen finden Sie in ihrer Apple Developer-Dokumentation.
Die angegebene Eingabe-App wurde bereits umschlossen. Geben Sie eine gültige unwrappte Anwendung an. Sie können keine App verarbeiten, die bereits vom Tool verarbeitet wurde. Wenn Sie eine App erneut verarbeiten möchten, führen Sie das Tool mit der ursprünglichen Version der App aus.
Die angegebene Eingabeanwendung ist nicht signiert. Geben Sie eine gültige signierte Anwendung an. Das App-Wrapping-Tool erfordert, dass Apps signiert sind. Informationen zum Signieren einer umschlossenen App finden Sie in ihrer Entwicklerdokumentation.
Die angegebene Eingabeanwendung muss im IPA- oder APP-Format vorliegen. Nur die Erweiterungen ".app" und ".ipa" werden vom App-Wrapping-Tool akzeptiert. Stellen Sie sicher, dass Ihre Eingabedatei über eine gültige Erweiterung verfügt und als APP- oder IPA-Datei kompiliert wurde.
Die von Ihnen angegebene Eingabe-App wurde bereits umschlossen und weist die neueste Richtlinienvorlagenversion auf. Die App Wrapping Tool wird eine vorhandene umschlossene App nicht mit der neuesten Richtlinienvorlagenversion neu packen.
WARNUNG: Sie haben keinen SHA1-Zertifikathash angegeben. Stellen Sie sicher, dass Ihre umschlossene Anwendung vor der Bereitstellung signiert ist. Stellen Sie sicher, dass Sie nach dem Befehlszeilenflag –c einen gültigen SHA1-Hash angeben.

Sammeln von Protokollen für ihre umschlossenen Anwendungen vom Gerät

Führen Sie die folgenden Schritte aus, um während der Problembehandlung Protokolle für Ihre umschlossenen Anwendungen abzurufen.

  1. Wechseln Sie auf Ihrem Gerät zur App iOS-Einstellungen, und wählen Sie Ihre BRANCHEN-App aus.
  2. Wählen Sie Microsoft Intune aus.
  3. Legen Sie die Einstellung Diagnosekonsole anzeigen auf Ein fest.
  4. Starten Sie Ihre BRANCHENanwendung.
  5. Klicken Sie auf den Link "Erste Schritte".
  6. Sie können Protokolle jetzt direkt an Microsoft senden oder über eine andere Anwendung auf dem Gerät freigeben.

Hinweis

Die Protokollierungsfunktion ist für Apps aktiviert, die mit der Intune-App Wrapping Tool Version 7.1.13 oder höher umschlossen sind.

Sammeln von Absturzprotokollen aus dem System

Ihre App protokolliert möglicherweise nützliche Informationen in der iOS-Clientgerätekonsole. Diese Informationen sind nützlich, wenn Sie Probleme mit der Anwendung haben und feststellen müssen, ob das Problem mit dem App Wrapping Tool oder der App selbst zusammenhängt. Führen Sie die folgenden Schritte aus, um diese Informationen abzurufen:

  1. Reproduzieren Sie das Problem, indem Sie die App ausführen.

  2. Erfassen Sie die Konsolenausgabe, indem Sie die Anweisungen von Apple zum Debuggen bereitgestellter iOS-Apps befolgen.

Umschlossene Apps bieten Benutzern auch die Möglichkeit, Protokolle direkt vom Gerät per E-Mail zu senden, nachdem die App abstürzt. Benutzer können die Protokolle an Sie senden, um sie zu überprüfen und bei Bedarf an Microsoft weiterzuleiten.

Zertifikat-, Bereitstellungsprofil- und Authentifizierungsanforderungen

Die App Wrapping Tool für iOS weist einige Anforderungen auf, die erfüllt sein müssen, um die volle Funktionalität zu gewährleisten.

Anforderung Details
iOS-Bereitstellungsprofil Stellen Sie sicher, dass das Bereitstellungsprofil gültig ist, bevor Sie es einschließen. Die App Wrapping Tool überprüft beim Verarbeiten einer iOS-App nicht, ob das Bereitstellungsprofil abgelaufen ist. Wenn ein abgelaufenes Bereitstellungsprofil angegeben wird, enthält das App-Wrapping-Tool das abgelaufene Bereitstellungsprofil, und Sie wissen erst, wenn die App auf einem iOS-Gerät nicht installiert werden kann.
iOS-Signaturzertifikat Stellen Sie sicher, dass das Signaturzertifikat gültig ist, bevor Sie es angeben. Das Tool überprüft bei der Verarbeitung von iOS-Apps nicht, ob ein Zertifikat abgelaufen ist. Wenn der Hash für ein abgelaufenes Zertifikat bereitgestellt wird, verarbeitet und signiert das Tool die App, kann jedoch nicht auf Geräten installiert werden.

Stellen Sie sicher, dass das zum Signieren der umschlossenen App bereitgestellte Zertifikat im Bereitstellungsprofil übereinstimmt. Das Tool überprüft nicht, ob das Bereitstellungsprofil eine Übereinstimmung mit dem Zertifikat aufweist, das zum Signieren der umschlossenen Anwendung bereitgestellt wurde.
Authentifizierung Ein Gerät muss über eine PIN verfügen, damit die Verschlüsselung funktioniert. Auf Geräten, auf denen Sie eine umschlossene App bereitgestellt haben, muss sich der Benutzer beim Berühren der status-Leiste auf dem Gerät erneut mit einem Geschäfts-, Schul- oder Unikonto anmelden. Die Standardrichtlinie in einer umschlossenen App ist die Authentifizierung beim Neustart. iOS verarbeitet alle externen Benachrichtigungen (z. B. einen Telefonanruf), indem die App beendet und dann neu gestartet wird.

Festlegen von App-Berechtigungen

Bevor Sie Ihre App umschließen , können Sie Berechtigungen erteilen, um der App zusätzliche Berechtigungen und Funktionen zu gewähren, die über das hinausgehen, was eine App normalerweise tun kann. Eine Berechtigungsdatei wird während der Codesignatur verwendet, um spezielle Berechtigungen in Ihrer App anzugeben (z. B. Zugriff auf eine freigegebene Keychain). Bestimmte App-Dienste, die als Funktionen bezeichnet werden, werden während der App-Entwicklung in Xcode aktiviert. Nach der Aktivierung werden die Funktionen in Ihrer Berechtigungsdatei angezeigt. Weitere Informationen zu Berechtigungen und Funktionen finden Sie unter Hinzufügen von Funktionen in der iOS-Entwicklerbibliothek. Eine vollständige Liste der unterstützten Funktionen finden Sie unter Unterstützte Funktionen.

Unterstützte Funktionen für die App Wrapping Tool für iOS

Funktion Beschreibung Empfohlene Anleitung
App-Gruppen Verwenden Sie App-Gruppen, um mehreren Apps den Zugriff auf freigegebene Container zu ermöglichen und eine zusätzliche Interprozesskommunikation zwischen Apps zu ermöglichen.

Um App-Gruppen zu aktivieren, öffnen Sie den Bereich Funktionen, und klicken Sie in App-Gruppen auf EIN. Sie können App-Gruppen hinzufügen oder vorhandene auswählen.
Verwenden Sie bei Verwendung von App-Gruppen die Reverse-DNS-Notation:

group.com.companyName.AppGroup
Hintergrundmodi Wenn Sie Hintergrundmodi aktivieren, kann Ihre iOS-App weiterhin im Hintergrund ausgeführt werden.
Datenschutz Der Datenschutz erhöht die Sicherheit von Dateien, die von Ihrer iOS-App auf dem Datenträger gespeichert werden. Der Datenschutz verwendet die integrierte Verschlüsselungshardware, die auf bestimmten Geräten vorhanden ist, um Dateien in einem verschlüsselten Format auf dem Datenträger zu speichern. Ihre App muss bereitgestellt werden, um den Datenschutz nutzen zu können.
In-App-Kauf Der In-App-Kauf bettet einen Store direkt in Ihre App ein, indem Sie eine Verbindung mit dem Store herstellen und Zahlungen vom Benutzer sicher verarbeiten können. Sie können In-App-Käufe verwenden, um Zahlungen für erweiterte Funktionen oder für zusätzliche Inhalte zu sammeln, die von Ihrer App verwendet werden können.
Schlüsselbundfreigabe Wenn Sie Keychain Freigabe aktivieren, kann Ihre App Kennwörter im Keychain mit anderen Apps teilen, die von Ihrem Team entwickelt wurden. Wenn Sie Keychain Freigabe verwenden, verwenden Sie die Reverse-DNS-Notation:

com.companyName.KeychainGroup
Persönliches VPN Aktivieren Sie persönliches VPN, damit Ihre App eine benutzerdefinierte System-VPN-Konfiguration mithilfe des Netzwerkerweiterungsframeworks erstellen und steuern kann.
Pushbenachrichtigungen Apple Push Notification Service (APNs) ermöglicht es einer App, die nicht im Vordergrund ausgeführt wird, den Benutzer darüber zu informieren, dass sie Über Informationen für den Benutzer verfügt. Damit Pushbenachrichtigungen funktionieren, müssen Sie ein App-spezifisches Bereitstellungsprofil verwenden.

Führen Sie die Schritte in der Apple-Entwicklerdokumentation aus.
Konfiguration des Drahtlosen Zubehörs Durch die Aktivierung der Konfiguration von Drahtlosem Zubehör wird das Framework für externes Zubehör zu Ihrem Projekt hinzugefügt, und Ihre App kann MFi-Wi-Fi Zubehör einrichten.

Schritte zum Aktivieren von Berechtigungen

  1. Aktivieren von Funktionen in Ihrer App:

    a. Navigieren Sie in Xcode zum Ziel Ihrer App, und klicken Sie auf Funktionen.

    b. Aktivieren Sie die entsprechenden Funktionen. Ausführliche Informationen zu den einzelnen Funktionen und zum Ermitteln der richtigen Werte finden Sie unter Hinzufügen von Funktionen in der iOS-Entwicklerbibliothek.

    c. Notieren Sie sich alle IDs, die Sie während des Prozesses erstellt haben. Diese können auch als Werte AppIdentifierPrefix bezeichnet werden.

    d. Erstellen und signieren Sie Ihre App, um sie umschlossen zu werden.

  2. Aktivieren Sie Berechtigungen in Ihrem Bereitstellungsprofil:

    a. Melden Sie sich beim Apple Developer Member Center an.

    b. Erstellen Sie ein Bereitstellungsprofil für Ihre App. Anweisungen finden Sie unter Abrufen der Voraussetzungen für die Intune-App Wrapping Tool für iOS.

    c. Aktivieren Sie in Ihrem Bereitstellungsprofil die gleichen Berechtigungen wie in Ihrer App. Sie müssen die gleichen IDs (die Werte) angeben, die AppIdentifierPrefix Sie bei der Entwicklung Ihrer App angegeben haben.

    d. Schließen Sie den Bereitstellungsprofil-Assistenten ab, und laden Sie Ihre Datei herunter.

  3. Stellen Sie sicher, dass Sie alle Voraussetzungen erfüllt haben, und umschließen Sie dann die App.

Behandeln von häufigen Fehlern mit Berechtigungen

Wenn im App Wrapping Tool für iOS ein Berechtigungsfehler angezeigt wird, führen Sie die folgenden Schritte zur Problembehandlung aus.

Problem Ursache Fehlerbehebung
Fehler beim Analysieren von Berechtigungen, die von der Eingabeanwendung generiert wurden. Die App Wrapping Tool kann die Berechtigungsdatei, die aus der App extrahiert wurde, nicht lesen. Die Berechtigungsdatei ist möglicherweise falsch formatiert. Überprüfen Sie die Berechtigungsdatei für Ihre App. In den folgenden Anweisungen wird erläutert, wie Dies geschieht. Überprüfen Sie beim Überprüfen der Berechtigungsdatei auf falsch formatierte Syntax. Die Datei sollte im XML-Format vorliegen.
Berechtigungen fehlen im Bereitstellungsprofil (fehlende Berechtigungen sind aufgeführt). Packen Sie die App mit einem Bereitstellungsprofil neu, das über diese Berechtigungen verfügt. Es besteht ein Konflikt zwischen den im Bereitstellungsprofil aktivierten Berechtigungen und den in der App aktivierten Funktionen. Dieser Konflikt gilt auch für die IDs, die bestimmten Funktionen zugeordnet sind (z. B. App-Gruppen und Keychain Zugriff). Im Allgemeinen können Sie ein neues Bereitstellungsprofil erstellen, das die gleichen Funktionen wie die App ermöglicht. Wenn die IDs zwischen dem Profil und der App nicht übereinstimmen, ersetzt der App Wrapping Tool die IDs, wenn dies möglich ist. Wenn dieser Fehler nach dem Erstellen eines neuen Bereitstellungsprofils weiterhin auftritt, können Sie versuchen, Berechtigungen aus der App zu entfernen, indem Sie den Parameter –e verwenden (siehe Verwenden des Parameters "-e" zum Entfernen von Berechtigungen aus einer App).

Suchen der vorhandenen Berechtigungen einer signierten App

So überprüfen Sie die vorhandenen Berechtigungen einer signierten App und eines Bereitstellungsprofils:

  1. Suchen Sie die IPA-Datei, und ändern Sie die Erweiterung in .zip.

  2. Erweitern Sie die datei .zip. Dadurch wird ein Payload-Ordner erstellt, der Ihr APP-Paket enthält.

  3. Verwenden Sie das Codesign-Tool, um die Berechtigungen für das APP-Bündel zu überprüfen, wobei YourApp.app der tatsächliche Name Ihres APP-Bündels ist:

    codesign -d --entitlements :- "Payload/YourApp.app"
    
  4. Verwenden Sie das Sicherheitstool, um die Berechtigungen des eingebetteten Bereitstellungsprofils der App zu überprüfen, wobei YourApp.app der tatsächliche Name Ihres APP-Bündels ist.

    security cms -D -i "Payload/YourApp.app/embedded.mobileprovision"
    

Entfernen von Berechtigungen aus einer App mithilfe des Parameters "–e"

Dieser Befehl entfernt alle aktivierten Funktionen in der App, die nicht in der Berechtigungsdatei enthalten sind. Wenn Sie Funktionen entfernen, die von der App verwendet werden, kann dies ihre App unterbrechen. Ein Beispiel für das Entfernen fehlender Funktionen ist eine vom Hersteller erstellte App, die standardmäßig über alle Funktionen verfügt.

./IntuneMAMPackager/Contents/MacOS/IntuneMAMPackager –i /<path of input app>/<app filename> -o /<path to output folder>/<app filename> –p /<path to provisioning profile> –c <SHA1 hash of the certificate> -e

Sicherheit und Datenschutz für die App Wrapping Tool

Verwenden Sie die folgenden bewährten Methoden für Sicherheit und Datenschutz, wenn Sie die App Wrapping Tool verwenden.

  • Das Signaturzertifikat, das Bereitstellungsprofil und die branchenspezifische App, die Sie angeben, müssen sich auf demselben macOS-Computer befinden, den Sie zum Ausführen des App-Wrapping-Tools verwenden. Wenn sich die Dateien in einem UNC-Pfad befinden, stellen Sie sicher, dass sie vom macOS-Computer aus zugänglich sind. Der Pfad muss über IPsec- oder SMB-Signatur gesichert werden.

    Die in das Admin Center importierte umschlossene Anwendung sollte sich auf demselben Computer befinden, auf dem Sie das Tool ausführen. Wenn sich die Datei in einem UNC-Pfad befindet, stellen Sie sicher, dass auf dem Computer, auf dem das Admin Center ausgeführt wird, darauf zugegriffen werden kann. Der Pfad muss über IPsec- oder SMB-Signatur gesichert werden.

  • Die Umgebung, in der die App Wrapping Tool aus dem GitHub-Repository heruntergeladen wird, muss durch IPsec- oder SMB-Signatur geschützt werden.

  • Die von Ihnen verarbeitete App muss aus einer vertrauenswürdigen Quelle stammen, um den Schutz vor Angriffen sicherzustellen.

  • Stellen Sie sicher, dass der Ausgabeordner, den Sie im App Wrapping Tool angeben, geschützt ist, insbesondere, wenn es sich um einen Remoteordner handelt.

  • iOS-Apps, die ein Dialogfeld zum Hochladen von Dateien enthalten, können Benutzern das Umgehen, Ausschneiden, Kopieren und Einfügen von Einschränkungen ermöglichen, die auf die App angewendet werden. Beispielsweise kann ein Benutzer das Dialogfeld dateiupload verwenden, um einen Screenshot der App-Daten hochzuladen.

  • Wenn Sie den Ordner dokumente auf Ihrem Gerät in einer umschlossenen App überwachen, wird möglicherweise ein Ordner mit dem Namen .msftintuneapplauncher angezeigt. Wenn Sie diese Datei ändern oder löschen, kann sich dies auf die ordnungsgemäße Funktionsweise eingeschränkter Apps auswirken.

  • Durch das Registrieren benutzerdefinierter URL-Schemas können bestimmte URLs in Ihre App umgeleitet werden. iOS und iPadOS ermöglichen es mehreren Apps, dasselbe benutzerdefinierte URL-Schema zu registrieren, und das Betriebssystem bestimmt, welche Anwendung aufgerufen wird. In der Apple-Dokumentation Definieren eines benutzerdefinierten URL-Schemas für Ihre App finden Sie Empfehlungen zur Vermeidung von Kollisionen mit benutzerdefinierten URL-Schemas und Sicherheitsrichtlinien für die Behandlung falsch formatierter URLs.

Siehe auch