Vorbereiten von iOS-Apps für App-Schutzrichtlinien mit dem Intune App Wrapping ToolPrepare iOS apps for app protection policies with the Intune App Wrapping Tool

Gilt für: IntuneApplies to: Intune
Dieses Thema bezieht sich auf Intune im Azure-Portal und im klassischen Portal.This topic applies to Intune in both the Azure portal and the classic portal.

Verwenden Sie das Microsoft Intune App Wrapping Tool für iOS zum Aktivieren von Intune-App-Schutzrichtlinien für interne iOS-Apps, ohne den Code der App selbst zu ändern.Use the Microsoft Intune App Wrapping Tool for iOS to enable Intune app protection policies for in-house iOS apps without changing the code of the app itself.

Das Tool ist eine macOS-Befehlszeilenanwendung, die einen Wrapper um eine App erstellt.The tool is a macOS command-line application that creates a wrapper around an app. Sobald eine App verarbeitet wurde, können Sie die App-Funktionen ändern, indem Sie App-Schutzrichtlinien für diese bereitstellen.Once an app is processed, you can change the app's functionality by deploying app protection policies to it.

Das Tools können Sie unter Microsoft Intune App Wrapping Tool for iOS in GitHub herunterladen.To download the tool, see Microsoft Intune App Wrapping Tool for iOS on GitHub.

Allgemeine Voraussetzungen für das App Wrapping ToolGeneral prerequisites for the App Wrapping Tool

Bevor Sie das App Wrapping Tool ausführen, müssen Sie einige allgemeine Voraussetzungen erfüllen:Before you run the App Wrapping Tool, you need to fulfill some general prerequisites:

  • Laden Sie das Microsoft Intune App Wrapping Tool für iOS von GitHub herunter.Download the Microsoft Intune App Wrapping Tool for iOS from GitHub.

  • Mac OS-Computer mit OS X 10.8.5 oder höher und installierter Xcode-Toolsetversion 5 oder höher.A macOS computer that runs OS X 10.8.5 or later and has the Xcode toolset version 5 or later installed.

  • Die Ausgangs-iOS-App muss von Ihrem Unternehmen oder einem unabhängigen Softwareanbieter (ISV) entwickelt und signiert werden.The input iOS app must be developed and signed by your company or an independent software vendor (ISV).

    • Die Ausgangs-App-Datei muss die Erweiterung .ipa oder .app haben.The input app file must have the extension .ipa or .app.

    • Die Ausgangs-App muss für iOS 8.0 kompiliert sein.The input app must be compiled for iOS 8.0. oder höher kompiliert werden.or later.

    • Die Ausgangs-App darf nicht verschlüsselt werden.The input app cannot be encrypted.

    • Die Ausgangs-App darf keine erweiterten Dateiattribute haben.The input app cannot have extended file attributes.

    • Die Ausgangs-App benötigt festgelegte Berechtigungen, bevor sie vom Intune App Wrapping Tool verarbeitet wird.The input app must have entitlements set before being processed by the Intune App Wrapping Tool. Diese Berechtigungen gehen über die üblicherweise erteilten hinaus und ermöglichen zusätzliche Funktionen.Entitlements give the app additional permissions and capabilities beyond those typically granted. Anleitungen finden Sie unter Festlegen von App-Berechtigungen.See Setting app entitlements for instructions.

Apple Developer-Voraussetzungen für das App Wrapping ToolApple Developer prerequisites for the App Wrapping Tool

Um mit dem Wrapping Tool bearbeitete Apps exklusiv an Benutzer in Ihrer Organisation zu verteilen, benötigen Sie ein Apple Developer Enterprise Program-Konto und mehrere Entitäten für die App-Signierung, die mit Ihrem Apple Developer-Konto verknüpft sind.To distribute wrapped apps exclusively to your organization's users, you need an account with the Apple Developer Enterprise Program and several entities for app signing that are linked to your Apple Developer account.

Weitere Informationen zum internen Verteilen von iOS-Apps an die Benutzer in Ihrer Organisation finden Sie im offiziellen Handbuch zum Verteilen von Apple Developer Enterprise Program-Apps.To learn more about distributing iOS apps internally to your organization's users, read the official guide to Distributing Apple Developer Enterprise Program Apps.

Sie benötigen Folgendes zum Verteilen von Apps, die von Intune mit einem Wrapper versehen werden:You will need the following to distribute apps wrapped by Intune:

  • Ein Entwicklerkonto im Apple Developer Enterprise Program.A developer account with the Apple Developer Enterprise Program.

  • Internes und Ad-hoc-Signaturzertifikat für die Verteilung mit gültigem Teambezeichner.In-house and ad-hoc distribution signing certificate with valid Team Identifier.

    • Sie benötigen den SHA1-Hash des Signaturzertifikats als Parameter für das Intune App Wrapping Tool.You will need the SHA1 hash of the signing certificate as a parameter to the Intune App Wrapping Tool.
  • Bereitstellungsprofil für die interne Verteilung.In-house distribution provisioning profile.

Schritte zum Erstellen eines Apple Developer Enterprise-KontosSteps to create an Apple Developer Enterprise account

  1. Wechseln Sie zur Website Apple Developer Enterprise Program.Go to the Apple Developer Enterprise Program site.

  2. Klicken Sie links oben auf Enroll.In the top right of the page, click Enroll.

  3. Lesen Sie die Checkliste unter „What You Need to Enroll“ durch.Read the checklist of what you need to enroll. Klicken Sie auf unten auf der Seite auf Start Your Enrollment.Click Start Your Enrollment at the bottom of the page.

  4. Melden Sie sich mit der Apple ID Ihres Unternehmens an.Sign in with the Apple ID of your organization. Wenn Sie keine haben, klicken Sie auf Create Apple ID.If you don't have one, click Create Apple ID.

  5. Wählen Sie Ihren Entitätstyp aus, und klicken Sie auf Continue.Select your Entity Type and click Continue.

  6. Füllen Sie das Formular mit den Informationen Ihrer Organisation aus.Fill out the form with your organization's information. Klicken Sie auf Continue(Weiter).Click Continue. An dieser Stelle kontaktiert Apple Sie, um zu prüfen, ob Sie zum Registrieren Ihrer Organisation berechtigt sind.At this point, Apple contacts you to verify that you are authorized to enroll your organization.

  7. Klicken Sie nach der Bestätigung auf Agree to License.After verification, click Agree to License.

  8. Beenden Sie nach Zustimmen zu den Lizenzbedingungen den Vorgang durch Erwerben und Aktivieren des Programms.After agreeing to license, finish by purchasing and activating the program.

  9. Wenn Sie sind der Team-Agent (die Person, die im Auftrag Ihres Unternehmens am Apple Developer Enterprise Program teilnimmt) sind, erstellen Sie zunächst Ihr Team, indem Sie Teammitglieder einladen und Rollen zuweisen.If you are the team agent (the person who joins the Apple Developer Enterprise Program on behalf of your organization), build your team first by inviting team members and assigning roles. Informationen zum Verwalten Ihres Teams finden Sie in der Apple-Dokumentation unter Managing Your Developer Account Team.To learn how to manage your team, read the Apple documentation on Managing Your Developer Account Team.

Schritte zum Erstellen eines Apple-SignaturzertifikatsSteps to create an Apple signing certificate

  1. Wechseln Sie zum Apple Developer-Portal.Go to the Apple Developer portal.

  2. Klicken Sie rechts oben auf der Seite auf Account.In the top right of the page, click Account.

  3. Melden Sie sich mit der Apple ID Ihrer Organisation an.Sign in with your organizational Apple ID.

  4. Klicken Sie auf Certificates, IDs & Profiles.Click Certificates, IDs & Profiles.

    Apple Developer-Portal

  5. Klicken Sie aufClick the das Pluszeichen im Apple Developer-Portal (rechts oben), um ein iOS-Zertifikat hinzuzufügen.in the top right corner to add an iOS certificate.

  6. Wählen Sie unter Production das Erstellen eines Zertifikats des Typs In-House and Ad Hoc aus.Choose to create an In-House and Ad Hoc certificate under Production.

    Wählen Sie das „In-House and Ad Hoc“-Zertifikat aus.

    Hinweis

    Wenn Sie nicht planen, die App zu verteilen und sie nur intern testen möchten, können Sie ein iOS App-Entwicklungszertifikat anstelle eines Produktionszertifikats verwenden.If do not plan to distribute the app, and only want to test it internally, you can use an iOS App Development certificate instead of a certificate for Production. Wenn Sie ein Entwicklungszertifikat verwenden, stellen Sie sicher, dass das mobile Bereitstellungsprofil auf Geräte verweist, auf denen die App installiert wird.If you use a development certificate, make sure the mobile provisioning profile references the devices on which the app will be installed.

  7. Klicken Sie unten auf der Seite auf Next.Click Next at the bottom of the page.

  8. Lesen Sie die Anweisungen zum Erstellen einer Zertifikatsignieranforderung (Certificate Signing Request, CSR) mithilfe der Anwendung „Schlüsselbundverwaltung“ auf Ihrem macOS-Computer.Read the instructions on creating a Certificate Signing Request (CSR) using the Keychain Access application on your macOS computer.

    Lesen der Anweisungen zum Erstellen einer CSR

  9. Befolgen Sie die Anweisungen zum Erstellen einer Zertifikatsignieranforderung.Follow the instructions above to create a Certificate Signing Request. Starten Sie auf dem macOS-Computer die Anwendung Schlüsselbundverwaltung.On your macOS computer, launch the Keychain Access application.

  10. Wechseln Sie im macOS-Menü oben auf dem Bildschirm zu Schlüsselbundverwaltung > Zertifikatsassistent > Zertifikat einer Zertifizierungsinstanz anfordern.On the macOS menu at the top of the screen, go to Keychain Access > Certificate Assistant > Request a Certificate From a Certificate Authority.

    Anfordern eines Zertifikats von einer Zertifizierungsinstanz in Schlüsselbundverwaltung

  11. Befolgen Sie die obigen Anweisungen auf der Apple Developer-Website zum Erstellen einer CSR-Datei.Follow the instructions from the Apple developer site above on how to create a CSR file. Speichern Sie die CSR-Datei auf Ihrem macOS-Computer.Save the CSR file to your macOS computer.

    Anfordern eines Zertifikats von einer Zertifizierungsinstanz in Schlüsselbundverwaltung

  12. Kehren Sie zur Apple Developer-Website zurück.Return to the Apple developer site. Klicken Sie auf Continue(Weiter).Click Continue. Laden Sie dann die CSR-Datei hoch.Then upload the CSR file.

  13. Apple generiert Ihr Signaturzertifikat.Apple generates your signing certificate. Laden Sie es herunter, und speichern Sie es an einem einprägsamen Speicherort auf Ihrem macOS-Computer.Download and save it to a memorable location on your macOS computer.

    Herunterladen Ihres Signaturzertifikats

  14. Doppelklicken Sie auf die Zertifikatsdatei, die Sie gerade heruntergeladen haben, um das Zertifikat einem Schlüsselbund hinzuzufügen.Double-click the certificate file you just downloaded to add the certificate to a keychain.

  15. Öffnen Sie Schlüsselbundverwaltung erneut.Open Keychain Access again. Suchen Sie Ihr Zertifikat, indem Sie rechts oben in der Suchleiste nach ihrem Namen suchen.Locate your certificate by searching for its name in the top right search bar. Klicken Sie mit der rechten Maustaste auf das Element, um das Menü einzublenden, und klicken Sie auf Informationen.Right-click on the item to bring up the menu and click Get Info. In den Beispielbildschirmen verwenden wir ein Entwicklungszertifikat anstelle eines Produktionszertifikats.In the example screens, we are using a development certificate instead of a production certificate.

    Hinzufügen Ihres Zertifikats zu einem Schlüsselbund

  16. Ein Informationsfenster wird angezeigt.An informational window appears. Scrollen Sie nach unten, und sehen Sie unter der Bezeichnung Fingerabdrücke nach.Scroll to the bottom and look under the Fingerprints label. Kopieren Sie die SHA1-Zeichenfolge (unscharf), die Sie als Parameter „-c“ für das App Wrapping Tool verwenden.Copy the SHA1 string (blurred out) to use as the argument for "-c" for the App Wrapping Tool.

    Hinzufügen Ihres Zertifikats zu einem Schlüsselbund

Schritte zum Erstellen eines Bereitstellungsprofils für die interne VerteilungSteps to create an In-House Distribution Provisioning profile

  1. Wechseln Sie zurück zum Apple Developer-Kontoportal, und melden Sie sich mit der Apple ID Ihrer Organisation an.Go back to the Apple Developer account portal and sign in with your organizational Apple ID.

  2. Klicken Sie auf Certificates, IDs & Profiles.Click Certificates, IDs & Profiles.

  3. Klicken Sie aufClick the das Pluszeichen im Apple Developer-Portal (rechts oben), um ein iOS-Bereitstellungsprofil hinzuzufügen.in the top right corner to add an iOS provisioning profile.

  4. Wählen Sie unter Distribution das Erstellen eines Bereitstellungsprofils des Typs In House aus.Choose to create an In House provisioning profile under Distribution.

    Auswählen des Bereitstellungsprofils „In House“

  5. Klicken Sie auf Continue(Weiter).Click Continue. Verknüpfen Sie unbedingt das zuvor generierte Signaturzertifikat mit dem Bereitstellungsprofil.Make sure to link the previously generated signing certificate to the provisioning profile.

  6. Befolgen Sie die Anweisungen zum Herunterladen Ihres Profils (mit der Erweiterung „.mobileprovision“) auf Ihren macOS-Computer.Follow the steps to download your profile (with extension .mobileprovision) to your macOS computer.

  7. Speichern Sie die Datei an einem einprägsamen Speicherort.Save the file in a memorable location. Diese Datei wird mit im App Wrapping Tool für den Parameter „-p“ verwendet.This file will be used for the -p parameter while using the App Wrapping Tool.

Herunterladen des App Wrapping ToolsDownload the App Wrapping Tool

  1. Laden Sie die Dateien für das App Wrapping Tool aus GitHub auf einen macOS-Computer herunter.Download the files for the App Wrapping Tool from GitHub to a macOS computer.

  2. Doppelklicken Sie auf Microsoft Intune App Wrapping Tool for iOS.dmg.Double-click Microsoft Intune App Wrapping Tool for iOS.dmg. Ein Fenster mit den Lizenzbedingungen wird angezeigt.A window with the End User License Agreement (EULA) will appear. Lesen Sie das Dokument sorgfältig durch.Read the document carefully.

  3. Wählen Sie Agree (Zustimmen) aus, um die Lizenzbedingungen zu akzeptieren, wodurch das Paket auf Ihrem Computer eingelegt wird.Choose Agree to accept EULA, which mounts the package to your computer.

  4. Öffnen Sie den Ordner IntuneMAMPackager, und speichern Sie seinen Inhalt auf Ihrem macOS-Computer.Open the IntuneMAMPackager folder and save its contents to your macOS computer. Sie können nun das App Wrapping Tool ausführen.You are now ready to run the App Wrapping Tool.

Ausführen des App Wrapping ToolsRun the App Wrapping Tool

Verwenden des TerminalsUse terminal

Öffnen Sie das macOS-Terminalprogramm, und navigieren Sie zu dem Ordner, in dem Sie die App Wrapping Tool-Dateien gespeichert haben.Open the macOS Terminal program and navigate to the folder where you saved the app wrapping tool files. Das ausführbare Tool heißt „IntuneMAMPackager“ und befindet sich in „IntuneMAMPackager/Contents/MacOS“.The executable tool is named IntuneMAMPackager and is located in IntuneMAMPackager/Contents/MacOS. Führen Sie den Befehl wie folgt aus:Run the command as follows:

./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 dargestellt.Some parameters are optional as shown in the following table.

Beispiel: Der Befehl im folgenden Beispiel führt das App Wrapping Tool für eine App mit dem Namen „MyApp.ipa“ aus.Example: The following example command runs the App Wrapping Tool on the app named MyApp.ipa. Es werden ein Bereitstellungsprofil und ein SHA-1-Hash des Signaturzertifikats angegeben und zum Signieren der umschlossenen App verwendet.A provisioning profile and SHA-1 hash of the signing certificate are specified and used to sign the wrapped app. Die Ausgabe-App („MyApp_Wrapped.ipa“) wird erstellt und in Ihrem Desktopordner gespeichert.The output app (MyApp_Wrapped.ipa) is created and stored in your Desktop folder.

./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

BefehlszeilenparameterCommand-line parameters

Sie können die folgenden Befehlszeilenparameter mit dem App Wrapping Tool verwenden:You can use the following command line parameters with the App Wrapping Tool:

EigenschaftProperty VerwendungHow to use it
-i-i <Path of the input native iOS application file>.<Path of the input native iOS application file>. Der Dateiname muss auf APP oder IPA enden.The file name must end in .app or .ipa.
-o-o <Path of the wrapped output application>
-p-p <Path of your provisioning profile for iOS apps>
-c-c <SHA1 hash of the signing certificate>
-h-h Zeigt detaillierte Verwendungsinformationen zu den verfügbaren Befehlszeileneigenschaften für das App Wrapping Tool an.Shows detailed usage information about the available command line properties for the App Wrapping Tool.
-v-v (Optional) Gibt ausführliche Meldungen in die Konsole aus.(Optional) Outputs verbose messages to the console. Sie sollten dieses Flag verwenden, um Fehler zu debuggen.It is recommended to use this flag to debug any errors.
-e-e (Optional) Verwenden Sie dieses Flag, damit das App Wrapping Tool fehlende Berechtigungen bei der Verarbeitung der App entfernt.(Optional) Use this flag to have the App Wrapping Tool remove missing entitlements as it processes the app. Weitere Details finden Sie unter „Festlegen von App-Berechtigungen“.See Setting app entitlements for more details.
-xe-xe (Optional) Gibt Informationen über die iOS-Erweiterungen in der App und die Berechtigungen aus, die für deren Verwendung erforderlich sind.(Optional) Prints information about the iOS extensions in the app and what entitlements are required to use them. Weitere Details finden Sie unter „Festlegen von App-Berechtigungen“.See Setting app entitlements for more details.
-x-x (Optional) <An array of paths to extension provisioning profiles>.(Optional) <An array of paths to extension provisioning profiles>. Verwenden Sie diese Option, wenn Ihre Anwendung Bereitstellungsprofile für Erweiterungen benötigt.Use this if your app needs extension provisioning profiles.
-f-f (Optional) <Path to a plist file specifying arguments.> Verwenden Sie dieses Flag vor der PLIST-Datei, wenn Sie die PLIST-Vorlage verwenden, um die restlichen IntuneMAMPackager-Eigenschaften wie „-i“, „-o“ und „-p“ anzugeben.(Optional) <Path to a plist file specifying arguments.> Use this flag in front of the plist file if you choose to use the plist template to specify the rest of the IntuneMAMPackager properties like -i, -o, and -p. Informationen finden Sie unter „Verwenden einer PLIST-Datei für die Eingabe von Argumenten“.See Use a plist to input arguments.
-b-b (Optional) Verwenden Sie „-b“ ohne ein Argument, wenn die umschlossene Ausgabe-App über die gleiche Bundleversion wie die Eingabe-App verfügen soll (nicht empfohlen).(Optional) Use -b without an argument if you want the wrapped output app to have the same bundle version as the input app (not recommended).

Verwenden Sie -b <custom bundle version>, wenn die umschlossene App über eine benutzerdefinierte CFBundleVersion verfügen soll.Use -b <custom bundle version> if you want the wrapped app to have a custom CFBundleVersion. Wenn Sie eine benutzerdefinierte CFBundleVersion angeben möchten, empfiehlt es sich, die CFBundleVersion der nativen App um die unwichtigste Komponente zu erhöhen, z.B. 1.0.0 -> 1.0.1.If you choose to specify a custom CFBundleVersion, it's a good idea to increment the native app’s CFBundleVersion by the least significant component, like 1.0.0 -> 1.0.1.

Verwenden einer PLIST-Datei für die Eingabe von ArgumentenUse a plist to input arguments

Eine einfache Möglichkeit, das App Wrapping Tool auszuführen, besteht darin, alle Befehlsargumente in einer PLIST-Datei zu platzieren.An easy way to run the App Wrapping Tool is to put all the command arguments into a plist file. PLIST ist ein Dateiformat, das XML ähnelt und das für die Eingabe von Befehlszeilenargumenten mithilfe einer Formularschnittstelle verwenden werden kann.Plist is a file format similar to XML that you can use to input your command line arguments using a form interface.

Öffnen Sie im Ordner „IntuneMAMPackager/Contents/MacOS“ Parameters.plist (eine leere PLIST-Vorlage) mit einem Text-Editor oder Xcode.In the IntuneMAMPackager/Contents/MacOS folder, open Parameters.plist (a blank plist template) with a text editor or Xcode. Geben Sie Ihre Argumente für die folgenden Schlüssel:Enter your arguments for the following keys:

PLIST-SchlüsselPlist key StandardwertDefault value AnmerkungenNotes
Input Application Package PathInput Application Package Path emptyempty Identisch mit „-i“Same as -i
Output Application Package PathOutput Application Package Path emptyempty Identisch mit „-o“Same as -o
Provisioning Profile PathProvisioning Profile Path emptyempty Identisch mit „-p“Same as -p
SHA-1 Certificate HashSHA-1 Certificate Hash emptyempty Identisch mit „-c“Same as -c
Verbose EnabledVerbose Enabled falsefalse Identisch mit „-v“Same as -v
Remove Missing EntitlementsRemove Missing Entitlements falsefalse Identisch mit „-c“Same as -c
Prevent Default BuildPrevent Default Build falsefalse Entspricht der Verwendung von „-b“ ohne ArgumenteEquivalent to using -b without arguments
Build String OverrideBuild String Override emptyempty Die benutzerdefinierte CFBundleVersion der umschlossenen Ausgabe-AppThe custom CFBundleVersion of the wrapped output app
Extension Provisioning Profile PathsExtension Provisioning Profile Paths emptyempty Profile für die Erweiterungsbereitstellung für AppsAn array of extension provisioning profiles for the app.

Führen Sie IntuneMAMPackager mit „plist“ als einziges Argument aus:Run the IntuneMAMPackager with the plist as the sole argument:

./IntuneMAMPackager –f Parameters.plist

Nach dem UmschließenPost-wrapping

Wenn der Prozess zum Umschließen abgeschlossen wurde, wird die Nachricht „The application was successfully wrapped“ (Die Anwendung wurde erfolgreich umschlossen) angezeigt.After the wrapping process completes, the message "The application was successfully wrapped" will be displayed. Falls ein Fehler auftritt, finden Sie unter Fehlermeldungen hilfreiche Informationen.If an error occurs, see Error messages for help.

Die per Wrapping umschlossene Anwendung wird im Ausgabeordner gespeichert, den Sie zuvor angegeben haben.The wrapped app is saved in the output folder you specified previously. Sie können die App in die Intune-Administratorkonsole hochladen und der App eine Richtlinie für die mobile Anwendungsverwaltung zuordnen.You can upload the app to the Intune admin console and associate it with a mobile application management policy.

Wichtig

Wenn Sie eine umschlossene App hochladen, können Sie versuchen, eine ältere Version der Anwendung zu aktualisieren, wenn eine ältere (umschlossene oder native) Version bereits in Intune bereitgestellt wurde.When uploading a wrapped app, you can try to update an older version of the app if an older (wrapped or native) version was already deployed to Intune. Wenn einen Fehler auftritt, laden Sie die App als neue App hoch, und löschen Sie die ältere Version.If you experience an error, upload the app as a new app and delete the older version.

Sie können die App jetzt für Ihre Benutzergruppen bereitstellen und der App Richtlinien zum App-Schutz zuweisen.You can now deploy the app to your user groups and target app protection policies to the app. Die App wird auf dem Gerät mit den von Ihnen angegebenen App-Schutzrichtlinien ausgeführt.The app will run on the device using the app protection policies you specified.

Fehlermeldungen und ProtokolldateienError messages and log files

Verwenden Sie die folgende Informationen, um Problemen mit dem App Wrapping Tool zu behandeln.Use the following information to troubleshoot issues you have with the app wrapping tool.

FehlermeldungenError messages

Wenn das App Wrapping Tool nicht erfolgreich abgeschlossen wurde, wird eine der folgenden Fehlermeldungen in der Konsole angezeigt:If the app wrapping tool fails to finish successfully, one of the following error messages will be displayed in the console:

FehlermeldungError message Weitere InformationenMore information
Sie müssen ein gültiges iOS-Bereitstellungsprofil angeben.You must specify a valid iOS provisioning profile. Ihr Bereitstellungsprofil ist möglicherweise nicht gültig.Your provisioning profile might not be valid. Stellen Sie sicher, dass Sie die richtigen Berechtigungen für die Geräte haben und dass Ihr Profil korrekt auf Entwicklung oder Verteilung abzielt.Check to make sure you have the correct permissions for devices and that your profile is correctly targeting development or distribution. Ihr Bereitstellungsprofil ist möglicherweise auch abgelaufen.Your provisioning profile might also be expired.
Geben Sie einen gültigen Eingabe-Anwendungsnamen an.Specify a valid input application name. Stellen Sie sicher, dass der angegebene Eingabe-App-Name richtig ist.Make sure that the input application name you specified is correct.
Geben Sie einen gültigen Pfad für die Ausgabeanwendung an.Specify a valid path to the output application. Stellen Sie sicher, dass der Pfad zur Ausgabe-App, den Sie angeben, vorhanden und korrekt ist.Make sure that the path to the output application you specified exists, and is correct.
Geben Sie ein gültiges Eingabe-Bereitstellungsprofil an.Specify a valid input provisioning profile. Stellen Sie sicher, dass Sie einen gültigen Bereitstellungs-Profilnamen und die Erweiterung angegeben haben.Make sure you supplied a valid provisioning profile name and extension. In Ihrem Bereitstellungsprofil fehlen Berechtigungen, oder Sie haben möglicherweise nicht die Befehlszeilenoption „–p“ hinzugefügt.Your provisioning profile might be missing entitlements, or you might not have included the –p command line option.
Die angegebene Eingabeanwendung wurde nicht gefunden.The input application you specified was not found. Geben Sie einen gültigen Eingabe-App-Namen und -Pfad an.Specify a valid input application name and path. Stellen Sie sicher, dass der Pfad Ihrer Eingabe-App gültig und vorhanden ist.Make sure your input app path is valid and exists. Stellen Sie sicher, dass die Eingabe-App an diesem Speicherort vorhanden ist.Make sure the input app exists at that location.
Die angegebene Eingabe-Bereitstellungsprofildatei wurde nicht gefunden.The input provisioning profile file you specified was not found. Geben Sie eine gültige Eingabe-Bereitstellungsprofildatei an.Specify a valid input provisioning profile file. Stellen Sie sicher, dass der Pfad der Eingabe-Bereitstellungsprofildatei gültig ist und die angegebene Datei vorhanden ist.Make sure that the path to the input provisioning file is valid and that the file you specified exists.
Der angegebene Ausgabeordner für die Anwendung wurde nicht gefunden.The output application folder you specified was not found. Geben Sie einen gültigen Pfad für die Ausgabeanwendung an.Specify a valid path to the output application. Stellen Sie sicher, dass der von Ihnen angegebene Ausgabepfad gültig und vorhanden ist.Make sure that the output path you specified is valid and exists.
Die Ausgabe-App hat keine IPA-Erweiterung.Output app does not have .ipa extension. Nur Apps mit den Erweiterungen APP und IPA werden vom App Wrapping Tool akzeptiert.Only apps with the .app and .ipa extensions are accepted by the App Wrapping Tool. Stellen Sie sicher, dass die Ausgabedatei eine gültige Erweiterung hat.Make sure your output file has a valid extension.
Es wurde ein ungültiges Signaturzertifikat angegeben.An invalid signing certificate was specified. Geben Sie ein gültiges Signaturzertifikat von Apple an.Specify a valid Apple signing certificate. Stellen Sie sicher, dass Sie das richtige Signaturzertifikat aus dem Apple-Entwicklerportal heruntergeladen haben.Make sure you’ve downloaded the correct signing certificate from the Apple developer portal. Ihr Zertifikat ist möglicherweise abgelaufen oder verfügt über keinen öffentlichen oder privaten Schlüssel.Your certificate might be expired or might be missing a public or private key. Wenn Ihr Apple-Zertifikat und das Bereitstellungsprofil verwendet werden können, um eine App in Xcode ordnungsgemäß zu signieren, sind sie für das App Wrapping Tool gültig.If your Apple certificate and provisioning profile can be used to correctly sign an app within Xcode, then they are valid for the App Wrapping Tool.
Die angegebene Eingabeanwendung ist ungültig.The input application you specified is invalid. Geben Sie eine gültige Anwendung an.Specify a valid application. Stellen Sie sicher, dass Sie über eine gültige iOS-Anwendung verfügen, die als APP- oder IPA-Datei kompiliert wurde.Make sure you have a valid iOS application that has been compiled as an .app or .ipa file.
Die angegebene Eingabeanwendung ist verschlüsselt.The input application you specified is encrypted. Geben Sie eine gültige unverschlüsselte Anwendung an.Specify a valid unencrypted application. Das App Wrapping Tool unterstützt keine verschlüsselten Apps.The App Wrapping Tool does not support encrypted apps. Stellen Sie eine unverschlüsselte App bereit.Provide an unencrypted app.
Die angegebene Eingabeanwendung liegt nicht im PIE-Format (Positionsunabhängige ausführbare Datei) vor.The input application you specified is not in a Position Independent Executable (PIE) format. Geben Sie eine gültige Anwendung im PIE-Format an.Specify a valid application in PIE format. PIE-Apps können beim Ausführen an einer zufälligen Speicheradresse geladen werden.Position Independent Executable (PIE) apps can be loaded at a random memory address when run. Dies kann Sicherheitsvorteile haben.This can have security benefits. Weitere Informationen zu Sicherheitsvorteilen finden Sie in Ihrer Apple-Entwicklerdokumentation.For more about security benefits, see your Apple Developer documentation.
Die angegebene Eingabe-App wurde bereits umschlossen.The input app you specified has already been wrapped. Geben Sie eine App ohne Wrapping an.Specify a valid unwrapped application. Sie können eine App, die vom Tool bereits verarbeitet wurde, nicht erneut verarbeiten.You cannot process an app that has already been processed by the tool. Wenn Sie eine App erneut verarbeiten möchten, führen Sie das Tool mit der ursprünglichen Version der App aus.If you want to process an app again, run the tool using the original version of the app.
Die angegebene Eingabeanwendung ist nicht signiert.The input application you specified is not signed. Geben Sie eine gültige signierte Anwendung an.Specify a valid signed application. Das App Wrapping Tool erfordert, dass Apps signiert sind.The app wrapping tool requires apps to be signed. Lesen Sie in der Entwicklerdokumentation, wie Sie eine umschlossene App signieren.Consult your developer documentation to learn how to sign a wrapped app.
Die angegebene Eingabeanwendung muss im IPA- oder APP-Format vorliegen.The input application you specified must be in the .ipa or .app format. Nur APP- und IPA-Erweiterungen werden vom App Wrapping Tool akzeptiert.Only .app and .ipa extensions are accepted by the app wrapping tool. Stellen Sie sicher, dass Ihre Eingabedatei eine gültige Erweiterung hat und als APP- oder IPA-Datei kompiliert wurde.Make sure your input file has a valid extension and has been compiled as a .app or .ipa file.
Die angegebene Eingabe-App wurde bereits umschlossen und verwendet die neueste Version der Richtlinienvorlage.The input app you specified has already been wrapped and is on the latest policy template version. Das App Wrapping Tool umschließt eine vorhandene umschlossene App mit der neuesten Version der Richtlinienvorlage nicht erneut.The App Wrapping Tool will not rewrap an existing wrapped app with the latest policy template version.
WARNUNG: Sie haben kein SHA1-Zertifikathash angegeben.WARNING: You did not specify a SHA1 certificate hash. Stellen Sie sicher, dass die umschlossene Anwendung vor der Bereitstellung signiert wird.Make sure that your wrapped application is signed before deploying. Stellen Sie sicher, dass Sie ein gültiges SHA1-Hash gefolgt vom Befehlszeilenflag „–c“ angeben.Ensure that you specify a valid SHA1 hash following the –c command line flag.

Protokolldateien für das App Wrapping ToolLog files for the App Wrapping Tool

Apps, die mit dem App Wrapping Tool umschlossen wurden, generieren Protokolle, die in die iOS-Clientgerätekonsole geschrieben werden.Apps that have been wrapped by using the App Wrapping Tool generate logs that are written to the iOS client device console. Diese Informationen sind hilfreich, wenn Sie Probleme mit der Anwendung haben und ermitteln möchten, ob das Problem mit dem App Wrapping Tool zusammenhängt.This information is useful when you are having problems with the application and need to determine if the issue is related to the App Wrapping Tool. Führen Sie die folgenden Schritte aus, um die Informationen abzurufen:To retrieve this information, use the following steps:

  1. Reproduzieren Sie das Problem durch Ausführen der App.Reproduce the issue by running the app.

  2. Sammeln Sie die Konsolenausgabe mit den folgenden Apple-Anweisungen für das Debuggen bereitgestellter iOS-Apps.Collect the console output by following Apple's instructions for Debugging Deployed iOS Apps.

  3. Filtern Sie die gespeicherten Protokolle nach der Ausgabe von App-Einschränkungen, indem Sie das folgende Skript in die Konsole eingeben:Filter the saved logs for App Restrictions output by entering the following script into the console:

    grep “IntuneAppRestrictions” <text file containing console output> > <required filtered log file name>
    

    Sie können die gefilterten Protokolle an Microsoft senden.You can submit the filtered logs to Microsoft.

    Hinweis

    In der Protokolldatei stellt das Element "Buildversion" die Version von Xcode dar.In the log file, the item ‘build version’ represents the build version of Xcode.

    Umschlossene Apps geben auch Benutzern die Möglichkeit, die Protokolle direkt vom Gerät per E-Mail zu versenden, falls die App abstürzt.Wrapped apps will also present users the option to send logs directly from the device via email after the app crashes. Benutzer können Ihnen das Protokoll zusenden, damit Sie es überprüfen und ggf. an Microsoft weiterleiten.Users can send the logs to you to examine and forward to Microsoft if necessary.

Anforderungen an Zertifikat, Bereitstellungsprofil und AuthentifizierungCertificate, provisioning profile, and authentication requirements

Damit eine vollständige Funktionalität gewährleistet werden kann, müssen die Voraussetzungen für das App Wrapping Tool für iOS erfüllt sein.The App Wrapping Tool for iOS has some requirements that must be met in order to guarantee full functionality.

AnforderungenRequirement DetailsDetails
iOS-BereitstellungsprofiliOS provisioning profile Stellen Sie sicher, dass das Bereitstellungsprofil gültig ist, bevor Sie es einfügen.Make sure that the provisioning profile is valid before you include it. Das App Wrapping Tool überprüft bei der Verarbeitung einer iOS-App nicht, ob das Bereitstellungsprofil abgelaufen ist.The App Wrapping Tool does not check whether the provisioning profile is expired when processing an iOS app. Wenn ein abgelaufenes Bereitstellungsprofil angegeben wird, umfasst das App Wrapping Tool das abgelaufene Bereitstellungsprofil; Sie wissen erst dann, dass ein Problem vorliegt, wenn die Anwendung nicht mehr auf einem iOS-Gerät installiert werden kann.If an expired provisioning profile is specified, the app wrapping tool will include the expired provisioning profile, and you will not know there is a problem until the app fails to install on an iOS device.
iOS-SignaturzertifikatiOS signing certificate Stellen Sie sicher, dass das Signaturzertifikat gültig ist, bevor Sie es angeben.Make sure that the signing certificate is valid before you specify it. Das App Wrapping Tool überprüft bei der Verarbeitung einer iOS-App nicht, ob das Zertifikat abgelaufen ist.The tool does not check whether a certificate is expired when processing iOS apps. Wenn ein Hash für ein abgelaufenes Zertifikat bereitgestellt wird, kann das Tool die App verarbeiten und signieren, jedoch die Installation auf Geräten schlägt fehl.If the hash for an expired certificate is provided, the tool will process and sign the app, but it will fail to install on devices.

Stellen Sie sicher, dass das für die Signierung der umschlossenen App bereitgestellte Zertifikat im Bereitstellungsprofil enthalten ist.Make sure that the certificate provided for signing the wrapped app has a match in the provisioning profile. Das Tool überprüft nicht, ob das Bereitstellungsprofil über eine Übereinstimmung für das Zertifikat zum Signieren der umschlossenen Anwendung verfügt.The tool does not validate if the provisioning profile has a match for the certificate provided for signing the wrapped application.
AuthentifizierungAuthentication Ein Gerät muss eine PIN haben, damit die Verschlüsselung funktioniert.A device must have a PIN for encryption to work. Auf Geräten, auf denen Sie eine umschlossene App bereitgestellt haben, muss sich der Benutzer beim Berühren der Statusleiste auf dem Gerät erneut mit einem Geschäfts-, Schul- oder Unikonto anmelden.On devices to which you have deployed a wrapped app, touching the status bar on the device will require the user to sign in again with a work or school account. Die Standardrichtlinie in einer umschlossenen Anwendung lautet authentication on re-launch (Authentifizierung bei Neustart).The default policy in a wrapped app is authentication on re-launch. iOS verarbeitet externe Benachrichtigungen (wie einen Anruf), indem die App beendet und erneut gestartet wird.iOS handles any external notification (like a phone call) by exiting the app and then re-launching it.

Festlegen von App-BerechtigungenSetting app entitlements

Vor dem Umschließen Ihrer App können Sie Berechtigungen erteilen, um der App zusätzliche Berechtigungen und Funktionen zu gewähren, die über das hinaus gehen, was einer App typischerweise gestattet ist.Before wrapping your app, you can grant entitlements to give the app additional permissions and capabilities that exceed what an app can typically do. Eine Berechtigungsdatei wird während der Codesignatur verwendet, um spezielle Berechtigungen innerhalb Ihrer App anzugeben (z. B. Zugriff auf einen freigegebenen Schlüsselbund).An entitlement file is used during code signing to specify special permissions within your app (for example, access to a shared keychain). Bestimmte App-Dienste (Funktionen) werden während der App-Entwicklung innerhalb von Xcode aktiviert.Specific app services called capabilities are enabled within Xcode during app development. Nach ihrer Aktivierung werden die Funktionen in Ihrer Berechtigungsdatei wiedergegeben.Once enabled, the capabilities are reflected in your entitlements file. Weitere Informationen zu Berechtigungen und Funktionen finden Sie unter Hinzufügen von Funktionen in der iOS-Entwicklerbibliothek.For more information about entitlements and capabilities, see Adding Capabilities in the iOS Developer Library. Eine vollständige Liste der unterstützten Funktionen finden Sie unter Unterstützte Funktionen.For a complete list of supported capabilities, see Supported capabilities.

Unterstützte Funktionen für das App Wrapping Tool für iOSSupported capabilities for the App Wrapping Tool for iOS

FunktionCapability BeschreibungDescription Empfohlene VorgehensweiseRecommended guidance
App-GruppenApp groups Verwenden Sie App-Gruppen, um mehreren Apps den Zugriff auf freigegebene Container zu gestatten und um die zusätzliche, prozessübergreifende Kommunikation zwischen Apps zu ermöglichen.Use app groups to allow multiple apps to access shared containers and allow additional interprocess communication between apps.

Um App-Gruppen zu aktivieren, öffnen Sie den Bereich Funktionen, und klicken Sie unter App-Gruppen auf EIN.To enable app groups, open the Capabilities pane and click ON in App Groups. Sie können App-Gruppen hinzufügen oder vorhandene auswählen.You can add app groups or select existing ones.
Bei Verwendung von App-Gruppen verwenden Sie Reverse-DNS-Notation:When using App Groups, use reverse DNS notation:

group.com.companyName.AppGroupgroup.com.companyName.AppGroup
HintergrundmodiBackground modes Durch das Aktivieren von Hintergrundmodi kann Ihre iOS-App weiter im Hintergrund ausgeführt werden.Enabling background modes lets your iOS app continue running in the background.
DatenschutzData protection Der Schutz von Daten erhöht die Sicherheit der von Ihrer iOS-App auf einem Datenträger gespeicherten Dateien.Data protection adds a level of security to files stored on disk by your iOS app. Der Schutz von Daten 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.Data protection uses the built-in encryption hardware present on specific devices to store files in an encrypted format on disk. Ihre App muss bereitgestellt sein, um den Schutz von Daten verwenden zu können.Your app needs to be provisioned to use data protection.
In-App-EinkaufIn-app purchase Ein In-App-Einkauf bettet einen Store direkt in Ihre App ein, indem Ihnen ermöglicht wird, eine Verbindung mit dem Store herzustellen und Zahlungen des Benutzers sicher zu verarbeiten.In-app purchase embeds a store directly into your app by enabling you to connect to the store and securely process payments from the user. Mithilfe eines In-App-Einkaufs können Sie die Zahlungen für erweiterte Funktionen oder für zusätzliche Inhalte abwickeln, die von Ihrer App verwendet werden können.You can use in-app purchase to collect payment for enhanced functionality or for additional content usable by your app.
SchlüsselbundfreigabeKeychain sharing Durch die Aktivierung der Schlüsselbundfreigabe kann Ihre App Kennwörter im Schlüsselbund gemeinsam mit anderen Apps verwenden, die von Ihrem Team entwickelt wurden.Enabling keychain sharing lets your app share passwords in the keychain with other apps developed by your team. Bei Verwendung der Schlüsselbundfreigabe verwenden Sie die umgekehrte DNS-Schreibweise:When using keychain sharing, use reverse DNS notation:

com.companyName.KeychainGroupcom.companyName.KeychainGroup
Persönliches VPNPersonal VPN Aktivieren Sie persönliches VPN, um Ihrer App das Erstellen und Kontrollieren einer benutzerdefinierten VPN-Systemkonfiguration unter Verwendung des Netzwerkerweiterungs-Frameworks zu gestatten.Enable personal VPN to allow your app to create and control a custom system VPN configuration using the Network Extension framework.
PushbenachrichtigungenPush notifications Der Apple Push Notification Service (APNs) ermöglicht einer App, die nicht im Vordergrund ausgeführt wird, den Benutzer darüber zu benachrichtigen, dass sie Informationen für den Benutzer hat.Apple Push Notification service (APNs) lets an app that isn’t running in the foreground notify the user that it has information for the user. Damit Pushbenachrichtigungen funktionieren, müssen Sie ein App-spezifisches Bereitstellungsprofil verwenden.For push notifications to work, you need to use an app-specific provisioning profile.

Befolgen Sie die Schritte in der Apple-Entwicklerdokumentation.Follow the steps in the Apple developer documentation.
Konfiguration von drahtlosem ZubehörWireless accessory configuration Die Aktivierung der Konfiguration von drahtlosem Zubehör fügt Ihrem Projekt das Framework für externes Zubehör hinzu und ermöglicht Ihrer App die Einrichtung von MFi-WLAN-Zubehör.Enabling wireless accessory configuration adds the External Accessory framework to your project and lets your app set up MFi Wi-Fi accessories.

Schritte zur Aktivierung von BerechtigungenSteps to enable entitlements

  1. Aktivieren Sie Funktionen in Ihrer App:Enable capabilities in your app:

    a.a. Navigieren Sie in Xcode zum Ziel Ihrer App, und klicken Sie auf Funktionen.In Xcode, go to your app’s target, and click Capabilities.

    b.b. Aktivieren Sie die entsprechenden Funktionen.Turn on the appropriate capabilities. Ausführlichere Informationen zu jeder einzelnen Funktion und wie Sie die richtigen Werte bestimmen, finden Sie unter Hinzufügen von Funktionen in der iOS-Entwicklerbibliothek.For detailed information about each capability and how to determine the correct values, see Adding Capabilities in the iOS Developer Library.

    c.c. Notieren Sie sich alle IDs, die Sie während des Prozesses erstellt haben.Note any IDs that you created during the process.

    d.d. Erstellen und signieren Sie Ihre App, die umschlossen werden soll.Build and sign your app to be wrapped.

  2. Aktivieren Sie Berechtigungen in Ihrem Bereitstellungsprofil:Enable entitlements in your provisioning profile:

    a.a. Melden Sie sich beim „Apple Developer Member Center“ an.Sign in to the Apple Developer Member Center.

    b.b. Erstellen Sie ein Bereitstellungsprofil für Ihre App.Create a provisioning profile for your app. Anleitungen hierzu finden Sie unter Abrufen der erforderlichen Komponenten für das Intune App Wrapping Tool für iOS.For instructions, see How to Obtain the Prerequisites for the Intune App Wrapping Tool for iOS.

    c.c. Aktivieren Sie in Ihrem Bereitstellungsprofil dieselben Berechtigungen, die Sie in Ihrer App haben.In your provisioning profile, enable the same entitlements that you have in your app. Sie müssen dieselben IDs angeben, die Sie während der Entwicklung Ihrer App angegeben haben.You will need to supply the same IDs that you specified during the development of your app.

    d.d. Schließen Sie den Bereitstellungsprofil-Assistenten ab, und laden Sie Ihre Datei herunter.Finish the provisioning profile wizard and download your file.

  3. Stellen Sie sicher, dass Sie alle Voraussetzungen erfüllt haben, und umschließen Sie dann die App.Ensure that you have satisfied all the prerequisites, and then wrap the app.

Behandlung häufiger Fehler mit BerechtigungenTroubleshoot common errors with entitlements

Wenn das App Wrapping Tool für iOS einen Berechtigungsfehler anzeigt, probieren Sie die folgenden Problembehandlungsschritte.If the App Wrapping Tool for iOS shows an entitlement error, try the following troubleshooting steps.

ProblemIssue UrsacheCause LösungResolution
Fehler beim Analysieren der von der Eingabeanwendung generierten Berechtigungen.Failed to parse entitlements generated from the input application. Das App Wrapping Tool kann die Berechtigungsdatei, die aus der App extrahiert wurde, nicht lesen.The App Wrapping Tool cannot read the entitlements file that was extracted from the app. Die Berechtigungsdatei ist möglicherweise falsch formatiert.The entitlements file might be malformed. Untersuchen Sie die Berechtigungsdatei für Ihre App.Inspect the entitlements file for your app. Mit den folgenden Anweisungen wird erläutert, wie hierbei vorzugehen ist.The following instructions explain how to do so. Überprüfen Sie beim Untersuchen der Berechtigungsdatei auf falsch formatierte Syntax.When inspecting the entitlements file, check for any malformed syntax. Die Datei sollte im XML-Format sein.The file should be in XML format.
Berechtigungen fehlen im Bereitstellungsprofil (fehlende Berechtigungen sind aufgeführt).Entitlements are missing in the provisioning profile (missing entitlements are listed). Packen Sie die App neu mit einem Bereitstellungsprofil, das diese Berechtigungen enthält.Repackage the app with a provisioning profile that has these entitlements. Zwischen den im Bereitstellungsprofil aktivierten Berechtigungen und den in der App aktivierten Funktionen besteht ein Konflikt .There is a mismatch between the entitlements enabled in the provisioning profile and the capabilities enabled in the app. Dieser Konflikt gilt auch für die IDs, die bestimmten Funktionen (wie App-Gruppen und Schlüsselbundzugriff) zugeordnet sind.This mismatch also applies to the IDs associated with particular capabilities (like app groups and keychain access). Im Allgemeinen können Sie ein neues Bereitstellungsprofil erstellen, das dieselben Funktionen wie die App aktiviert.Generally, you can create a new provisioning profile that enables the same capabilities as the app. Wenn die IDs zwischen dem Profil und der App nicht übereinstimmen, ersetzt das App Wrapping Tool die IDs, wenn es dazu in der Lage ist.When IDs between the profile and app don't match, the App Wrapping Tool will replace the IDs if it is able to. Wenn der Fehler auch nach dem Erstellen eines neuen Bereitstellungsprofils auftritt, können Sie versuchen, das Problem zu beseitigen, indem Sie Berechtigungen mithilfe des Parameters „–e“ aus der App entfernen. (Informationen hierzu finden Sie im Abschnitt „Verwenden des Parameters „–e“ zum Entfernen von Berechtigungen aus einer App“).If you still get this error after creating a new provisioning profile, you can try removing entitlements from the app by using the –e parameter (see Using the –e parameter to remove entitlements from an app section).

Ermitteln vorhandener Berechtigungen einer signierten AppFind the existing entitlements of a signed app

So überprüfen Sie die vorhandenen Berechtigungen einer signierten App und eines Bereitstellungsprofils:To review the existing entitlements of a signed app and provisioning profile:

  1. Suchen Sie die IPA-Datei, und ändern Sie ihre Erweiterung in ZIP.Find the .ipa file and change its the extension to .zip.

  2. Erweitern Sie die ZIP-Datei.Expand the .zip file. Dies erzeugt einen Nutzlastordner, der Ihr .app-Paket enthält.This will produce a Payload folder containing your .app bundle.

  3. Verwenden Sie das Codesignaturtool, um die Berechtigungen des APP-Pakets zu überprüfen. Dabei ist YourApp.app der tatsächliche Name Ihres APP-Pakets:Use the codesign tool to check the entitlements on the .app bundle, where YourApp.app is the actual name of your .app bundle.:

    $ codesign -d --entitlements :- "Payload/YourApp.app"
    
  4. Verwenden Sie das Sicherheitstool, um die Berechtigungen des in die App eingebetteten Bereitstellungsprofils zu überprüfen. Dabei ist YourApp.app der tatsächliche Name Ihres APP-Pakets.Use the security tool to check the entitlements of the app's embedded provisioning profile, where YourApp.app is the actual name of your .app bundle.

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

Entfernen von Berechtigungen aus einer App mit dem Parameter „–e“Remove entitlements from an app by using the –e parameter

Dieser Befehl entfernt alle aktivierten Funktionen in der App, die nicht in der Berechtigungsdatei enthalten sind.This command removes any enabled capabilities in the app that are not in the entitlements file. Wenn Sie Funktionen entfernen, die von der App verwendet werden, kann dies zu einer Beschädigung der App führen.If you remove capabilities that are being used by the app, it can break your app. Fehlende Funktionen können beispielsweise dann entfernt werden, wenn eine Drittanbieter-App standardmäßig über alle Funktionen verfügt.An example of where you might remove missing capabilities is in a vendor-produced app that has all capabilities by default.

./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 das App Wrapping ToolSecurity and privacy for the App Wrapping Tool

Verwenden Sie die folgenden bewährten Methoden zu Sicherheit und Datenschutz, wenn Sie das App Wrapping Tool verwenden.Use the following security and privacy best practices when you use the App Wrapping Tool.

  • Das von Ihnen angegebene Signaturzertifikat, das Bereitstellungsprofil und die Branchen-App müssen sich auf demselben macOS-Computer befinden, den Sie für die Ausführung des App Wrapping Tools verwenden.The signing certificate, provisioning profile, and the line-of-business app you specify must be on the same macOS machine that you use to run the app wrapping tool. Wenn sich die Dateien in einem UNC-Pfad befinden, stellen Sie sicher, dass mit dem macOS-Computer darauf zugegriffen werden kann.If the files are on a UNC path, ensure that these are accessible from the macOS machine. Der Pfad muss über IPsec oder SMB-Signaturen geschützt werden.The path must be secured via IPsec or SMB signing.

    Die umschlossene Anwendung, die in die Administratorkonsole importiert wurde, muss sich auf dem Computer befinden, auf dem Sie das Tool ausführen.The wrapped application imported into the admin console should be on the same computer that you run the tool on. Wenn sich die Datei in einem UNC-Pfad befindet, stellen Sie sicher, dass der Computer mit der Administratorkonsole darauf zugreifen kann.If the file is on a UNC path, ensure that it is accessible on the computer running the admin console. Der Pfad muss über IPsec oder SMB-Signaturen geschützt werden.The path must be secured via IPsec or SMB signing.

  • Die Umgebung, in die das App Wrapping Tool aus dem GitHub-Repository heruntergeladen wird, muss über IPsec- oder SMB-Signaturen geschützt sein.The environment where the App Wrapping Tool is downloaded from the GitHub repository needs to be secured via IPsec or SMB signing.

  • Die App, die Sie verarbeiten, muss zum Schutz gegen Angriffe aus einer vertrauenswürdigen Quelle stammen.The app you process must come from a trustworthy source to ensure protection against attacks.

  • Stellen Sie sicher, dass der Ausgabeordner, den Sie im App Wrapping Tool angeben, gesichert ist, insbesondere, wenn es sich um einen Remoteordner handelt.Ensure that the output folder you specify in the App Wrapping Tool is secured, particularly if it is a remote folder.

  • iOS-Apps, die ein Dialogfeld zum Hochladen von Dateien enthalten, können Benutzern erlauben, die Einschränkungen beim Ausschneiden, Kopieren und Einfügen für die App zu umgehen.iOS apps that include a file upload dialog box can allow users to circumvent, cut, copy, and paste restrictions applied to the app. Z. B. kann ein Benutzer das Dialogfeld zum Dateien hochladen verwenden, um einen Screenshot der App-Daten hochzuladen.For example, a user could use the file upload dialog box to upload a screenshot of the app data.

  • Wenn Sie den Dokumentordner auf Ihrem Gerät über eine umschlossenen App überwachen, sehen Sie möglicherweise einen Ordner namens „.msftintuneapplauncher“.When you monitor the documents folder on your device from within a wrapped app, you might see a folder named .msftintuneapplauncher. Wenn Sie diese Datei ändern oder löschen, beeinträchtigt dies möglicherweise die ordnungsgemäße Funktionsweise der eingeschränkten Apps.If you change or delete this file, it might affect the correct functioning of restricted apps.

Weitere Informationen:See also