Dystrybucja własnych aplikacji wewnętrznych na urządzeniach Apple
Urządzenia Apple obsługują bezprzewodową instalację własnych aplikacji wewnętrznych bez używania Maca lub App Store. Dystrybucja aplikacji tego typu wymaga posiadania profilu informacyjnego. Profile informacyjne mogą być instalowane i zarządzane przy użyciu rozwiązania MDM. Następnie mogą być one pobierane i instalowane przez użytkowników za pośrednictwem rozwiązania MDM lub podczas uaktualniania aplikacji. Przed upływem ważności profilu informacyjnego odwiedź witrynę Apple dla deweloperów i utwórz nowy profil dla swojej aplikacji. W przypadku aplikacji dla systemu iOS lub iPadOS, wyeksportuj nowy pakiet aplikacji (plik .ipa) z nowym profilem informacyjnym dla użytkowników instalujących tę aplikację po raz pierwszy.
Przygotowywanie użytkowników i zarządzanie nimi dla deweloperów własnych aplikacji wewnętrznych
Deweloperzy własnych aplikacji wewnętrznych mają dostęp do interfejsów API Apple służących do przygotowywania użytkowników i zarządzania nimi, co pozwala im automatyzować zadania takie jak generowanie profili informacyjnych i integrowanie zarządzania użytkownikami z istniejącymi przepływami pracy.
Istnieją dwa sposoby dystrybucji własnych aplikacji wewnętrznych:
Przy użyciu rozwiązania MDM
Przy użyciu witryny
Obie metody wymagają przygotowania aplikacji do dystrybucji, co obejmuje utworzenie pliku manifestu.
Przygotowywanie własnej aplikacji wewnętrznej do dystrybucji bezprzewodowej
Aby przygotować własną aplikację wewnętrzną do dystrybucji drogą bezprzewodową, należy skompilować zarchiwizowaną wersję aplikacji (plik .ipa) oraz przygotować plik manifestu, umożliwiający bezprzewodową dystrybucję i instalację aplikacji. Utwórz wersjonowane archiwum aplikacji przy użyciu Xcode, a następnie wyeksportuj aplikację do dystrybucji w organizacji. Xcode użyje certyfikatu dystrybucyjnego i dołączy odpowiedni profil informacyjny. Plik manifestu to plik plist w formacie XML, używany przez urządzenia Apple do znajdowania, pobierania i instalowania aplikacji z serwera sieciowego. Xcode tworzy plik manifestu na podstawie informacji podanych przez Ciebie podczas udostępniania zarchiwizowanej aplikacji do dystrybucji w organizacji. Aby poznać listę atrybutów oraz powiązanych z nimi wartości, zobacz: Install Application command (Polecenie instalacji aplikacji) w witrynie Apple dla deweloperów.
Zarządzanie własnymi aplikacjami wewnętrznymi na komputerach Mac
Od systemu macOS 14 włącznie można zarządzać większą liczbą aplikacji. Jeśli w pakiecie znajduje się więcej niż jeden pakiet aplikacji, dowolna aplikacja wdrażana do folderu /Aplikacje może być zarządzana. Aplikacje zarządzane muszą pozostać w folderze /Aplikacje, aby można je było uznać za zarządzane.
Przy użyciu rozwiązania MDM organizacja może zdefiniować, czy dana aplikacja zarządzana ma być zachowywana czy usuwana podczas wyrejestrowywania urządzenia. Możliwe jest także usunięcie danej aplikacji przy użyciu rozwiązania MDM. Powoduje to usunięcie pakietu aplikacji z folderu /Aplikacje. Dane zainstalowane przez pakiet lub powiązane skrypty znajdujące się w innych miejscach nie są usuwane.
Ponadto, gdy używana jest metoda rejestracji przez użytkownika lub rejestracji urządzeń oparta o konto, dane aplikacji zarządzanych są przechowywane na osobnym woluminie.
Uzyskiwanie identyfikatora pakietu aplikacji na Maca
Aby sprawdzić identyfikator pakietu (bundle ID), kliknij w daną aplikację z naciśniętym klawiszem Control, a następnie wybierz Pokaż zawartość pakietu. Otwórz folder Contents, a następnie otwórz plik Info.plist. Jeśli nie wiesz, jakiej aplikacji użyć, otwórz ten plik w aplikacji TextEdit. Użyj funkcji Znajdź, aby znaleźć w pliku klucz CFBundleIdentifier
, a następnie skopiuj ciąg znaków widoczny poniżej tego wystąpienia. Na przykład: com.betterbag.nazwaaplikacji. Wklej identyfikator pakietu aplikacji do pliku tekstowego lub notatki, aby użyć go później.
Dystrybucja aplikacji przy użyciu MDM
W przypadku instalacji przy użyciu rozwiązania MDM wymagane jest użycie manifestu z poleceniem InstallEnterpriseApplication
(plik manifestu lub manifest osadzony) albo InstallApplication
(plik manifestu). System macOS obsługuje także sha256 oraz przypinanie certyfikatów (certificate pinning). Polecenia te pozwalają używać dodatkowych opcji, zależnie od systemu operacyjnego:
Na urządzeniach z systemem iOS 17.2, iPadOS 17.2 lub nowszym można także używać deklaratywnej konfiguracji aplikacji.
Na urządzeniach z systemem macOS można używać:
polecenia
InstallApplication
do zakupów grupowych oraz instalacji .pkg,polecenia
InstallEnterpriseApplication
tylko do instalacji .pkg.
Aby uzyskać więcej informacji, zapoznaj się z sekcją Polecenia usługi MDM.
Dystrybucja aplikacji przy użyciu witryny
W przypadku instalacji bezprzewodowej aplikacje dla systemu iOS, iPadOS lub visionOS 1.1 muszą spełniać następujące wymagania:
Aplikacje te muszą mieć format .ipa i być wygenerowane przy użyciu wewnętrznego profilu informacyjnego.
Muszą zawierać plik manifestu w formacie XML.
Muszą być pobierane z witryny, której adres rozpoczyna się od HTTPS.
Muszą być podpisane certyfikatem, który jest zaufany na urządzeniu.
Konfiguracja sieci musi pozwalać urządzeniom na dostęp do serwera Apple. Aby uzyskać więcej informacji, przeczytaj artykuł Wsparcia Apple: Korzystanie z produktów Apple w sieciach korporacyjnych.
W celu instalacji pakietu użytkownicy pobierają plik manifestu z witryny sieciowej, używając specjalnego prefiksu w adresie URL. Adres URL do pobrania pliku manifestu może być udostępniany w wiadomości iMessage lub e-mail. Oto przykładowe łącze z dodanym prefiksem:
<a href="?x=http://support.apple.comitms-services://?action=download-manifest&url=https://betterbag.com/manifest.plist">Zainstaluj aplikację</a>
Zaprojektowanie i utrzymywanie witryny sieciowej używanej do dystrybucji tego typu aplikacji należy do Ciebie. Pamiętaj o konieczności uwierzytelniania użytkowników oraz zapewnieniu dostępu do witryny z intranetu lub Internetu (zależnie od potrzeb). Witryna może być pojedynczą stroną zawierającą łącze do pliku manifestu. Gdy użytkownik stuknie w łącze sieciowe, pobrany zostanie plik manifestu, co spowoduje rozpoczęcie pobierania i instalacji rzeczy udostępnionej w witrynie.
Pamiętaj, aby postępować zgodnie z poniższymi dodatkowymi wskazówkami:
Nie umieszczaj łącza sieciowego bezpośrednio w zarchiwizowanej aplikacji (pliku .ipa). Plik .ipa pobierany jest przez urządzenie po wczytaniu pliku manifestu. Mimo to, że protokół w adresie URL to „itms-services”, proces przebiega bez udziału App Store.
Upewnij się, że plik .ipa jest dostępny za pośrednictwem protokołu HTTPS, a witryna jest podpisana przy użyciu certyfikatu rozpoznawanego przez systemy iOS i iPadOS jako zaufany. Instalacja nie powiedzie się, jeśli certyfikat samopodpisany nie ma punktu zaufania i nie może zostać zweryfikowany przez urządzenie.
Umieść poniższe pliki w obszarze witryny dostępnym dla uwierzytelnionych użytkowników:
Plik manifestu (z rozszerzeniem .plist)
Plik aplikacji (z rozszerzeniem .ipa)
Konieczne może okazać się odpowiednie skonfigurowanie serwera sieciowego, aby plik manifestu i plik aplikacji były przesyłane prawidłowo. Dodaj następujące typy MIME do ustawień typów MIME usługi Web na serwerze:
application/octet-stream ipa
text/xml plist
Jeśli używasz Internet Information Services firmy Microsoft (IIS), otwórz aplikację IIS Manager, przejdź do strony Properties (właściwości) serwera i dodaj następujące typy MIME:
.ipa application/octet-stream
.plist text/xml
Uwaga: W przypadku utworzenia portalu samoobsługowego warto dodać wycinek witryny do ekranu początkowego na urządzeniach użytkowników, aby ułatwić im późniejsze wracanie na portal w celu uzyskania nowych informacji (takich jak nowe profile konfiguracji i polecane aplikacje z App Store) lub umożliwienia rejestracji urządzeń w rozwiązaniu MDM.
Potwierdzanie certyfikatu
Gdy użytkownik otwiera daną aplikację po raz pierwszy, system łączy się z serwerem OCSP Apple, aby potwierdzić certyfikat dystrybucyjny. Jeśli certyfikat został wycofany, aplikacja nie zostanie uruchomiona. W celu weryfikacji statusu urządzenie musi mieć możliwość połączenia z adresem ocsp.apple.com.
Odpowiedź serwera OCSP jest przechowywana na urządzeniu przez czas określony przez serwer OCSP. Obecnie może być to od 3 do 7 dni. Ważność certyfikatu nie jest sprawdzana ponownie do momentu ponownego uruchomienia urządzenia i wygaśnięcia buforowanej odpowiedzi serwera. Jeśli zostanie wówczas odebrane unieważnienie certyfikatu, aplikacja nie zostanie uruchomiona.
OSTRZEŻENIE: Wycofanie certyfikatu dystrybucji unieważnia wszystkie aplikacje podpisane przy jego użyciu. Wycofanie certyfikatu powinno być stosowane tylko w ostateczności — gdy masz pewność, że klucz prywatny został utracony lub bezpieczeństwo certyfikatu zostało naruszone.
Udostępnianie uaktualnień własnych aplikacji wewnętrznych
Aplikacje dystrybuowane we własnym zakresie nie są uaktualniane automatycznie. Gdy dostępna jest nowa wersja, należy powiadomić użytkowników o jej dostępności i zlecić im jej zainstalowanie. Warto rozważyć dodanie do aplikacji funkcji sprawdzania dostępności uaktualnień i powiadamiania użytkownika. Upewnij się, że w powiadomieniu zawarte jest łącze itms-services. Do zainstalowania uaktualnienia możesz także wykorzystać polecenie openURL w samej aplikacji.
Jeśli chcesz, aby użytkownicy zachowali dane przechowywane na ich urządzeniach, upewnij się, że nowa wersja używa takiego samego identyfikatora pakietu, jak wersja zastępowana. Poinformuj także użytkowników, aby nie usuwali istniejącej wersji przed zainstalowaniem nowej.
Przed upływem ważności profilu informacyjnego utwórz nowy profil dla swojej aplikacji w witrynie dla deweloperów iOS, witrynie dla deweloperów iPadOS lub witrynie dla deweloperów visionOS. Wyeksportuj nowy pakiet aplikacji (plik .ipa) z nowym profilem informacyjnym dla użytkowników instalujących tę aplikację po raz pierwszy.
Jeśli użytkownicy mają już daną aplikację, możesz tak wybrać czas wydania następnej wersji, aby zawierała ona nowy profil informacyjny. Dzięki temu instalacja profilu nie spowoduje przerwy w pracy. Jeśli nie, możesz udostępnić sam nowy plik .mobileprovision, aby użytkownicy nie musieli ponownie instalować aplikacji. Nowy profil informacyjny zastępuje profil znajdujący się już w archiwum aplikacji.
Profile informacyjne dystrybucji wygasają 12 miesięcy po ich wygenerowaniu. Po upływie daty ważności profil jest usuwany, a uruchomienie aplikacji przestaje być możliwe.
Jeśli Twój certyfikat dystrybucyjny wygaśnie, uruchomienie danej aplikacji nie będzie możliwe. Konieczne będzie ponowne wygenerowanie aplikacji przy użyciu nowego certyfikatu dystrybucyjnego. Certyfikat dystrybucji jest ważny przez trzy lata od daty wydania lub do upływu ważności programu Apple Developer Enterprise Program — zależnie od tego, co nastąpi wcześniej. Aby uniknąć wygaśnięcia ważności certyfikatu, pamiętaj o odnowieniu swojego członkostwa przed upływem terminu.
Jednocześnie aktywne mogą być dwa niezależne od siebie certyfikaty dystrybucji. Drugi certyfikat zapewnia nakładający się okres, w którym możesz uaktualniać swoje aplikacje przed upływem ważności pierwszego certyfikatu. Gdy pobierasz drugi certyfikat dystrybucji, zwróć uwagę, aby nie wycofać swojego pierwszego certyfikatu.
Rozwiązywanie problemów z bezprzewodową dystrybucją aplikacji
Jeśli dystrybucja aplikacji drogą bezprzewodową kończy się niepowodzeniem, a na ekranie pojawia się komunikat o braku możliwości pobrania:
Upewnij się, że aplikacja jest prawidłowo podpisana. Aby to sprawdzić, zainstaluj ją na urządzeniu przy użyciu aplikacji Apple Configurator na Maca i sprawdź, czy występują błędy.
Upewnij się, że łącze do pliku manifestu jest prawidłowe, a sam plik manifestu jest dostępny dla użytkowników sieci.
Upewnij się, że adres URL pliku .ipa (w pliku manifestu) jest prawidłowy, a sam plik .ipa jest dostępny dla użytkowników sieci przy użyciu protokołu HTTPS.