Przygotowywanie aplikacji systemu iOS pod kątem zasad ochrony aplikacji przy użyciu Intune App Wrapping Tool

Użyj Microsoft Intune App Wrapping Tool dla systemu iOS, aby włączyć zasady ochrony aplikacji Intune dla wewnętrznych aplikacji systemu iOS bez zmieniania kodu samej aplikacji.

Narzędzie jest aplikacją wiersza polecenia systemu macOS, która tworzy otokę wokół aplikacji. Po przetworzeniu aplikacji możesz zmienić funkcjonalność aplikacji, wdrażając w niej zasady ochrony aplikacji .

Aby pobrać narzędzie, zobacz Microsoft Intune App Wrapping Tool dla systemu iOS w witrynie GitHub.

Uwaga

Jeśli masz problemy z używaniem Intune App Wrapping Tool w aplikacjach, prześlij prośbę o pomoc w witrynie GitHub.

Ogólne wymagania wstępne dotyczące App Wrapping Tool

Przed uruchomieniem App Wrapping Tool należy spełnić kilka ogólnych wymagań wstępnych:

  • Pobierz Microsoft Intune App Wrapping Tool dla systemu iOS z witryny GitHub.

  • Komputer z systemem macOS z zainstalowanym zestawem narzędzi Xcode w wersji 16.0 lub nowszej.

  • Twoja firma lub niezależny dostawca oprogramowania (ISV) musi opracować i podpisać wejściową aplikację systemu iOS.

    • Plik musi mieć rozszerzenie ipa lub .app.

    • Musi być skompilowany dla systemu iOS 16.0 lub nowszego.

    • Nie można go zaszyfrować.

    • Brak rozszerzonych atrybutów pliku.

    • Ustaw uprawnienia przed przetworzeniem aplikacji za pomocą Intune App Wrapping Tool. Uprawnienia dają aplikacji więcej uprawnień i możliwości niż zwykle udzielane. Aby uzyskać instrukcje, zobacz Konfigurowanie uprawnień aplikacji .

  • Upewnij się, że w pęku kluczy systemu istnieją prawidłowe certyfikaty podpisywania. Jeśli masz problemy z podpisywaniem kodu aplikacji, wykonaj następujące czynności, aby je rozwiązać:
    • Resetowanie ustawień zaufania dla wszystkich powiązanych certyfikatów
    • Instalowanie certyfikatów pośrednich w pęku kluczy systemu i pęku kluczy logowania
    • Odinstalowanie i ponowne zainstalowanie wszystkich powiązanych certyfikatów

Rejestrowanie aplikacji w Microsoft Entra ID

  1. Zarejestruj swoje aplikacje przy użyciu usługi Tożsamość Microsoft Entra ID. Aby uzyskać więcej informacji, zobacz Rejestrowanie aplikacji na Platforma tożsamości Microsoft.
  2. Dodaj niestandardowy adres URL przekierowania do ustawień aplikacji. Aby uzyskać więcej informacji, zobacz Konfigurowanie biblioteki MSAL.
  3. Udzielanie aplikacji dostępu do usługi MAM usługi Intune. For more information, see Give your app access to the Intune Mobile App Management service.
  4. Po zakończeniu powyższych zmian uruchom najnowszą wersję narzędzia opakowującego aplikacje usługi Intune. Konfigurowanie aplikacji dla biblioteki Microsoft Authentication Library (MSAL): dodaj identyfikator klienta aplikacji Microsoft Entra do parametrów wiersza polecenia za pomocą Intune App Wrapping Tool. Aby uzyskać więcej informacji, zobacz Parametry wiersza polecenia.

Uwaga

Parametry -ac i -ar parametry są parametrami wymaganymi. Każda aplikacja wymaga unikatowego zestawu tych parametrów. -aa jest wymagana tylko w przypadku aplikacji z jedną dzierżawą.

  1. Wdróż aplikację.

Wymagania wstępne dewelopera firmy Apple dotyczące narzędzia App Wrapping Tool

Aby dystrybuować opakowane aplikacje wyłącznie wśród użytkowników organizacji, potrzebne jest konto w programie Apple Developer Enterprise Program i kilka jednostek do podpisywania aplikacji, które są połączone z kontem dewelopera Apple.

Aby dowiedzieć się więcej na temat wewnętrznej dystrybucji aplikacji systemu iOS wśród użytkowników organizacji, przeczytaj oficjalny przewodnik dotyczący dystrybucji aplikacji w ramach programu Apple Developer Enterprise Program.

Do rozpowszechniania aplikacji pakowanych przez usługę Intune wymagane są następujące elementy:

  • Konto dewelopera w programie Apple Developer Enterprise.

  • Certyfikat podpisywania dystrybucji wewnętrznej i ad hoc z prawidłowym identyfikatorem zespołu.

    • Jako parametr Intune App Wrapping Tool należy użyć skrótu SHA1 certyfikatu podpisywania.
  • Profil aprowizacji dystrybucji wewnętrznej.

Tworzenie konta Apple Developer Enterprise

  1. Przejdź do witryny programu Apple Developer Enterprise Program.

  2. W prawym górnym rogu strony wybierz pozycję Zarejestruj się.

  3. Przeczytaj listę kontrolną tego, co musisz zarejestrować. Wybierz pozycję Rozpocznij rejestrację u dołu strony.

  4. Zaloguj się przy użyciu konta Apple swojej organizacji. Jeśli go nie masz, wybierz pozycję Utwórz konto Apple.

  5. Wybierz typ jednostki i wybierz pozycję Kontynuuj.

  6. Wypełnij formularz, wprowadzając informacje o organizacji. Naciśnij przycisk Kontynuuj. W tym momencie Apple skontaktuje się z Tobą, aby sprawdzić, czy masz uprawnienia do zarejestrowania organizacji.

  7. Po weryfikacji wybierz pozycję Zaakceptuj licencję.

  8. Po wyrażeniu zgody na licencję, zakończ poprzez zakup i aktywację programu.

  9. Jeśli jesteś agentem zespołu (osobą, która dołącza do programu Apple Developer Enterprise dla Twojej organizacji), zaproś członków zespołu i przypisz role, aby zbudować zespół. Aby dowiedzieć się, jak zarządzać zespołem, zapoznaj się z dokumentacją firmy Apple na temat zarządzania zespołem kont deweloperów.

Tworzenie certyfikatu podpisywania firmy Apple

  1. Przejdź do portalu Apple Developer Portal.

  2. W prawym górnym rogu strony wybierz pozycję Konto.

  3. Zaloguj się przy użyciu konta Apple swojej organizacji.

  4. Wybierz pozycję Certyfikaty, identyfikatory & profile.

    Apple Developer Portal — certyfikaty, identyfikatory & profile

  5. Wybierz znak plus portalu dla deweloperów Apple w prawym górnym rogu. Ta akcja spowoduje dodanie certyfikatu systemu iOS.

  6. Wybierz opcję tworzenia certyfikatu wewnętrznego i certyfikatu ad hoc w obszarze Produkcja.

    Wybieranie certyfikatu In-House i certyfikatu ad hoc

    Uwaga

    Jeśli nie planujesz dystrybucji aplikacji i chcesz przetestować ją tylko wewnętrznie, możesz użyć certyfikatu rozwoju aplikacji dla systemu iOS zamiast certyfikatu produkcyjnego. Jeśli używasz certyfikatu deweloperskiego, upewnij się, że profil inicjowania obsługi urządzeń przenośnych zawiera urządzenia, na których planujesz zainstalować aplikację.

  7. Wybierz pozycję Dalej u dołu strony.

  8. Przeczytaj instrukcje dotyczące tworzenia żądania podpisania certyfikatu (CSR) przy użyciu aplikacji dostępu do pęku kluczy na komputerze z systemem macOS.

    Przeczytaj instrukcje tworzenia CSR

  9. Postępuj zgodnie z wcześniejszymi instrukcjami, aby utworzyć żądanie podpisania certyfikatu. Na komputerze z systemem macOS uruchom aplikację Dostęp do pęku kluczy .

  10. W menu systemu macOS w górnej części ekranu przejdź do pozycji Asystent > certyfikatów dostępu > do pęku kluczy Zażądaj certyfikatu od urzędu certyfikacji.

    Żądanie certyfikatu od urzędu certyfikacji w funkcji Dostęp do pęku kluczy

  11. Postępuj zgodnie z instrukcjami w witrynie Apple dla deweloperów, aby utworzyć plik żądania podpisania certyfikatu (CSR). Zapisz plik CSR na komputerze z systemem macOS.

    Wprowadź informacje dotyczące żądanego certyfikatu

  12. Wróć do witryny deweloperów firmy Apple. Naciśnij przycisk Kontynuuj. Następnie prześlij plik CSR.

  13. Firma Apple wygeneruje certyfikat podpisywania. Pobierz go i zapisz w zapadającej w pamięć lokalizacji na komputerze z systemem macOS.

    Pobieranie certyfikatu podpisywania

  14. Kliknij dwukrotnie pobrany plik certyfikatu, aby dodać certyfikat do pęku kluczy.

  15. Otwórz ponownie dostęp do pęku kluczy . Znajdź certyfikat, wyszukując jego nazwę na prawym górnym pasku wyszukiwania. Kliknij prawym przyciskiem myszy element, aby wyświetlić menu, i wybierz polecenie Informacje. Na przykładowych zrzutach ekranu używamy certyfikatu deweloperskiego, a nie certyfikatu produkcyjnego.

    Dodawanie certyfikatu do pęku kluczy

  16. Zostanie wyświetlone okno informacyjne. Przewiń w dół i sprawdź etykietę Linie papilarne . Skopiuj ciąg SHA1 (rozmyty), aby użyć go jako argumentu "-c" dla narzędzia App Wrapping Tool.

    Informacje o telefonie iPhone — linie papilarne, ciąg SHA1

Tworzenie profilu aprowizacji dystrybucji In-House

  1. Wstecz do portalu konta dewelopera firmy Apple i zaloguj się przy użyciu konta firmy Apple organizacji.

  2. Wybierz pozycję Certyfikaty, identyfikatory & profile.

  3. Wybierz znak plus portalu dla deweloperów Apple w prawym górnym rogu. Ta akcja powoduje dodanie profilu aprowizacji systemu iOS.

  4. Wybierz, aby utworzyć wewnętrzny profil aprowizacji w obszarze Dystrybucja.

    Wybierz profil aprowizacji wewnętrznej

  5. Naciśnij przycisk Kontynuuj. Pamiętaj, aby połączyć wcześniej wygenerowany certyfikat podpisywania z profilem inicjowania obsługi.

  6. Postępuj zgodnie z instrukcjami, aby pobrać swój profil (z rozszerzeniem .mobileprovision) na komputer z systemem macOS.

  7. Zapisz plik w zapadającej w pamięć lokalizacji. Ten plik jest używany dla parametru -p podczas korzystania z narzędzia App Wrapping Tool.

Pobierz narzędzie App Wrapping Tool

  1. Pobierz pliki narzędzia App Wrapping Tool z witryny GitHub na komputer z systemem macOS.

  2. Kliknij dwukrotnie Microsoft Intune Application Restrictions Packager for iOS.dmg. Zostanie wyświetlone okno z Umową licencyjną użytkownika oprogramowania (EULA). Przeczytaj uważnie ten dokument.

  3. Wybierz pozycję Zgadzam się, aby zaakceptować umowę EULA, co spowoduje zainstalowanie pakietu na komputerze.

Uruchamianie App Wrapping Tool

Ważna

Intune regularnie wydaje aktualizacje Intune App Wrapping Tool. Regularnie sprawdzaj Intune App Wrapping Tool dla systemu iOS pod kątem aktualizacji i uwzględniaj je w cyklu tworzenia oprogramowania, aby upewnić się, że Twoje aplikacje obsługują najnowsze ustawienia zasad ochrony aplikacji.

Korzystanie z terminalu

Otwórz terminal macOS i uruchom następujące polecenie:

/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> -ac <client ID of input app> -ar <redirect URI of input app> [-aa <authority URI of input app>] [-b [<output app build string>]] [-v] [-e] [-x /<array of extension provisioning profile paths>] [-dt] [-dl] [-ds]

Uwaga

Niektóre parametry są opcjonalne, jak pokazano w poniższej tabeli.

Przykład: Poniższe przykładowe polecenie uruchamia narzędzie App Wrapping Tool w aplikacji o nazwie MyApp.ipa. Profil aprowizacji i skrót SHA-1 certyfikatu podpisywania są określane i używane do podpisywania opakowanej aplikacji. Aplikacja wyjściowa (MyApp_Wrapped.ipa) jest tworzona i przechowywana w folderze Pulpit.

./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" -ac "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ar "msauth.myAppsBundleID://auth" -v

Parametry wiersza polecenia

App Wrapping Tool umożliwia użycie następujących parametrów wiersza polecenia:

Przykład: Poniższe przykładowe polecenie uruchamia narzędzie App Wrapping Tool, uwzględniając wymagane polecenia podczas opakowywania aplikacji do użytku w ramach jednej dzierżawy.

./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
Właściwość Sposób użycia
-i <Path of the input native iOS application file>. Nazwa pliku musi kończyć się ciągiem .app lub ipa.
-o <Path of the wrapped output application>
-p <Path of your provisioning profile for iOS apps>
-c <SHA1 hash of the signing certificate>
-h Zawiera szczegółowe informacje na temat użycia dostępnych właściwości wiersza polecenia dla App Wrapping Tool.
-ac <Client ID of the input app if the app uses the Microsoft Authentication Library> To jest identyfikator GUID w polu Identyfikator klienta z listy aplikacji w obszarze Rejestracja aplikacji.
-ar <Redirect/Reply URI of the input app if the app uses the Microsoft Authentication Library> Jest to identyfikator URI przekierowania skonfigurowany w rejestracji aplikacji. Zazwyczaj jest to protokół URL aplikacji, do którego aplikacja Microsoft Authenticator powróci po uwierzytelnieniu pośredniczącym.
-aa (Wymagane w przypadku aplikacji z pojedynczej dzierżawy) <Authority URI of the input app> tj. https://login.microsoftonline.com/<tenantID>/
-v (Opcjonalnie) Wyświetla pełne komunikaty do konsoli. Użyj tej flagi, aby debugować wszelkie błędy.
-e (Opcjonalnie) Użyj tej flagi, aby App Wrapping Tool usunąć brakujące uprawnienia podczas przetwarzania aplikacji. Aby uzyskać więcej informacji, zobacz Konfigurowanie uprawnień aplikacji.
-xe (Opcjonalnie) Umożliwia wydrukowanie informacji o rozszerzeniach systemu iOS w aplikacji i uprawnieniach wymaganych do korzystania z nich. Aby uzyskać więcej informacji, zobacz Konfigurowanie uprawnień aplikacji.
-x (Opcjonalnie). <An array of paths to extension provisioning profiles> Użyj tej właściwości, jeśli aplikacja wymaga rozszerzonych profilów aprowizacji.
-b (Opcjonalnie) Użyj opcji -b bez argumentu, jeśli chcesz, aby opakowana aplikacja wyjściowa miała tę samą wersję pakietu co aplikacja wejściowa (niezalecane).

Użyj -b <custom bundle version> , jeśli chcesz, aby opakowana aplikacja miała niestandardową CFBundleVersion. Jeśli zdecydujesz się określić niestandardową CFBundleVersion, dobrym pomysłem jest zwiększenie CFBundleVersion aplikacji natywnej o najmniej znaczący składnik, taki jak 1.0.0 -> 1.0.1.
-f (Opcjonalnie) <Path to a plist file specifying arguments.> Użyj tej flagi przed plikiem plist , jeśli zdecydujesz się użyć szablonu plist do określenia pozostałych właściwości IntuneMAMPackager, takich jak -i, -o i -p. Zobacz Używanie pliku plist do wprowadzania argumentów.
-dt (Opcjonalnie) Wyłącz zbieranie danych klienta usługi Microsoft Intune.
-dl (Opcjonalnie) Wyłącz dzienniki MSAL z dzienników usługi Intune dla aplikacji, które są zintegrowane z biblioteką MSAL i zaimplementuj własne wywołanie zwrotne rejestrowania MSAL.
-ds (Opcjonalnie) Wyłącz zabezpieczenia usługi Intune dla SFSafariViewController, SFAuthSession i ASWebAuthenticationSession.
-mp (Opcjonalnie). <Path to a plist file containing MAM settings to merge into the wrapped app> Ta właściwość służy do zapewniania niestandardowych ustawień zestawu SDK zarządzania aplikacjami mobilnymi usługi Intune, które zostaną scalone ze słownikiem IntuneMAMSettings aplikacji podczas procesu opakowywania Uwaga: Ustawienia MultiIdentity, MAMPolicyRequired, AutoEnrollOnLaunch, i ContainingAppBundleId nie są obsługiwane przez -mp, ponieważ są automatycznie konfigurowane przez narzędzie App Wrapping Tool. Ustawienia uwierzytelniania (ADALAuthority, ADALClientId, ADALRedirectUri) są również nieobsługiwane przez -mp i muszą być skonfigurowane przy użyciu parametrów wiersza polecenia -aa, -ac i -ar.

Wprowadzanie argumentów za pomocą pliku plist

Prostym sposobem uruchomienia App Wrapping Tool jest umieszczenie wszystkich argumentów polecenia w pliku plist. Plist to format pliku podobny do XML, który umożliwia wprowadzanie argumentów wiersza polecenia za pomocą interfejsu formularza.

W folderze IntuneMAMPackager/Contents/MacOS otwórz Parameters.plist plik (pusty szablon pliku plist) za pomocą edytora tekstów lub programu Xcode. Wprowadź argumenty następujących kluczy:

Klawisz Plist Wpisać Wartość domyślna Uwagi
Ścieżka pakietu aplikacji wejściowej Ciąg pusty Taki sam jak -i
Ścieżka pakietu aplikacji wyjściowej Ciąg pusty To samo co -o
Ścieżka profilu inicjowania obsługi Ciąg pusty To samo co -p
Skrót certyfikatu SHA-1 Ciąg pusty To samo co -c
Urząd MSAL Ciąg pusty Taki sam jak -aa
Identyfikator klienta MSAL Ciąg pusty To samo co -ac
Identyfikator URI odpowiedzi MSAL Ciąg pusty To samo co -ar
Włączono tryb gadatliwy Wartość logiczna false (fałsz) To samo co -v
Usuń brakujące uprawnienia Wartość logiczna false (fałsz) To samo co -e
Zapobiegaj domyślnym aktualizacjom kompilacji Wartość logiczna false (fałsz) Równoważne użyciu opcji -b bez argumentów
Zastępowanie ciągu kompilacji Ciąg pusty Niestandardowa CFBundleVersion opakowanej aplikacji wyjściowej
Ścieżki profilów aprowizacji rozszerzeń Tablica ciągów pusty Tablica profilów aprowizacji rozszerzeń dla aplikacji.
Wyłącz telemetrię Wartość logiczna false (fałsz) To samo co -dt
Wyłączanie zastępowania dziennika MSAL Wartość logiczna false (fałsz) To samo co -dl
Ustawienia zarządzania aplikacjami mobilnymi Ścieżka listy Ciąg pusty Taki sam jak -mp

Uruchom IntuneMAMPackager z plikiem plist jako jedynym argumentem:

./IntuneMAMPackager –f Parameters.plist

Pakowanie po

Po zakończeniu procesu opakowywania zostanie wyświetlony komunikat "Aplikacja została pomyślnie opakowana". Jeśli wystąpi błąd, zobacz Komunikaty o błędach , aby uzyskać pomoc.

Opakowana aplikacja zostanie zapisana w określonym wcześniej folderze wyjściowym. Możesz przekazać aplikację do centrum administracyjnego usługi Intune i skojarzyć ją z zasadami zarządzania aplikacjami mobilnymi.

Ważna

Podczas przekazywania opakowanej aplikacji możesz spróbować zaktualizować starszą wersję aplikacji, jeśli starsza (opakowana lub natywna) wersja została już wdrożona w usłudze Intune. Jeśli wystąpi błąd, przekaż aplikację jako nową aplikację i usuń starszą wersję.

Teraz możesz wdrożyć aplikację w grupach użytkowników i kierować zasady ochrony aplikacji do aplikacji. Aplikacja jest uruchamiana na urządzeniu przy użyciu określonych zasad ochrony aplikacji.

Jak często należy ponownie opakowywać moją aplikację systemu iOS w Intune App Wrapping Tool?

Poniżej przedstawiono główne scenariusze, w których należy ponownie opapakować aplikacje:

  • Sama aplikacja wydała nową wersję. Poprzednia wersja aplikacji została opakowana i przekazana do centrum administracyjnego usługi Intune.
  • W Intune App Wrapping Tool dla systemu iOS została opublikowana nowa wersja, która umożliwia wprowadzanie kluczowych poprawek błędów lub nowych, określonych funkcji Intune zasad ochrony aplikacji. Wydanie nowej wersji odbywa się co 6–8 tygodni za pośrednictwem repozytorium GitHub dla Microsoft Intune App Wrapping Tool dla systemu iOS.

W przypadku systemu iOS/iPadOS można opakować aplikację przy użyciu innego certyfikatu lub profilu aprowizacji niż ten, który został pierwotnie użyty do podpisania aplikacji. Jeśli jednak nowy profil aprowizacji nie zawiera uprawnień określonych w aplikacji, proces opakowywania kończy się niepowodzeniem. Jeśli użyjesz opcji wiersza polecenia "-e", która usuwa wszelkie brakujące uprawnienia z aplikacji, aby wymusić opakowywanie w tym scenariuszu, może spowodować uszkodzenie funkcjonalności w aplikacji.

Oto niektóre najlepsze rozwiązania dotyczące ponownego opakowywania:

  • Zapewnienie, że inny profil aprowizacji ma wszystkie wymagane uprawnienia, jak każdy poprzedni profil aprowizacji.

Komunikaty o błędach i pliki dziennika

Poniższe informacje umożliwiają rozwiązywanie problemów z narzędziem opakowującym aplikacje.

Komunikaty o błędach

Jeśli narzędzie opakowujące aplikacje nie zakończy pomyślnie, w konsoli zostanie wyświetlony jeden z następujących komunikatów o błędzie:

Komunikat o błędzie Więcej informacji
Należy określić prawidłowy profil aprowizacji systemu iOS. Twój profil inicjowania obsługi może być nieprawidłowy. Upewnij się, że masz odpowiednie uprawnienia dla urządzeń i że Twój profil jest prawidłowo ukierunkowany na rozwój lub dystrybucję. Twój profil aprowizacji również mógł wygasnąć.
Określ prawidłową nazwę aplikacji wejściowej. Sprawdź, czy określona nazwa aplikacji wejściowej jest poprawna.
Określ prawidłową ścieżkę do aplikacji wyjściowej. Upewnij się, że ścieżka do określonej aplikacji wyjściowej istnieje i jest poprawna.
Określ prawidłowy wejściowy profil aprowizacji. Upewnij się, że podano prawidłową nazwę profilu inicjowania obsługi i rozszerzenie. W profilu inicjowania obsługi może brakować uprawnień lub opcja wiersza –p polecenia nie jest dołączona.
Nie znaleziono określonej aplikacji wejściowej. Określ prawidłową nazwę aplikacji wejściowej i ścieżkę. Upewnij się, że ścieżka aplikacji wejściowej jest prawidłowa i istnieje. Upewnij się, że aplikacja wprowadzania istnieje w tej lokalizacji.
Nie znaleziono określonego pliku wejściowego profilu aprowizacji. Określ prawidłowy wejściowy plik profilu aprowizacji. Upewnij się, że ścieżka do wejściowego pliku aprowizacji jest prawidłowa i że określony plik istnieje.
Podany folder aplikacji wyjściowej nie został odnaleziony. Określ prawidłową ścieżkę do aplikacji wyjściowej. Upewnij się, że ścieżka wyjściowa jest prawidłowa i istnieje.
Aplikacja wyjściowa nie ma rozszerzenia ipa . Tylko aplikacje z rozszerzeniami .app i ipa są akceptowane przez App Wrapping Tool. Upewnij się, że plik wyjściowy ma prawidłowe rozszerzenie.
Określono nieprawidłowy certyfikat podpisywania. Określ prawidłowy certyfikat podpisywania firmy Apple. Upewnij się, że pobrano poprawny certyfikat podpisywania z portalu deweloperów firmy Apple. Być może Twój certyfikat wygasł albo może w nim brakować klucza publicznego lub prywatnego. Jeśli Twój certyfikat Apple i profil aprowizacji mogą służyć do poprawnego podpisywania aplikacji w programie Xcode, są one prawidłowe dla narzędzia App Wrapping Tool. Ponadto sprawdź, czy certyfikat podpisywania ma unikatową nazwę w pęku kluczy komputera z systemem macOS hosta. Jeśli w pęku kluczy istnieje wiele wersji tego samego certyfikatu, narzędzie zwraca ten błąd.
Określona aplikacja wejściowa jest nieprawidłowa. Określ prawidłową aplikację. Upewnij się, że prawidłowa aplikacja systemu iOS jest skompilowana jako .app plik OR .ipa .
Określona aplikacja wejściowa jest szyfrowana. Określ prawidłową niezaszyfrowaną aplikację. Narzędzie App Wrapping Tool nie obsługuje zaszyfrowanych aplikacji. Udostępnij niezaszyfrowaną aplikację.
Określona aplikacja wejściowa nie ma formatu pliku wykonywalnego niezależnego od pozycji (PIE). Określ prawidłową aplikację w formacie PIE. Aplikacje wykonywalne niezależne od pozycji (PIE) mogą być ładowane pod losowym adresem pamięci po uruchomieniu. Ta funkcja może zapewniać korzyści związane z zabezpieczeniami. Aby uzyskać więcej informacji na temat korzyści związanych z bezpieczeństwem, zapoznaj się z dokumentacją dla programistów firmy Apple.
Określona aplikacja wejściowa jest opakowana. Określ prawidłową nieopakowaną aplikację. Nie możesz przetworzyć aplikacji, która została już przetworzona. Jeśli chcesz ponownie przetworzyć aplikację, uruchom narzędzie przy użyciu oryginalnej wersji aplikacji.
Określona aplikacja wejściowa nie jest podpisana. Określ prawidłowy podpisany wniosek. Narzędzie opakowujące aplikacje wymaga podpisania aplikacji. Zapoznaj się z dokumentacją dla programistów, aby dowiedzieć się, jak podpisać opakowaną aplikację.
Podana aplikacja wejściowa musi być w formacie ipa lub .app. Narzędzie opakowujące aplikacje akceptuje .app tylko i .ipa rozszerzenia. Upewnij się, że plik wejściowy ma prawidłowe rozszerzenie i jest zgodny jako .app plik OR .ipa .
Określona aplikacja wejściowa jest opakowana i znajduje się w najnowszej wersji szablonu zasad. App Wrapping Tool nie opakowuje ponownie istniejącej opakowanej aplikacji przy użyciu najnowszej wersji szablonu zasad.
OSTRZEŻENIE: Nie określono skrótu certyfikatu SHA1. Przed wdrożeniem upewnij się, że opakowana aplikacja jest podpisana. Upewnij się, że po fladze wiersza polecenia został określony prawidłowy skrót –c SHA1.

Zbieranie dzienników dla opakowanych aplikacji z urządzenia

Wykonaj poniższe kroki, aby uzyskać dzienniki dla opakowanych aplikacji podczas rozwiązywania problemów.

  1. Przejdź do aplikacji Ustawienia systemu iOS na urządzeniu i wybierz aplikację LOB.
  2. Wybierz pozycję Microsoft Intune.
  3. Przełącz ustawienie konsoli diagnostyki ekranu na Włączone.
  4. Uruchom aplikację biznesową.
  5. Wybierz link "Wprowadzenie".
  6. Teraz możesz wysyłać dzienniki bezpośrednio do firmy Microsoft lub udostępniać je za pośrednictwem innej aplikacji na urządzeniu.

Uwaga

Funkcja rejestrowania została włączona dla aplikacji, które są opakowane w Intune App Wrapping Tool wersji 7.1.13 lub nowszej.

Zbieranie dzienników awarii z systemu

Aplikacja może rejestrować przydatne informacje w konsoli urządzenia klienckiego systemu iOS. Te informacje są przydatne, gdy występują problemy z aplikacją i chcesz ustalić, czy problem jest związany z samym App Wrapping Tool, czy z samą aplikacją. Aby pobrać te informacje, wykonaj następujące czynności:

  1. Odtwórz problem, uruchamiając aplikację.

  2. Zbierz dane wyjściowe konsoli, postępując zgodnie z instrukcjami firmy Apple dotyczącymi debugowania wdrożonych aplikacji systemu iOS.

Opakowane aplikacje będą również prezentować użytkownikom opcję wysyłania dzienników bezpośrednio z urządzenia pocztą e-mail po awarii aplikacji. Użytkownicy mogą wysłać dzienniki do sprawdzenia i w razie potrzeby przekazania ich firmie Microsoft.

Certyfikat, profil aprowizacji i wymagania dotyczące uwierzytelniania

App Wrapping Tool dla systemu iOS ma pewne wymagania, które muszą być spełnione, aby zagwarantować pełną funkcjonalność.

Wymaganie Szczegóły
Profil aprowizacji systemu iOS Przed dołączeniem profilu aprowizacji upewnij się, że jest on prawidłowy. App Wrapping Tool nie sprawdza, czy profil aprowizacji wygasł podczas przetwarzania aplikacji systemu iOS. Jeśli określisz wygasły profil aprowizacji, narzędzie opakowujące aplikacje uwzględni go. Problem nie występuje, dopóki instalacja aplikacji na urządzeniu z systemem iOS nie powiedzie się.
Certyfikat podpisywania systemu iOS Przed określeniem certyfikatu podpisywania upewnij się, że jest on prawidłowy. Narzędzie nie sprawdza, czy certyfikat wygasł podczas przetwarzania aplikacji systemu iOS. Jeśli zostanie podany skrót wygasłego certyfikatu, narzędzie przetwarza i podpisuje aplikację, ale nie można jej zainstalować na urządzeniach.

Upewnij się, że certyfikat podany do podpisywania opakowanej aplikacji ma odpowiednik w profilu aprowizacji. Narzędzie nie sprawdza, czy profil aprowizacji jest zgodny z certyfikatem podanym do podpisywania opakowanej aplikacji.
Uwierzytelnianie Aby szyfrowanie działało, urządzenie musi mieć kod PIN. W przypadku urządzeń, na których wdrożono opakowaną aplikację, dotknięcie paska stanu na urządzeniu wymaga ponownego zalogowania się przy użyciu konta służbowego. Domyślną zasadą w opakowanej aplikacji jest uwierzytelnianie przy ponownym uruchomieniu. System iOS obsługuje wszelkie powiadomienia zewnętrzne (takie jak połączenie telefoniczne), zamykając aplikację, a następnie uruchamiając ją ponownie.

Ustawianie uprawnień aplikacji

Przed opakowaniem aplikacji możesz nadać jej uprawnienia do dodatkowych uprawnień i możliwości, które wykraczają poza to, co zwykle może robić aplikacja. Plik uprawnienia jest używany podczas podpisywania kodu w celu określenia specjalnych uprawnień w aplikacji (na przykład dostępu do udostępnionego pęku kluczy). Określone usługi aplikacji nazywane możliwościami są włączane w programie Xcode podczas tworzenia aplikacji. Po włączeniu możliwości są odzwierciedlane w pliku uprawnień. Aby uzyskać więcej informacji na temat uprawnień i możliwości, zobacz Dodawanie możliwości w bibliotece deweloperów systemu iOS. Aby uzyskać pełną listę obsługiwanych funkcji, zobacz Obsługiwane możliwości.

Obsługiwane funkcje narzędzia App wrapping Tool dla systemu iOS

Możliwości Opis Zalecane wskazówki
Grupy aplikacji Użyj grup aplikacji, aby umożliwić wielu aplikacjom dostęp do udostępnionych kontenerów i umożliwić więcej komunikacji między procesami między aplikacjami.

Aby włączyć grupy aplikacji, otwórz okienko Możliwości i wybierz pozycję WŁĄCZONE w grupach aplikacji. Możesz dodać grupy aplikacji lub wybrać istniejące.
Użyj odwrotnej notacji DNS (Domain Name System) podczas konfigurowania grup aplikacji:

group.com.nazwa_firmy.AppGroup
Tryby tła Włączenie trybów tła umożliwia dalsze działanie aplikacji systemu iOS w tle.
Ochrona danych Ochrona danych dodaje poziom bezpieczeństwa do plików przechowywanych na dysku przez aplikację dla systemu iOS. Ochrona danych wykorzystuje wbudowany sprzęt szyfrujący obecny na określonych urządzeniach do przechowywania plików w zaszyfrowanym formacie na dysku. Aby używać ochrony danych, należy zainicjować aplikację aplikacji.
Zakup w aplikacji Zakup w aplikacji osadza sklep bezpośrednio w aplikacji, umożliwiając połączenie się ze sklepem i bezpieczne przetwarzanie płatności od użytkownika. Możesz skorzystać z zakupu w aplikacji, aby pobrać płatność za rozszerzone funkcje lub więcej zawartości, której może używać Twoja aplikacja.
Udostępnianie pęku kluczy Włączenie udostępniania pęku kluczy umożliwia aplikacji udostępnianie haseł w pęku kluczy innym aplikacjom opracowanym przez zespół. W przypadku korzystania z udostępniania pęku kluczy należy używać notacji odwrotnej DNS:

com.companyName.KeychainGroup
Osobista sieć VPN Włącz osobistą sieć VPN, aby umożliwić aplikacji tworzenie i kontrolowanie niestandardowej konfiguracji sieci VPN systemu przy użyciu struktury rozszerzeń sieciowych.
Powiadomienia wypychane Usługa powiadomień Push firmy Apple (APN) umożliwia aplikacji, która nie działa na pierwszym planie, powiadomienie użytkownika o tym, że ma informacje dla użytkownika. Aby powiadomienia wypychane działały, musisz użyć profilu aprowizacji specyficznego dla aplikacji.

Postępuj zgodnie z instrukcjami w dokumentacji dla programistów firmy Apple.
Konfiguracja akcesoriów bezprzewodowych Włączenie konfiguracji akcesoriów bezprzewodowych powoduje dodanie struktury akcesoriów zewnętrznych do projektu i umożliwia aplikacji skonfigurowanie akcesoriów Wi-Fi akcesoriów Made for iPhone (MFi).

Procedura włączania uprawnień

  1. Włącz funkcje w aplikacji:

    a. W programie Xcode przejdź do elementu docelowego aplikacji i wybierz pozycję Możliwości.

    b. Włącz odpowiednie możliwości. Aby uzyskać szczegółowe informacje na temat każdej funkcji i sposobu określania prawidłowych wartości, zobacz Dodawanie możliwości w bibliotece deweloperów systemu iOS.

    c. Zanotuj wszystkie identyfikatory utworzone w trakcie tego procesu. Te identyfikatory mogą być określane jako AppIdentifierPrefix wartości.

    d. Skompiluj i podpisz aplikację, która będzie opakowana.

  2. Włącz uprawnienia w profilu aprowizacji:

    a. Zaloguj się do Centrum członków Apple dla deweloperów.

    b. Utwórz profil inicjowania obsługi dla aplikacji. Aby uzyskać instrukcje, zobacz Jak uzyskać wymagania wstępne dla Intune App Wrapping Tool dla systemu iOS.

    c. W profilu inicjowania obsługi włącz te same uprawnienia, które masz w aplikacji. Musisz podać te same identyfikatory ( AppIdentifierPrefix wartości), które zostały określone podczas tworzenia aplikacji.

    d. Zakończ działanie kreatora profilów inicjowania obsługi i pobierz plik.

  3. Upewnij się, że zostały spełnione wszystkie wymagania wstępne, a następnie opakowuj aplikację.

Rozwiązywanie typowych błędów dotyczących uprawnień

Jeśli w App Wrapping Tool dla systemu iOS jest wyświetlany błąd uprawnienia, spróbuj wykonać poniższe kroki rozwiązywania problemów.

Problem Przyczyna Rozwiązanie
Nie można przeanalizować uprawnień wygenerowanych na podstawie aplikacji wejściowej. App Wrapping Tool nie może odczytać pliku uprawnień wyodrębnionego z aplikacji. Plik uprawnień może mieć nieprawidłową postać. Sprawdź plik uprawnień dla aplikacji. W poniższej instrukcji wyjaśniono, jak to zrobić. Podczas sprawdzania pliku uprawnień sprawdź, czy składnia nie została źle sformułowana. Plik powinien być w formacie XML.
Brakuje uprawnień w profilu inicjowania obsługi (na liście znajdują się brakujące uprawnienia). Spakuj ponownie aplikację przy użyciu profilu aprowizacyjnego, który ma te uprawnienia. Istnieje niezgodność między uprawnieniami włączonymi w profilu aprowizacji a możliwościami włączonymi w aplikacji. Ta niezgodność dotyczy też identyfikatorów skojarzonych z określonymi możliwościami (takimi jak dostęp do grup aplikacji i pęku kluczy). Ogólnie rzecz biorąc, można utworzyć nowy profil aprowizacji, który udostępnia te same możliwości, co aplikacja. Jeśli identyfikatory między profilem a aplikacją nie są zgodne, narzędzie App Wrapping Tool zastępuje je, o ile jest to możliwe. Jeśli po utworzeniu nowego profilu aprowizacji nadal występuje ten błąd, możesz spróbować usunąć uprawnienia z aplikacji przy użyciu parametru –e (zobacz sekcję Używanie parametru –e do usuwania uprawnień z aplikacji).

Znajdowanie istniejących uprawnień podpisanej aplikacji

Aby przejrzeć istniejące uprawnienia podpisanej aplikacji i profilu aprowizacji:

  1. Znajdź plik ipa i zmień jego rozszerzenie na .zip.

  2. Rozwiń plik .zip. Ta czynność utworzy folder Ładunek zawierający .app pakiet.

  3. Użyj narzędzia do współprojektowania, aby sprawdzić uprawnienia do pakietu .app, gdzie YourApp.app jest rzeczywista nazwa Twojego pakietu .app.

    codesign -d --entitlements :- "Payload/YourApp.app"
    
  4. Użyj narzędzia zabezpieczeń, aby sprawdzić uprawnienia osadzonego profilu aprowizacji aplikacji, gdzie YourApp.app jest rzeczywista nazwa Twojego pakietu .app.

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

Usuwanie uprawnień z aplikacji przy użyciu parametru –e

To polecenie usuwa wszystkie włączone funkcje w aplikacji, których nie ma w pliku uprawnień. Usunięcie funkcji, które są używane przez aplikację, może spowodować uszkodzenie aplikacji. Przykładem sytuacji, w której można usunąć brakujące możliwości, jest aplikacja utworzona przez dostawcę, która domyślnie ma wszystkie możliwości.

./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> -ac <client ID of input app> -ar <redirect URI of input app> -e

Zabezpieczenia i prywatność narzędzia App Wrapping Tool

Korzystając z narzędzia App Wrapping Tool, stosuj najważniejsze wskazówki dotyczące bezpieczeństwa i prywatności.

  • Określony certyfikat podpisywania, profil aprowizacji i aplikacja biznesowa muszą znajdować się na tym samym komputerze z systemem macOS, którego używasz do uruchamiania narzędzia opakowującego aplikacje. Jeśli pliki znajdują się w ścieżce UNC, upewnij się, że komputer z systemem macOS może uzyskać do nich dostęp. Ścieżka musi być zabezpieczona za pomocą podpisywania protokołu IPsec lub SMB.

    Opakowana aplikacja zaimportowana do centrum administracyjnego powinna znajdować się na tym samym komputerze, na którym zostało uruchomione narzędzie. Jeśli plik znajduje się w ścieżce UNC, upewnij się, że jest on dostępny na komputerze z uruchomionym centrum administracyjnym. Ścieżka musi być zabezpieczona za pomocą podpisywania protokołu IPsec lub SMB.

  • Środowisko, w którym narzędzie App Wrapping Tool jest pobierane z repozytorium GitHub, musi być zabezpieczone za pomocą podpisywania protokołu IPsec lub SMB.

  • Przetwarzana aplikacja musi pochodzić z zaufanego źródła, aby zapewnić ochronę przed atakami.

  • Upewnij się, że folder wyjściowy określony w narzędziu App Wrapping Tool jest bezpieczny, szczególnie jeśli jest to folder zdalny.

  • Aplikacje systemu iOS, które zawierają okno dialogowe przekazywania plików, umożliwiają użytkownikom obejście, wycinanie, kopiowanie i wklejanie ograniczeń zastosowanych do aplikacji. Użytkownik może na przykład użyć okna dialogowego przekazywania pliku, aby przekazać zrzut ekranu danych aplikacji.

  • Podczas monitorowania folderu dokumentów na urządzeniu z poziomu zapakowanej aplikacji może zostać wyświetlony folder o nazwie .msftintuneapplauncher. Zmiana lub usunięcie tego pliku może mieć wpływ na poprawne działanie aplikacji z ograniczeniami.

  • Rejestrowanie niestandardowych schematów adresów URL umożliwia określonym adresom URL przekierowywanie do aplikacji. Systemy iOS i iPadOS umożliwiają wielu aplikacjom rejestrowanie tego samego niestandardowego schematu adresów URL, a system operacyjny określa, która aplikacja jest wywoływana. Zapoznaj się z dokumentacją firmy Apple : Definiowanie niestandardowego schematu adresów URL dla aplikacji , aby uzyskać zalecenia pomagające uniknąć kolizji niestandardowego schematu adresów URL oraz wskazówki dotyczące zabezpieczeń dotyczące postępowania z nieprawidłowo sformułowanymi adresami URL.

Dodatkowe materiały