Przygotowywanie aplikacji systemu iOS na potrzeby zasad ochrony aplikacji za pomocą App Wrapping Tool usługi Intune

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

Narzędzie to aplikacja wiersza polecenia systemu macOS, która tworzy otokę wokół aplikacji. Po przetworzeniu aplikacji możesz zmienić jej funkcjonalność, 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 App Wrapping Tool usługi Intune z aplikacjami, prześlij wniosek o pomoc w witrynie GitHub.

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

Przed uruchomieniem App Wrapping Tool należy spełnić pewne ogólne wymagania wstępne:

  • Pobierz Microsoft Intune App Wrapping Tool dla systemu iOS z usługi GitHub.

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

  • Wejściowa aplikacja systemu iOS musi zostać opracowana i podpisana przez firmę lub niezależnego dostawcę oprogramowania (ISV).

    • Plik aplikacji wejściowej musi mieć rozszerzenie .ipa lub .app.

    • Aplikacja wejściowa musi być skompilowana dla systemu iOS 14.0 lub nowszego.

    • Nie można zaszyfrować aplikacji wejściowej.

    • Aplikacja wejściowa nie może mieć rozszerzonych atrybutów plików.

    • Aplikacja wejściowa musi mieć ustawione uprawnienia przed przetworzeniem przez App Wrapping Tool usługi Intune. Uprawnienia zapewniają aplikacji więcej uprawnień i możliwości wykraczających poza te, które są zwykle przyznawane. Aby uzyskać instrukcje, zobacz Ustawianie 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 kroki, aby rozwiązać problemy:
    • Resetowanie ustawień zaufania dla wszystkich powiązanych certyfikatów
    • Instalowanie certyfikatów pośrednich w pęku kluczy systemu i pęku kluczy logowania
    • Odinstalowywanie i ponowne instalowanie wszystkich powiązanych certyfikatów

Rejestrowanie aplikacji przy użyciu identyfikatora Microsoft Entra

  1. Zarejestruj swoje aplikacje przy użyciu identyfikatora Microsoft Entra. Aby uzyskać więcej informacji, zobacz Rejestrowanie aplikacji przy użyciu Platforma tożsamości Microsoft.
  2. Dodaj niestandardowy adres URL przekierowania do ustawień aplikacji. Aby uzyskać więcej informacji, zobacz Konfigurowanie biblioteki MSAL.
  3. Nadaj aplikacji dostęp do usługi zarządzania aplikacjami mobilnymi usługi Intune. Aby uzyskać więcej informacji, zobacz Udzielanie aplikacji dostępu do usługi Zarządzania aplikacjami mobilnymi usługi Intune.
  4. Po zakończeniu powyższych zmian uruchom najnowszą wersję narzędzia opakowującego aplikacje usługi Intune. Skonfiguruj aplikacje dla biblioteki microsoft authentication library (MSAL): dodaj identyfikator klienta aplikacji Microsoft Entra do parametrów wiersza polecenia za pomocą App Wrapping Tool usługi Intune. Aby uzyskać więcej informacji, zobacz Parametry wiersza polecenia.

Uwaga

Parametry -ac i -ar są wymaganymi parametrami. Każda aplikacja będzie potrzebować unikatowego zestawu tych parametrów. -aa jest wymagane tylko w przypadku aplikacji z jedną dzierżawą.

  1. Wdróż aplikację.

Wymagania wstępne dla deweloperów firmy Apple dotyczące App Wrapping Tool

Aby dystrybuować opakowane aplikacje wyłącznie do użytkowników organizacji, potrzebne jest konto z programem Apple Developer Enterprise Program i kilkoma jednostkami do podpisywania aplikacji połączonych z kontem dewelopera firmy Apple.

Aby dowiedzieć się więcej na temat wewnętrznego dystrybuowania aplikacji systemu iOS do użytkowników organizacji, przeczytaj oficjalny przewodnik dotyczący dystrybucji aplikacji programu Apple Developer Enterprise Program Apps.

Aby dystrybuować aplikacje opakowane przez usługę Intune, potrzebne są następujące elementy:

  • Konto dewelopera z programem Apple Developer Enterprise Program.

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

    • Będziesz potrzebować skrótu SHA1 certyfikatu podpisywania jako parametru App Wrapping Tool usługi Intune.
  • Profil inicjowania obsługi administracyjnej dystrybucji w firmie.

Kroki tworzenia konta apple developer enterprise

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

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

  3. Przeczytaj listę kontrolną tego, co musisz zarejestrować. Kliknij pozycję Rozpocznij rejestrację w dolnej części strony.

  4. Zaloguj się przy użyciu identyfikatora Apple ID organizacji. Jeśli go nie masz, kliknij pozycję Utwórz identyfikator Apple ID.

  5. Wybierz typ jednostki i kliknij przycisk Kontynuuj.

  6. Wypełnij formularz informacjami organizacji. Kliknij przycisk Continue (Kontynuuj). W tym momencie firma Apple skontaktuje się z Tobą, aby sprawdzić, czy masz uprawnienia do rejestracji organizacji.

  7. Po weryfikacji kliknij pozycję Zgoda na licencję.

  8. Po wyrażeniu zgody na licencję zakończ zakupem i aktywowaniem programu.

  9. Jeśli jesteś agentem zespołu (osobą, która dołącza do programu Apple Developer Enterprise Program w imieniu organizacji), najpierw skompiluj swój zespół, zapraszając członków zespołu i przypisując role. Aby dowiedzieć się, jak zarządzać zespołem, przeczytaj dokumentację firmy Apple dotyczącą zarządzania zespołem ds. konta dewelopera.

Kroki tworzenia certyfikatu podpisywania firmy Apple

  1. Przejdź do portalu dla deweloperów firmy Apple.

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

  3. Zaloguj się przy użyciu identyfikatora Apple ID organizacji.

  4. Kliknij pozycję Certyfikaty, identyfikatory & profile.

    Portal deweloperów firmy Apple — certyfikaty, identyfikatory & profile

  5. Kliknij portal deweloperów firmy Apple i zaloguj się w prawym górnym rogu, aby dodać certyfikat systemu iOS.

  6. Wybierz, aby utworzyć certyfikat in-house i Ad Hoc w obszarze Produkcja.

    Wybierz certyfikat In-House i Ad Hoc

    Uwaga

    Jeśli nie planujesz dystrybucji aplikacji i chcesz ją przetestować tylko wewnętrznie, możesz użyć certyfikatu tworzenia aplikacji systemu iOS zamiast certyfikatu dla środowiska produkcyjnego. Jeśli używasz certyfikatu deweloperskiego, upewnij się, że profil aprowizacji urządzeń przenośnych odwołuje się do urządzeń, na których zostanie zainstalowana aplikacja.

  7. Kliknij przycisk Dalej w dolnej części strony.

  8. Przeczytaj instrukcje dotyczące tworzenia żądania podpisania certyfikatu (CSR) przy użyciu aplikacji Dostępu do łańcucha kluczy na komputerze z systemem macOS.

    Przeczytaj instrukcje dotyczące tworzenia pliku CSR

  9. Postępuj zgodnie z powyższymi instrukcjami, aby utworzyć żądanie podpisania certyfikatu. Na komputerze z systemem macOS uruchom aplikację Keychain Access .

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

    Żądanie certyfikatu od urzędu certyfikacji w programie Keychain Access

  11. Postępuj zgodnie z instrukcjami z witryny dewelopera firmy Apple powyżej, aby dowiedzieć się, jak utworzyć plik CSR. Zapisz plik CSR na komputerze z systemem macOS.

    Wprowadź informacje dotyczące żądanego certyfikatu

  12. Wróć do witryny dewelopera firmy Apple. Kliknij przycisk Continue (Kontynuuj). Następnie przekaż plik CSR.

  13. Firma Apple generuje certyfikat podpisywania. Pobierz i zapisz go w niezapomnianej lokalizacji na komputerze z systemem macOS.

    Pobieranie certyfikatu podpisywania

  14. Kliknij dwukrotnie plik certyfikatu, który właśnie został pobrany, aby dodać certyfikat do łańcucha kluczy.

  15. Otwórz ponownie dostęp do łańcucha kluczy . Znajdź certyfikat, wyszukując jego nazwę na prawym górnym pasku wyszukiwania. Kliknij prawym przyciskiem myszy element, aby wyświetlić menu, a następnie kliknij pozycję Pobierz informacje. Na przykładowych ekranach używamy certyfikatu deweloperskiego zamiast certyfikatu produkcyjnego.

    Dodawanie certyfikatu do łańcucha kluczy

  16. Zostanie wyświetlone okno informacyjne. Przewiń w dół i spójrz pod etykietę Odciski palców . Skopiuj ciąg SHA1 (rozmyty), aby użyć go jako argumentu "-c" dla App Wrapping Tool.

    Informacje o telefonie iPhone — ciąg SHA1 odcisków palców

Kroki tworzenia profilu aprowizacji dystrybucji In-House

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

  2. Kliknij pozycję Certyfikaty, identyfikatory & profile.

  3. Kliknij portal deweloperów firmy Apple i zaloguj się w prawym górnym rogu, aby dodać profil aprowizacji systemu iOS.

  4. Wybierz, aby utworzyć profil in house provisioning w obszarze Dystrybucja.

    Wybierz pozycję W profilu aprowizacji domu

  5. Kliknij przycisk Continue (Kontynuuj). Pamiętaj, aby połączyć wcześniej wygenerowany certyfikat podpisywania z profilem aprowizacji.

  6. Wykonaj kroki pobierania profilu (z rozszerzeniem .mobileprovision) na komputer z systemem macOS.

  7. Zapisz plik w niezapomnianej lokalizacji. Ten plik będzie używany dla parametru -p podczas korzystania z App Wrapping Tool.

Pobierz App Wrapping Tool

  1. Pobierz pliki dla App Wrapping Tool z usługi GitHub na komputer z systemem macOS.

  2. Kliknij dwukrotnie Microsoft Intune Application Restrictions Packager dla pliku iOS.dmg. Zostanie wyświetlone okno z umową licencyjną użytkownika końcowego (EULA). Uważnie przeczytaj dokument.

  3. Wybierz pozycję Zaakceptuj , aby zaakceptować umowę EULA, która zainstaluje pakiet na komputerze.

Uruchamianie App Wrapping Tool

Ważna

Usługa Intune regularnie publikuje aktualizacje App Wrapping Tool usługi Intune. Regularnie sprawdzaj App Wrapping Tool usługi Intune dla systemu iOS pod kątem aktualizacji i dołączaj je do cyklu tworzenia oprogramowania, aby upewnić się, że aplikacje obsługują najnowsze ustawienia zasad ochrony aplikacji.

Korzystanie z terminalu

Otwórz terminal systemu 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> [-b [<output app build string>]] [-v] [-e] [-x /<array of extension provisioning profile paths>]

Uwaga

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

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

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

Parametry wiersza polecenia

Z App Wrapping Tool można użyć następujących parametrów wiersza polecenia:

Przykład: Następujące przykładowe polecenie uruchamia App Wrapping Tool, dołączając wymagane polecenia podczas opakowywania aplikacji do użycia 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 true
Właściwość Jak z niego korzystać
-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 Przedstawia szczegółowe informacje o użyciu dostępne 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> Jest to identyfikator GUID w polu Identyfikator klienta z listy aplikacji w bloku 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órych aplikacja Microsoft Authenticator powróci po uwierzytelnieniu obsługiwanym przez brokera.
-Aa (Wymagane dla aplikacji z jedną dzierżawą) <Authority URI of the input app> Tj https://login.microsoftonline.com/<tenantID>/
-V (Opcjonalnie) Dane wyjściowe pełne komunikaty do konsoli. Zaleca się użycie tej flagi do debugowania wszelkich błędów.
-E (Opcjonalnie) Użyj tej flagi, aby App Wrapping Tool usunąć brakujące uprawnienia podczas procesów aplikacji. Aby uzyskać więcej informacji, zobacz Ustawianie uprawnień aplikacji .
-Xe (Opcjonalnie) Wyświetla informacje o rozszerzeniach systemu iOS w aplikacji i uprawnieniach wymaganych do ich używania. Aby uzyskać więcej informacji, zobacz Ustawianie uprawnień aplikacji .
-X (Opcjonalnie) <An array of paths to extension provisioning profiles>. Użyj tego polecenia, jeśli aplikacja wymaga profilów aprowizacji rozszerzeń.
-B (Opcjonalnie) Użyj polecenia -b bez argumentu, jeśli chcesz, aby opakowana aplikacja wyjściowa miała taką samą wersję pakietu jak aplikacja wejściowa (niezalecana).

Użyj polecenia -b <custom bundle version> , jeśli chcesz, aby opakowana aplikacja miała niestandardową wersję CFBundleVersion. Jeśli zdecydujesz się określić niestandardową wersję CFBundleVersion, dobrym pomysłem jest dodanie 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, aby określić pozostałe właściwości intuneMAMPackager, takie jak -i, -o i -p. Zobacz Używanie elementu plist do wprowadzania argumentów.
-Dt (Opcjonalnie) Wyłącz zbieranie Microsoft Intune danych telemetrycznych klienta.
-Dl (Opcjonalnie) Wyłącz dzienniki msal z dzienników INtune dla aplikacji, które zostały zintegrowane z msal i zaimplementować własne wywołanie zwrotne rejestrowania MSAL.

Używanie elementu plist do wprowadzania argumentów

Łatwym sposobem uruchomienia App Wrapping Tool jest umieszczenie wszystkich argumentów poleceń w pliku plist. Plist to format pliku podobny do formatu XML, którego można użyć do wprowadzania argumentów wiersza polecenia przy użyciu interfejsu formularza.

W folderze IntuneMAMPackager/Contents/MacOS otwórz Parameters.plist (pusty szablon plist) z edytorem tekstów lub narzędziem Xcode. Wprowadź argumenty dla następujących kluczy:

Klucz plist Wpisać Wartość domyślna Uwagi
Ścieżka pakietu aplikacji wejściowej Ciąg Pusty Tak samo jak -i
Ścieżka pakietu aplikacji wyjściowej Ciąg Pusty Tak samo jak -o
Ścieżka profilu aprowizacji Ciąg Pusty Tak samo jak -p
Skrót certyfikatu SHA-1 Ciąg Pusty Tak samo jak -c
Urząd MSAL Ciąg Pusty Tak samo jak -aa
Identyfikator klienta MSAL Ciąg Pusty Tak samo jak -ac
Identyfikator URI odpowiedzi MSAL Ciąg Pusty Tak samo jak -ar
Pełne włączone Wartość logiczna False Tak samo jak -v
Usuwanie brakujących uprawnień Wartość logiczna False Tak samo jak -e
Zapobieganie domyślnej aktualizacji kompilacji Wartość logiczna False Równoważne użyciu -b bez argumentów
Zastępowanie ciągu kompilacji Ciąg Pusty Niestandardowa wersja CFBundleVersion opakowanej aplikacji wyjściowej
Ścieżki profilu aprowizacji rozszerzeń Tablica ciągów Pusty Tablica profilów aprowizacji rozszerzeń dla aplikacji.
Wyłączanie telemetrii Wartość logiczna False Tak samo jak -dt
Wyłączanie zastępowania dziennika MSAL Wartość logiczna False Tak samo jak -dl

Uruchom pakiet IntuneMAMPackager z elementem plist jako jedynym argumentem:

./IntuneMAMPackager –f Parameters.plist

Opakowujące

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 jest zapisywana w określonym wcześniej folderze danych wyjściowych. 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 zastosować docelowe zasady ochrony aplikacji w aplikacji. Aplikacja zostanie uruchomiona na urządzeniu przy użyciu określonych zasad ochrony aplikacji.

Jak często należy ponownie pakować aplikację systemu iOS przy użyciu App Wrapping Tool usługi Intune?

Główne scenariusze, w których należy ponownie tworzyć aplikacje, są następujące:

  • Sama aplikacja wydała nową wersję. Poprzednia wersja aplikacji została opakowana i przekazana do centrum administracyjnego usługi Intune.
  • Usługa Intune App Wrapping Tool dla systemu iOS wydała nową wersję, która włącza kluczowe poprawki błędów lub nowe, określone funkcje zasad ochrony aplikacji usługi Intune. Dzieje się tak po 6–8 tygodniach w repozytorium GitHub dla Microsoft Intune App Wrapping Tool dla systemu iOS.

W przypadku systemu iOS/iPadOS, chociaż możliwe jest opakowywanie za pomocą innego profilu certyfikatu/aprowizacji niż oryginalny użyty do podpisania aplikacji, jeśli uprawnienia określone w aplikacji nie zostaną uwzględnione w nowym profilu aprowizacji, zawijanie zakończy się niepowodzeniem. Użycie opcji wiersza polecenia "-e", która usuwa brakujące uprawnienia z aplikacji, aby wymusić niepowodzenie zawijania w tym scenariuszu, może spowodować przerwanie funkcji w aplikacji.

Oto kilka najlepszych rozwiązań dotyczących ponownego zapisywania:

  • Zapewnienie, że inny profil aprowizacji ma wszystkie wymagane uprawnienia jako dowolny poprzedni profil aprowizacji.

Komunikaty o błędach i pliki dziennika

Skorzystaj z poniższych informacji, aby rozwiązać problemy z narzędziem opakowującego aplikacje.

Komunikaty o błędach

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

Komunikat o błędzie Więcej informacji
Musisz określić prawidłowy profil aprowizacji systemu iOS. Twój profil aprowizacji może być nieprawidłowy. Upewnij się, że masz odpowiednie uprawnienia do urządzeń i że Twój profil jest prawidłowo ukierunkowany na programowanie lub dystrybucję. Twój profil aprowizacji również może wygasnąć.
Określ prawidłową nazwę aplikacji wejściowej. Upewnij się, że 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 profil aprowizacji danych wejściowych. Upewnij się, że podasz prawidłową nazwę i rozszerzenie profilu aprowizacji. W profilu aprowizacji mogą brakować uprawnień lub nie uwzględniono opcji wiersza polecenia –p.
Nie odnaleziono określonej aplikacji wejściowej. Określ prawidłową nazwę i ścieżkę aplikacji wejściowej. Upewnij się, że ścieżka aplikacji wejściowej jest prawidłowa i istnieje. Upewnij się, że aplikacja wejściowa istnieje w tej lokalizacji.
Nie odnaleziono określonego pliku profilu aprowizowania danych wejściowych. Określ prawidłowy plik profilu aprowizacji danych wejściowych. Upewnij się, że ścieżka do pliku inicjowania obsługi danych wejściowych jest prawidłowa i że określony plik istnieje.
Nie odnaleziono określonego folderu aplikacji wyjściowej. Określ prawidłową ścieżkę do aplikacji wyjściowej. Upewnij się, że określona ś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 prawidłowy certyfikat podpisywania z portalu deweloperów firmy Apple. Certyfikat może wygasnąć lub może brakować klucza publicznego lub prywatnego. Jeśli certyfikat i profil aprowizacji firmy Apple mogą służyć do poprawnego podpisywania aplikacji w programie Xcode, są one prawidłowe dla App Wrapping Tool. Ponadto sprawdź, czy certyfikat podpisywania ma unikatową nazwę w pęku kluczy maszyny z systemem macOS hosta. Jeśli istnieje wiele wersji tego samego certyfikatu w pęku kluczy, ten błąd może zostać zwrócony.
Określona aplikacja wejściowa jest nieprawidłowa. Określ prawidłową aplikację. Upewnij się, że masz prawidłową aplikację systemu iOS, która została skompilowana jako plik .app lub ipa.
Określona aplikacja wejściowa jest szyfrowana. Określ prawidłową aplikację niezaszyfrowanej. App Wrapping Tool nie obsługuje zaszyfrowanych aplikacji. Podaj niezaszyfrowanej aplikacji.
Określona aplikacja wejściowa nie ma formatu niezależnego od pozycji pliku wykonywalnego (PIE). Określ prawidłową aplikację w formacie PIE. Aplikacje niezależnego pliku wykonywalnego (PIE) pozycji mogą być ładowane przy użyciu losowego adresu pamięci podczas uruchamiania. Może to mieć korzyści z zabezpieczeń. Aby uzyskać więcej informacji na temat korzyści z zabezpieczeń, zobacz dokumentację dewelopera firmy Apple.
Określona aplikacja wejściowa została już opakowana. Określ prawidłową nieopakowaną aplikację. Nie można przetworzyć aplikacji, która została już przetworzona przez narzędzie. 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łową podpisaną aplikację. Narzędzie opakowujące aplikacje wymaga podpisania aplikacji. Zapoznaj się z dokumentacją dewelopera, aby dowiedzieć się, jak podpisać opakowaną aplikację.
Określona aplikacja wejściowa musi mieć format ipa lub .app. Tylko rozszerzenia .app i .ipa są akceptowane przez narzędzie opakowujące aplikacje. Upewnij się, że plik wejściowy ma prawidłowe rozszerzenie i został skompilowany jako plik .app lub ipa.
Określona aplikacja wejściowa została już opakowana i jest w najnowszej wersji szablonu zasad. App Wrapping Tool nie usunie 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 określono prawidłowy skrót SHA1 zgodnie z flagą wiersza polecenia –c.

Zbieranie dzienników opakowanych aplikacji z urządzenia

Wykonaj poniższe kroki, aby pobrać 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 Konsola diagnostyki wyświetlania na Włączone.
  4. Uruchom aplikację LOB.
  5. Kliknij link "Rozpocznij".
  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 jest włączona dla aplikacji, które zostały opakowane za pomocą usługi Intune App Wrapping Tool wersji 7.1.13 lub nowszej.

Zbieranie dzienników awarii z systemu

Aplikacja może logować przydatne informacje do konsoli urządzeń klienckich z systemem iOS. Te informacje są przydatne, gdy masz problemy z aplikacją i musisz określić, czy problem jest związany z App Wrapping Tool, czy z samą aplikacją. Aby pobrać te informacje, wykonaj następujące kroki:

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

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

Opakowane aplikacje będą również udostępniać użytkownikom możliwość wysyłania dzienników bezpośrednio z urządzenia za pośrednictwem poczty e-mail po awarii aplikacji. Użytkownicy mogą wysyłać do Ciebie dzienniki, aby w razie potrzeby zbadać i przekazać je firmie Microsoft.

Wymagania dotyczące certyfikatu, profilu aprowizacji i uwierzytelniania

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

Wymóg Szczegóły
Profil aprowizacji systemu iOS Upewnij się, że profil aprowizacji jest prawidłowy przed jego uwzględnieniem. App Wrapping Tool nie sprawdza, czy profil aprowizacji wygasł podczas przetwarzania aplikacji systemu iOS. Jeśli zostanie określony wygasły profil aprowizacji, narzędzie opakowujące aplikacje będzie zawierać wygasły profil aprowizacji i nie będziesz wiedzieć, że wystąpił problem, dopóki instalacja aplikacji nie powiedzie się na urządzeniu z systemem iOS.
Certyfikat podpisywania systemu iOS Przed jego określeniem upewnij się, że certyfikat podpisywania jest ważny. Narzędzie nie sprawdza, czy certyfikat wygasł podczas przetwarzania aplikacji systemu iOS. Jeśli podano skrót wygasłego certyfikatu, narzędzie będzie przetwarzać i podpisywać aplikację, ale instalacja na urządzeniach nie powiedzie się.

Upewnij się, że certyfikat dostarczony do podpisywania opakowanej aplikacji jest zgodny z profilem aprowizacji. Narzędzie nie sprawdza, czy profil aprowizacji jest zgodny z certyfikatem dostarczonym do podpisywania opakowanej aplikacji.
Uwierzytelnianie Aby szyfrowanie działało, urządzenie musi mieć numer PIN. Na urządzeniach, na których wdrożono opakowaną aplikację, dotknięcie paska stanu na urządzeniu będzie wymagało od użytkownika ponownego zalogowania się przy użyciu konta służbowego. Domyślne zasady w opakowanej aplikacji to uwierzytelnianie przy ponownym uruchomieniu. System iOS obsługuje wszelkie powiadomienia zewnętrzne (na przykład połączenie telefoniczne), wychodząc z aplikacji, a następnie ponownie ją wznawiając.

Ustawianie uprawnień aplikacji

Przed opakowyniem aplikacji możesz udzielić uprawnień , aby nadać aplikacji dodatkowe uprawnienia i możliwości, które przekraczają to, co zwykle może wykonywać aplikacja. Plik uprawnień jest używany podczas podpisywania kodu w celu określenia specjalnych uprawnień w aplikacji (na przykład dostępu do udostępnionego łańcucha kluczy). Określone usługi aplikacji nazywane możliwościami są włączone w programie Xcode podczas tworzenia aplikacji. Po włączeniu możliwości zostaną odzwierciedlone 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 możliwości, zobacz Obsługiwane możliwości.

Obsługiwane możliwości App Wrapping Tool dla systemu iOS

Możliwości Opis Zalecane wskazówki
Grupy aplikacji Grupy aplikacji umożliwiają wielu aplikacjom dostęp do udostępnionych kontenerów i umożliwiają dodatkową komunikację międzyprocesorami między aplikacjami.

Aby włączyć grupy aplikacji, otwórz okienko Możliwości i kliknij pozycję WŁĄCZONE w obszarze Grupy aplikacji. Możesz dodać grupy aplikacji lub wybrać istniejące.
W przypadku korzystania z grup aplikacji użyj odwrotnej notacji DNS:

group.com.companyName.AppGroup
Tryby tła Włączenie trybów w tle umożliwia aplikacji systemu iOS kontynuowanie działania w tle.
Ochrona danych Ochrona danych dodaje poziom zabezpieczeń do plików przechowywanych na dysku przez aplikację systemu iOS. Ochrona danych używa wbudowanego sprzętu szyfrowania obecnego na określonych urządzeniach do przechowywania plików w zaszyfrowanym formacie na dysku. Aby można było korzystać z ochrony danych, należy aprowizować aplikację.
Zakup w aplikacji Zakup w aplikacji osadza sklep bezpośrednio w aplikacji, umożliwiając nawiązywanie połączenia ze sklepem i bezpieczne przetwarzanie płatności od użytkownika. Zakup w aplikacji umożliwia zbieranie płatności za rozszerzone funkcje lub dodatkową zawartość, która może być używana przez aplikację.
Udostępnianie łańcucha kluczy Włączenie udostępniania łańcucha kluczy umożliwia aplikacji udostępnianie haseł w pęku kluczy innym aplikacjom opracowanym przez twój zespół. W przypadku korzystania z udostępniania pęku kluczy użyj odwrotnej notacji 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 rozszerzenia sieci.
Powiadomienia wypychane Usługa Apple Push Notification Service (APNs) umożliwia aplikacji, która nie jest uruchomiona na pierwszym planie, powiadamianie użytkownika o tym, że ma informacje dla użytkownika. Aby powiadomienia wypychane działały, musisz użyć profilu aprowizacji specyficznego dla aplikacji.

Wykonaj kroki opisane w dokumentacji dewelopera firmy Apple.
Konfiguracja akcesoriów bezprzewodowych Włączenie konfiguracji akcesoriów bezprzewodowych dodaje strukturę akcesoriów zewnętrznych do projektu i umożliwia aplikacji skonfigurowanie Wi-Fi akcesoriów MFi.

Kroki włączania uprawnień

  1. Włącz możliwości w aplikacji:

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

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

    c. Zanotuj wszystkie identyfikatory utworzone podczas procesu. Mogą one być również określane jako AppIdentifierPrefix wartości.

    d. Skompiluj i podpisz aplikację do opakowania.

  2. Włącz uprawnienia w profilu aprowizacji:

    a. Zaloguj się do Centrum członkowskiego dewelopera firmy Apple.

    b. Utwórz profil aprowizacji dla aplikacji. Aby uzyskać instrukcje, zobacz How to Obtain the Prerequisites for the Intune App Wrapping Tool for iOS (Jak uzyskać wymagania wstępne dotyczące App Wrapping Tool usługi Intune dla systemu iOS).

    c. W profilu aprowizacji 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 pracę kreatora profilu aprowizacji i pobierz plik.

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

Rozwiązywanie typowych błędów z uprawnieniami

Jeśli w App Wrapping Tool dla systemu iOS jest wyświetlany błąd uprawnień, spróbuj wykonać następujące kroki rozwiązywania problemów.

Problem Przyczyna Rozwiązanie
Nie można przeanalizować uprawnień wygenerowanych z aplikacji wejściowej. App Wrapping Tool nie może odczytać pliku uprawnień, który został wyodrębniony z aplikacji. Plik uprawnień może być źle sformułowany. Sprawdź plik uprawnień dla aplikacji. Poniższe instrukcje wyjaśniają, jak to zrobić. Podczas inspekcji pliku uprawnień sprawdź, czy nie ma źle sformułowanej składni. Plik powinien mieć format XML.
Brak uprawnień w profilu aprowizacji (brakujące uprawnienia są wymienione). Przepakuj ponownie aplikację przy użyciu profilu aprowizacji, 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ść ma również zastosowanie do identyfikatorów skojarzonych z określonymi możliwościami (takimi jak grupy aplikacji i dostęp do łańcucha kluczy). Ogólnie rzecz biorąc, można utworzyć nowy profil aprowizacji, który umożliwia korzystanie z tych samych możliwości co aplikacja. Jeśli identyfikatory między profilem a aplikacją nie są zgodne, App Wrapping Tool zastąpi identyfikatory, jeśli jest w stanie. Jeśli ten błąd nadal występuje po utworzeniu nowego profilu aprowizacji, możesz spróbować usunąć uprawnienia z aplikacji przy użyciu parametru –e (zobacz Używanie parametru –e do usuwania uprawnień z sekcji 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. Spowoduje to utworzenie folderu Payload zawierającego pakiet .app.

  3. Użyj narzędzia codesign, aby sprawdzić uprawnienia w pakiecie .app, gdzie YourApp.app jest rzeczywista nazwa 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 to rzeczywista nazwa pakietu aplikacji.

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

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

To polecenie usuwa wszystkie włączone możliwości w aplikacji, które nie są w pliku uprawnień. Jeśli usuniesz możliwości używane przez aplikację, może to przerwać działanie aplikacji. Przykładem tego, gdzie 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> -e

Bezpieczeństwo i prywatność App Wrapping Tool

Podczas korzystania z App Wrapping Tool skorzystaj z następujących najlepszych rozwiązań dotyczących zabezpieczeń i prywatności.

  • Certyfikat podpisywania, profil aprowizacji i określona 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 są one dostępne z komputera z systemem macOS. Ścieżka musi być zabezpieczona za pośrednictwem protokołu IPsec lub podpisywania protokołu SMB.

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

  • Środowisko, w którym App Wrapping Tool jest pobierany z repozytorium GitHub, musi być zabezpieczone za pośrednictwem protokołu IPsec lub podpisywania SMB.

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

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

  • Aplikacje systemu iOS zawierające okno dialogowe przekazywania plików mogą zezwalać użytkownikom na obejście, wycinanie, kopiowanie i wklejanie ograniczeń stosowanych do aplikacji. Na przykład użytkownik może użyć okna dialogowego przekazywania plików, aby przekazać zrzut ekranu danych aplikacji.

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

  • Rejestrowanie niestandardowych schematów adresów URL umożliwia przekierowanie określonych adresów URL 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ć rekomendacje, aby uniknąć kolizji niestandardowych schematów adresów URL i wytycznych dotyczących zabezpieczeń dotyczących obsługi źle sformułowanych adresów URL.

Zobacz też