Intune App SDK pro iOS – Funkce účasti aplikací
Sada Microsoft Intune App SDK pro iOS umožňuje začlenit do nativní aplikace pro iOS zásady ochrany Intune aplikací (označované také jako zásady APP nebo MAM). Aplikace spravovaná Intune je aplikace integrovaná se sadou Intune App SDK. Intune správci můžou zásady ochrany aplikací snadno nasadit do aplikace spravované Intune, když Intune aplikaci aktivně spravuje.
Poznámka
Tato příručka je rozdělená do několika různých fází. Začněte tím, že si projděte téma Plánování integrace.
Fáze 4: Funkce účasti v aplikacích
Goals fáze
- Seznamte se s různými funkcemi účasti v aplikacích, které nabízí sada Intune App SDK.
- Integrujte funkce účasti v aplikacích, které jsou relevantní pro vaši aplikaci a uživatele.
- Otestujte integraci těchto funkcí.
Co jsou funkce účasti na aplikacích?
Tento proces integrace sady SDK se pokouší minimalizovat množství kódu specifického pro aplikaci, který vývojáři potřebují napsat. Po úspěšném dokončení předchozích fází integrace sady SDK teď vaše aplikace může vynutit většinu nastavení zásad ochrany aplikací, jako je šifrování souborů, omezení kopírování a vkládání, blokování snímků obrazovky a omezení přenosu dat.
Existují však některá nastavení, která vyžadují správné vynucování kódu specifického pro aplikaci. tyto funkce se nazývají funkce účasti v aplikacích. Sada SDK obvykle nemá dostatek kontextu o kódu vaší aplikace nebo scénáři koncového uživatele k automatickému vynucování těchto nastavení, a proto spoléhá na to, že vývojáři budou správně volat rozhraní API sady SDK.
Funkce účasti v aplikacích nemusí být nutně volitelné. V závislosti na existujících funkcích vaší aplikace se můžou tyto funkce vyžadovat.
V dalších fázích této příručky se popíše několik důležitých funkcí účasti v aplikacích:
- Více identit, jak je popsáno ve fázi 5: Více identit.
- Certifikační autorita ochrany aplikací, jak je popsáno ve fázi 6: Podpora podmíněného přístupu k ochraně aplikací
- Funkce specifické pro webové zobrazení popsané ve fázi 7: Funkce webového zobrazení
Zbývající část této příručky popisuje zbývající sadu funkcí účasti v aplikacích:
- Implementace povolených účtů
- Implementace povinného šifrování souborů
- Implementace ovládacích prvků uložit jako a otevřít z
- Sdílení dat přes UIActivityViewController
- Povolení cílené konfigurace (konfigurace aplikací APP/MAM) pro aplikace pro iOS
- Telemetrie
- Záměry Siri
- Klipy aplikací
- Polygrafie
- Upozornění
- Skript po sestavení
Přizpůsobení chování aplikace pomocí rozhraní API
Sada Intune App SDK obsahuje několik rozhraní API, která můžete volat, abyste získali informace o zásadách Intune APP nasazených do aplikace. Tato data můžete použít k přizpůsobení chování aplikace. Následující tabulka obsahuje informace o některých základních Intune třídách, které používáte.
Třída | Popis |
---|---|
IntuneMAMPolicyManager.h | Třída IntuneMAMPolicyManager zveřejňuje zásady Intune APP nasazené do aplikace. Zejména zveřejňuje rozhraní API, která jsou užitečná pro povolení více identit. |
IntuneMAMPolicy.h | Třída IntuneMAMPolicy zveřejňuje některá nastavení zásad MAM, která se vztahují na aplikaci. Většina těchto nastavení zásad je zpřístupněná, aby aplikace mohl přizpůsobit své uživatelské rozhraní. Většinu nastavení zásad vynucuje sada SDK, nikoli aplikace. Existují však některé výjimky. Vývojáři aplikací by si měli projít komentáře v této hlavičce a určit, která rozhraní API jsou použitelná pro scénáře jejich aplikace. |
IntuneMAMFileProtectionManager.h | Třída IntuneMAMFileProtectionManager zpřístupňuje rozhraní API, která aplikace může použít k explicitnému zabezpečení souborů a adresářů na základě zadané identity. Identitu je možné spravovat pomocí Intune nebo nespravované a sada SDK použije příslušné zásady MAM. Použití této třídy je volitelné. |
IntuneMAMDataProtectionManager.h | Třída IntuneMAMDataProtectionManager zveřejňuje rozhraní API, která aplikace může použít k zabezpečení vyrovnávacích pamětí dat s danou identitou. Identitu je možné spravovat pomocí Intune nebo nespravované a sada SDK použije šifrování odpovídajícím způsobem. |
Implementace povolených účtů
Intune správcům IT umožňuje určit, ke kterým účtům se může uživatel přihlásit. Aplikace se můžou v sadě Intune App SDK dotazovat na zadaný seznam povolených účtů a pak zajistit, aby k zařízení byly přihlášeny jenom povolené účty.
Pokud se chcete dotazovat na povolené účty, měla by aplikace zkontrolovat allowedAccounts
vlastnost na .IntuneMAMEnrollmentManager
Vlastnost allowedAccounts
je buď pole obsahující povolené účty, nebo nil. Pokud je vlastnost nil, nebyly zadány žádné povolené účty. Aplikace s podporou MSAL/OneAuth by měly k dotazování ID objektu allowedAccountIds
IntuneMAMEnrollmentManager
Entra používat vlastnost instance.
Aplikace můžou také reagovat na změny allowedAccounts
vlastnosti sledováním IntuneMAMAllowedAccountsDidChangeNotification
oznámení. Oznámení se publikuje vždy, když se allowedAccounts
vlastnost změní v hodnotě.
Při používání rozhraní API pro povolené účty jsou potřeba následující požadavky:
- U hlavního názvu uživatele (UPN) a OID se nesmí rozlišovat malá a velká písmena.
- Porovnání identit musí podporovat hlavní název uživatele (UPN) i OID.
- Aplikace musí mít protokolování, aby bylo možné diagnostikovat případné neshody mezi účtem zadaným správcem a účtem zadaným uživatelem.
Implementace povinného šifrování souborů
Rozhraní isFileEncryptionRequired
API definované v IntuneMAMPolicy.h
nástroji informuje aplikace, když správce IT požaduje, aby aplikace používaly Intune šifrování všech souborů uložených na disk. Pokud isFileEncryptionRequired
je pravdivá, pak je zodpovědností aplikace zajistit, aby všechny soubory uložené na disk aplikace byly šifrovány pomocí rozhraní API v IntuneMAMFile.h
, IntuneMAMFileProtectionManager.h
a IntuneMAMFDataProtectionManager.h
.
Aplikace můžou reagovat na změny v této zásadě tím, IntuneMAMDataProtectionDidChangeNotification
že budou dodržovat oznámení definovaná v IntuneMAMFDataProtectionManager.h
.
Implementace ovládacích prvků uložit jako a otevřít z
Intune umožňuje správcům IT vybrat umístění úložiště, do kterých může spravovaná aplikace ukládat data nebo je otevírat. Aplikace můžou pomocí rozhraní API definovaného v IntuneMAMPolicy.h
Intune sadě MAM SDK dotazovat na povolené ukládání do umístění isSaveToAllowedForLocation:withAccountId:
úložiště. Aplikace můžou také pomocí rozhraní API definovaného v IntuneMAMPolicy.h
sadě SDK dotazovat na povolená umístění isOpenFromAllowedForLocation:withAccountId:
úložiště open-from.
Kromě toho můžou aplikace ověřit, jestli jsou příchozí data z rozšíření sdílené složky povolená, a to dotazováním rozhraní API definovaného canReceiveSharedItemProvider:
v IntuneMAMPolicy.h
. Aplikace můžou také dotazovat rozhraní canReceiveSharedFile:
API, aby ověřily příchozí soubory z volání openURL, které je také definováno v IntuneMAMPolicy.h
Poznámka
Došlo ke změnám interního chování sady MAM SDK verze 15.1.0.
- Účet
nil
už nebude považován za aktuální účet pro umístění LocalDrive/LocalStorage. Předání účtunil
bude považováno za nespravovaný účet. Vzhledem k tomu, že aplikace můžou řídit, jak naloží s úložištěm sandboxu, může a měla by být k těmto umístěním přidružena identita. - Účet
nil
už nebude považován za aktuální účet pro aplikace s jednou identitou.nil
Předání účtu v aplikaci s jednou identitou se teď bude zpracovávat úplně stejně, jako kdyby bylo předáno do aplikace s více identitmi. Pokud vyvíjíte aplikaci s jednou identitou, použijteIntuneMAMPolicy
primaryUser
k odkazování na aktuální účet, pokud je spravovaný, anil
k odkazování na aktuální účet, pokud není spravovaný.
Zpracování scénářů uložení do
Před přesunem dat do nového cloudového úložiště nebo místního umístění musí aplikace v isSaveToAllowedForLocation:withAccountId:
rozhraní API zkontrolovat, jestli správce IT povolil přenos dat. Tato metoda je volána u objektu IntuneMAMPolicy
. Data upravovaná a uložená místně není potřeba kontrolovat pomocí tohoto rozhraní API.
Poznámka
Objekt IntuneMAMPolicy
by měl představovat zásady vlastníka ukládaných dat. Pokud chcete získat IntuneMAMPolicy
objekt konkrétní identity, zavolejte IntuneMAMPolicyManager
metodu .policyForAccountId:
Pokud je vlastníkem nespravovaný účet bez identity, nil
můžete ho předat do policyForAccountId:
. I když ukládaná data nejsou organizačními daty, isSaveToAllowedForLocation:withAccountId:
měla by se přesto volat. Účet, který vlastní cílové umístění, může mít stále zásady omezující příchozí nespravovaná data.
Metoda isSaveToAllowedForLocation:withAccountId:
používá dva argumenty. Prvním argumentem je hodnota výčtu typu IntuneMAMSaveLocation
definovaného v nástroji IntuneMAMPolicy.h
. Druhým argumentem je hlavní název uživatele (UPN) identity, která vlastní umístění. Pokud vlastník není známý, nil
můžete místo toho použít.
Podporovaná umístění pro ukládání
Sada INTUNE MAM SDK poskytuje podporu pro následující umístění pro ukládání definovaná v nástroji IntuneMAMPolicy.h
:
-
IntuneMAMSaveLocationOneDriveForBusiness
– Toto umístění představuje OneDrive pro firmy umístění. Identita přidružená k účtu OneDrivu by se měla předat jako druhý argument. -
IntuneMAMSaveLocationSharePoint
– Toto umístění představuje sharepoint online i Microsoft Entra umístění sharepointového hybridního moderního ověřování. Identita přidružená k účtu SharePointu by se měla předat jako druhý argument. -
IntuneMAMSaveLocationLocalDrive
– Toto umístění představuje úložiště sandboxu aplikace, ke kterému má přístup jenom aplikace. Toto umístění by se nemělo používat k ukládání prostřednictvím výběru souborů ani k ukládání do souborů prostřednictvím rozšíření sdílené složky. Pokud je možné identitu přidružit k úložišti app-sandboxu, měla by se předat jako druhý argument. Pokud neexistuje žádná identita,nil
měla by se místo toho předat. Aplikace může například používat samostatné kontejnery úložiště app-sandbox pro různé účty. V tomto případě by se jako druhý argument měl použít účet, který vlastní kontejner, ke kterému se přistupuje. -
IntuneMAMSaveLocationCameraRoll
– Toto umístění představuje knihovnu fotografií iOS. Vzhledem k tomu, že ke knihovně fotografií iOS není přidružený žádný účet, měl by se při použití tohoto umístění předávat jenomnil
druhý argument. -
IntuneMAMSaveLocationAccountDocument
– Toto umístění představuje všechna umístění organizace, která nejsou dříve uvedená a která se dají svázat se spravovaným účtem. Účet organizace přidružený k umístění by se měl předat jako druhý argument. Například nahrání fotky do obchodní cloudové služby organizace, která je svázaná s účtem organizace. -
IntuneMAMSaveLocationOther
– Toto umístění představuje jakékoli neorganizační, dříve neuvedené nebo neznámé umístění. Pokud je účet přidružený k umístění, měl by se předat jako druhý argument.nil
V opačném případě by se měl použít místo toho.
Zvláštní aspekty umístění pro ukládání
Umístění IntuneMAMSaveLocationLocalDrive
by se mělo používat jenom pro úložiště sandboxu aplikace, ke kterému má přístup jenom aplikace. Ke kontrole, jestli je možné soubor uložit do úložiště zařízení s iOSem, by měl být použit výběr souborů nebo nějaká jiná metoda, IntuneMAMSaveLocationOther
kde budou data přístupná v aplikaci Soubory.
Pokud cílové umístění není uvedené, mělo by se použít buď nebo IntuneMAMSaveLocationAccountDocument
IntuneMAMSaveLocationOther
. Pokud umístění obsahuje data organizace, ke kterým se přistupuje pomocí spravovaného účtu (tj. Měla by se použít cloudová služba LOB pro ukládání dat IntuneMAMSaveLocationAccountDocument
organizace). Pokud umístění neobsahuje data organizace, IntuneMAMSaveLocationOther
mělo by se použít.
Zpracování scénářů open-from
Před importem dat z nového cloudového úložiště nebo místního umístění musí aplikace zkontrolovat isOpenFromAllowedForLocation:withAccountId:
rozhraní API, aby věděli, jestli správce IT povolil přenos dat. Tato metoda je volána u objektu IntuneMAMPolicy
. Data, která se otevírají místně, není potřeba kontrolovat pomocí tohoto rozhraní API.
Poznámka
Objekt IntuneMAMPolicy
by měl představovat zásady identity, která přijímá data. Pokud chcete získat IntuneMAMPolicy
objekt konkrétní identity, zavolejte IntuneMAMPolicyManager
metodu .policyForAccountId:
Pokud je přijímajícím účtem nespravovaný účet bez identity, nil
lze ho předat do policyForAccountId:
. I když přijímaná data nejsou organizačními daty, isOpenFromAllowedForLocation:withAccountId:
měla by se přesto volat. Účet, který vlastní data, může mít stále zásady omezující cíle odchozích přenosů dat.
Metoda isOpenFromAllowedForLocation:withAccountId:
používá dva argumenty. Prvním argumentem je hodnota výčtu typu IntuneMAMOpenLocation
definovaného v nástroji IntuneMAMPolicy.h
. Druhým argumentem je hlavní název uživatele (UPN) identity, která vlastní umístění. Pokud vlastník není známý, nil
můžete místo toho použít.
Podporovaná otevřená umístění
Sada INTUNE MAM SDK poskytuje podporu pro následující otevřená umístění definovaná v nástroji IntuneMAMPolicy.h
:
-
IntuneMAMOpenLocationOneDriveForBusiness
– Toto umístění představuje OneDrive pro firmy umístění. Identita přidružená k účtu OneDrivu by se měla předat jako druhý argument. -
IntuneMAMOpenLocationSharePoint
– Toto umístění představuje sharepoint online i Microsoft Entra umístění sharepointového hybridního moderního ověřování. Identita přidružená k účtu SharePointu by se měla předat jako druhý argument. -
IntuneMAMOpenLocationCamera
- Toto umístění představuje pouze nové snímky pořízené fotoaparátem. Vzhledem k tomu, že ke kameře iOSu není přidružený žádný účet, měl by se při použití tohoto umístění předávat jenomnil
druhý argument. Pokud chcete otevřít data z knihovny fotografií iOS, použijteIntuneMAMOpenLocationPhotos
. -
IntuneMAMOpenLocationPhotos
– Toto umístění představuje pouze existující obrázky v knihovně fotografií iOS. Vzhledem k tomu, že ke knihovně fotografií iOS není přidružený žádný účet, měl by se při použití tohoto umístění předávat jenomnil
druhý argument. Pokud chcete otevírat snímky pořízené přímo z fotoaparátu iOS, použijteIntuneMAMOpenLocationCamera
. -
IntuneMAMOpenLocationLocalStorage
– Toto umístění představuje úložiště sandboxu aplikace, ke kterému má přístup jenom aplikace. Toto umístění by se nemělo používat pro otevírání souborů z výběru souborů nebo zpracování příchozích souborů z openURL. Pokud je možné identitu přidružit k úložišti app-sandboxu, měla by se předat jako druhý argument. Pokud neexistuje žádná identita,nil
měla by se místo toho předat. Aplikace může například používat samostatné kontejnery úložiště app-sandbox pro různé účty. V tomto případě by se jako druhý argument měl použít účet, který vlastní kontejner, ke kterému se přistupuje. -
IntuneMAMOpenLocationAccountDocument
– Toto umístění představuje všechna umístění organizace, která nejsou dříve uvedená a která se dají svázat se spravovaným účtem. Účet organizace přidružený k umístění by se měl předat jako druhý argument. Například stažení fotky z obchodní cloudové služby organizace, která je svázaná s účtem organizace. -
IntuneMAMOpenLocationOther
– Toto umístění představuje jakékoli neorganizační umístění, dříve neuvedené nebo neznámé umístění. Pokud je účet přidružený k umístění, měl by se předat jako druhý argument.nil
V opačném případě by se měl použít místo toho.
Zvláštní aspekty pro otevřená umístění
Umístění IntuneMAMOpenLocationLocalStorage
by se mělo používat jenom pro úložiště sandboxu aplikace, ke kterému má aplikace přístup. Ke kontrole, jestli se soubor dá otevřít z úložiště zařízení s iOSem, by se měl použít výběr souborů nebo nějaká jiná metoda, IntuneMAMOpenLocationOther
kde jsou data přístupná také v aplikaci Soubory.
Pokud cílové umístění není uvedené, mělo by se použít buď nebo IntuneMAMOpenLocationAccountDocument
IntuneMAMOpenLocationOther
. Pokud umístění obsahuje data organizace, ke kterým se přistupuje pomocí spravovaného účtu. Měla by se použít například cloudová služba LOB pro ukládání dat IntuneMAMOpenLocationAccountDocument
organizace. Pokud umístění neobsahuje data organizace, IntuneMAMSaveLocationOther
mělo by se použít.
Zpracování příchozích NSItemProvider a souborů
Pro zpracování objektů NSItemProvider přijatých z rozšíření IntuneMAMPolicy
canReceiveSharedItemProvider:
sdílené složky je možné místo metody použít metodu isOpenFromAllowedForLocation:withAccountId:
. Metoda canReceiveSharedItemProvider:
vezme NSItemProvider a vrátí, zda je správcem IT povoleno otevřít v účtu objektu IntuneMAMPolicy
. Položka musí být načtena před voláním této metody. Například voláním metody loadItemForTypeIdentifier:options:completionHandler
. Tuto metodu lze také volat z obslužné rutiny dokončení předané NSItemProvider volání zatížení.
Pro zpracování příchozích souborů IntuneMAMPolicy
canReceiveSharedFile:
lze místo metody použít metodu isOpenFromAllowedForLocation:withAccountId:
. Metoda canReceiveSharedFile:
vezme cestu NSString a vrátí, jestli je správcem IT povoleno otevřít v účtu objektu IntuneMAMPolicy
.
Upozornění na blokování sdílení
Pomocnou funkci uživatelského rozhraní je možné použít, když isSaveToAllowedForLocation:withAccountId:
se zavolá rozhraní API nebo isOpenFromAllowedForLocation:withAccountId:
a zjistí se, že se zablokuje akce uložit/otevřít. Pokud chce aplikace uživatele upozornit, že se akce zablokovala, může volat showSharingBlockedMessage
rozhraní API definované v IntuneMAMUIHelper.h
nástroji a zobrazit tak zobrazení upozornění s obecnou zprávou.
Sdílení dat přes UIActivityViewController
Od verze 8.0.2 může sada Intune App SDK filtrovat UIActivityViewController
akce tak, aby bylo možné vybrat jenom Intune umístění spravovaných sdílených složek. Toto chování bude řízeno zásadami přenosu dat aplikace.
Akce Kopírovat do
Při sdílení dokumentů prostřednictvím UIActivityViewController
a UIDocumentInteractionController
zobrazí iOS akce Kopírovat do pro každou aplikaci, která podporuje otevření sdíleného dokumentu. Aplikace deklarují typy dokumentů, které podporují, prostřednictvím CFBundleDocumentTypes
nastavení v souboru Info.plist. Tento typ sdílení už nebude dostupný, pokud zásady zakazují sdílení s nespravovanými aplikacemi. Jako náhradu bude uživatel muset do své aplikace přidat rozšíření akce jiného než uživatelského rozhraní a propojit ho se sadou Intune App SDK. Rozšíření akce je pouze zástupným náporem. Sada SDK implementuje chování sdílení souborů. Postupujte podle následujících kroků:
Vaše aplikace musí mít v souboru Info.plist
CFBundleURLTypes
definovanou alespoň jednu adresu schemeURL a její-intunemam
protějšek. Příklady:<key>CFBundleURLSchemes</key> <array> <string>launch-com.contoso.myapp</string> <string>launch-com.contoso.myapp-intunemam</string> </array>
Vaše aplikace i rozšíření akcí musí sdílet aspoň jednu skupinu aplikací a skupina aplikací musí být uvedená v
AppGroupIdentifiers
poli ve slovníkech IntuneMAMSettings aplikace a rozšíření.Aplikace i rozšíření akcí musí mít funkci Sdílení řetězce klíčů a sdílet
com.microsoft.intune.mam
skupinu řetězce klíčů.Pojmenujte rozšíření akce "Otevřít v" a pak název aplikace. Podle potřeby lokalizujte soubor Info.plist.
Zadejte ikonu šablony pro rozšíření, jak je popsáno v dokumentaci společnosti Apple pro vývojáře. Případně můžete tyto image vygenerovat z adresáře aplikace .app pomocí nástroje IntuneMAMConfigurator. Provedete to spuštěním příkazu:
IntuneMAMConfigurator -generateOpenInIcons /path/to/app.app -o /path/to/output/directory
V části IntuneMAMSettings v souboru Info.plist rozšíření přidejte logické nastavení s názvem
OpenInActionExtension
s hodnotou ANO.NSExtensionActivationRule
Nakonfigurujte tak, aby podporoval jeden soubor a všechny typy z aplikaceCFBundleDocumentTypes
s předponoucom.microsoft.intune.mam
. Pokud například aplikace podporuje public.text a public.image, aktivační pravidlo by bylo:SUBQUERY ( extensionItems, $extensionItem, SUBQUERY ( $extensionItem.attachments, $attachment, ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.microsoft.intune.mam.public.text" || ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.microsoft.intune.mam.public.image").@count == 1 ).@count == 1
Aktualizace existujících rozšíření sdílení a akcí
Pokud už vaše aplikace obsahuje rozšíření Sdílení nebo Akce, bude potřeba upravit jejich NSExtensionActivationRule
typy Intune. Pro každý typ podporovaný rozšířením přidejte další typ s předponou com.microsoft.intune.mam
. Pokud je například existující pravidlo aktivace:
SUBQUERY (
extensionItems,
$extensionItem,
SUBQUERY (
$extensionItem.attachments,
$attachment,
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.url" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.plain-text" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.image" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.data"
).@count > 0
).@count > 0
Měla by se změnit na:
SUBQUERY (
extensionItems,
$extensionItem,
SUBQUERY (
$extensionItem.attachments,
$attachment,
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.url" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.plain-text" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.image" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.data" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.microsoft.intune.mam.public.url" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.microsoft.intune.mam.public.plain-text" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.microsoft.intune.mam.public.image" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.microsoft.intune.mam.public.data"
).@count > 0
).@count > 0
Poznámka
Nástroj IntuneMAMConfigurator můžete použít k přidání typů Intune do pravidla aktivace. Pokud vaše stávající pravidlo aktivace používá předdefinované řetězcové konstanty. Například NSExtensionActivationSupportsFileWithMaxCount, NSExtensionActivationSupportsText atd., syntaxe predikátu může být poměrně složitá. Nástroj IntuneMAMConfigurator můžete použít také k převodu aktivačního pravidla z řetězcových konstant na predikátový řetězec při přidávání typů Intune.
Jak by mělo uživatelské rozhraní vypadat
Staré uživatelské rozhraní:
Nové uživatelské rozhraní:
Povolení konfigurace cílených aplikací pro aplikace pro iOS
Konfigurace cílená na MAM (označovaná také jako konfigurace aplikace MAM) umožňuje aplikaci přijímat konfigurační data prostřednictvím sady Intune SDK. Formát a varianty těchto dat musí definovat a sdělit Intune zákazníkům vlastník nebo vývojář aplikace.
Intune správci můžou cílit a nasazovat konfigurační data prostřednictvím centra pro správu Microsoft Intune a Intune Graph API. Od verze 7.0.1 sady Intune App SDK pro iOS je možné aplikacím, které se účastní konfigurace cílené na MAM, poskytovat konfigurační data cílená na MAM prostřednictvím služby MAM. Konfigurační data aplikace se prostřednictvím služby MAM předá přímo do aplikace, nikoli prostřednictvím kanálu MDM. Sada Intune App SDK poskytuje třídu pro přístup k datům načteným z těchto konzol. Následující položky jsou požadavky:
Před přístupem k uživatelskému rozhraní konfigurace cílené na MAM je potřeba aplikaci zaregistrovat ve službě Intune MAM. Další informace najdete v tématu Příjem zásad ochrany aplikací.
Zahrnout
IntuneMAMAppConfigManager.h
do zdrojového souboru aplikace.Voláním
[[IntuneMAMAppConfigManager instance] appConfigForAccountId:]
získáte konfigurační objekt aplikace.Zavolejte příslušný selektor pro
IntuneMAMAppConfig
objekt. Pokud je například klíčem aplikace řetězec, měli byste použítstringValueForKey
neboallStringsForKey
. Podrobný popis vrácených hodnot a chybových podmínek najdeteIntuneMAMAppConfig.h
v tématu.
Další informace o možnostech Graph API najdete v referenčních informacích k Graph API.
Další informace o tom, jak vytvořit zásady konfigurace aplikací cílených na MAM v iOSu, najdete v části věnované konfiguraci aplikací cílených na MAM v tématu Použití zásad konfigurace Microsoft Intune aplikací pro iOS/iPadOS.
Telemetrie
Sada Intune App SDK pro iOS ve výchozím nastavení shromažďuje telemetrii u následujících typů událostí:
Spuštění aplikace: Pomoct Microsoft Intune seznámit se s používáním aplikací s podporou MAM podle typu správy (MAM s MDM, MAM bez registrace MDM atd.).
Volání registrace: Chcete-li Microsoft Intune získat informace o úspěšnosti a dalších metrikách výkonu volání registrace zahájených ze strany klienta.
Intune akce: Abychom vám pomohli diagnostikovat problémy a zajistit Intune funkce, shromažďujeme informace o akcích sady Intune SDK.
Poznámka
Pokud se rozhodnete neodesílat telemetrická data sady Intune App SDK do Microsoft Intune z mobilní aplikace, musíte zakázat zachytávání telemetrie sady Intune App SDK. Ve slovníku IntuneMAMSettings nastavte vlastnost MAMTelemetryDisabled
na ANO.
Záměry Siri
Pokud se vaše aplikace integruje se záměry Siri nebo provádí dary záměrů Siri, nezapomeňte si prosím přečíst komentáře k areSiriIntentsAllowed
in IntuneMAMPolicy.h
, kde najdete pokyny k podpoře tohoto scénáře.
Poznámka
V iOSu 16 a novějších verzích je k dispozici nová systémová architektura Záměry aplikací pro vytváření záměrů aplikací Swift. Aplikace, které implementují záměr aplikace, by měly nejprve zkontrolovat areSiriIntentsAllowed
vlastnost v objektu IntuneMAMPolicy pro uživatele.
Klipy aplikací
Pokud vaše aplikace obsahuje cíl klipu aplikace, nezapomeňte ověřit, že se v klipu aplikace nezobrazí žádná spravovaná data. Klip aplikace by se měl považovat za nespravované umístění. Integrace sady SDK do App Clips se v současné době nepodporuje.
Polygrafie
Pokud vaše aplikace implementuje tisk a ve vlastní nabídce poskytuje vlastní akci tisku, nezapomeňte pomocí příkazu UIPrintInteractionController.isPrintingAvailable()
určit, jestli byste měli akci tisku přidat do vlastní nabídky.
Blokování snímku obrazovky
U aplikací, které se aktualizovaly na verzi 19.7.6 nebo novější pro Xcode 15 a v20.2.1 nebo novější pro Xcode 16 sady SDK, se blok zachycení obrazovky použije, pokud jste nakonfigurovali Send Org data to other apps
jinou hodnotu než "Všechny aplikace". Nastavení zásad konfigurace aplikace "com.microsoft.intune.mam.screencapturecontrol = Disabled" můžete nakonfigurovat, pokud chcete povolit zachycení obrazovky pro vaše zařízení s iOSem.
Upozornění
Pokud vaše aplikace obdrží oznámení, nezapomeňte si přečíst komentáře k notificationPolicy
souboru v, kde IntuneMAMPolicy.h
najdete pokyny k podpoře tohoto scénáře. Doporučuje se, aby se aplikace zaregistrovaly IntuneMAMPolicyDidChangeNotification
pro službu popsanou v IntuneMAMPolicyManager.h
tématu a předávaly tuto hodnotu svým UNNotificationServiceExtension
prostřednictvím řetězce klíčů.
Webová rozšíření Safari
Pokud má vaše aplikace webové rozšíření Safari a podporuje odesílání dat mezi rozšířením a nadřazenou aplikací, může být v některých scénářích potřeba, aby vaše aplikace podporovala blokování dat. Pokud chcete blokovat data, v nadřazené aplikaci zavolejte isAppSharingAllowed
rozhraní API v IntuneMAMPolicy.h
a pak zablokujte webové rozšíření.
Skript po sestavení
Nástroj příkazového řádku IntuneMAMFrameworkPatcher se už nemusí spouštět jako poslední krok procesu sestavení aplikace. Tento nástroj je však k dispozici jako součást sady Intune App SDK pro iOS na GitHubu.
Důležité
Od verze 17.7.1 sady Intune MAM SDK se tento krok už nevyžaduje. Nástroj příkazového řádku IntuneMAMFrameworkPatcher už nemusí být spuštěný.
Použití příkazového řádku
IntuneMAMFrameworkPatcher -i /path/to/directory_or_binary [-resign] [-verbose]
Parametry:
-
i
, ,r
,v
: Tento parametr umožňuje zvolit instalaci, odebrání nebo ověření Intune NÁSTROJE pro opravu rozhraní MAM pro proces sestavení aplikace. -
path
: Mělapath
by být kořenová složka .app adresáře aplikace. -
resign
: Možnostresign
dává nástroji pokyn, aby před opravou binárního souboru odstoupil od binárních souborů, které měly platný podpis. Tato možnost by se měla použít, pokud projekt zahrnuje závislosti architektury nebo moduly plug-in s možností Vložit a podepsat , a to i v případě, že se spustí před konečným podpisem aplikace nebo pokud se nástroj spustí po konečném podepsání aplikace. -
verbose
: Možnostverbose
způsobí, že nástroj vypíše informace o každém binárním souboru, který byl opraven.
Další použití:
Odeberte opravu:
IntuneMAMFrameworkPatcher -r /path/to/directory_or_binary [-resign] [-verbose]
Ověřte opravu:
IntuneMAMFrameworkPatcher -v /path/to/directory_or_binary [-verbose]
Příklad skriptu:
IntuneMAMFrameworkPatcher -i $BUILT_PRODUCTS_DIR/$EXECUTABLE_FOLDER_PATH -resign -verbose
Další informace o tom, jak začít a stahovat sadu SDK, najdete v tématu Začínáme se sadou Microsoft Intune App SDK.
Kritéria ukončení
Ověření uložení nebo otevření z omezení
Pokud jste neimplementovali ovládací prvky uložit jako a otevřít z, přeskočte.
Refamiliarizujte se s každým scénářem, kdy vaše aplikace může ukládat data do cloudových úložišť nebo místních umístění a otevírat data z cloudových úložišť nebo místních umístění.
Pro zjednodušení budou tyto testy předpokládat, že vaše aplikace zahrnuje jenom podporu pro ukládání a otevírání dat z OneDrive pro firmy z jednoho umístění v aplikaci. Musíte ale ověřit každou kombinaci: každé podporované umístění pro uložení na každém místě, kde vaše aplikace umožňuje ukládání dat, a každé podporované otevřené umístění na každém místě, kde aplikace umožňuje otevřít data.
Pro tyto testy před zahájením testu nainstalujte aplikaci, integrujte ji se sadou SDK a přihlaste se pomocí spravovaného účtu.
Kromě toho:
- Nastavte zásady spravovaného účtu takto:
- "Odeslat data organizace do jiných aplikací" na "Aplikace spravované zásadami".
- "Příjem dat z jiných aplikací" na "Aplikace spravované zásadami".
Scénář | Předpoklady | Kroky |
---|---|---|
Uložit do, plně povoleno | Zásada "Uložit kopie dat organizace" nastavená na Povolit | – Přejděte na místo, kam může aplikace ukládat data do OneDrive pro firmy. – Pokuste se uložit dokument do OneDrive pro firmy do stejného spravovaného účtu přihlášeného k vaší aplikaci. – Ověřte, že je ukládání povolené. |
Uložit do, vyloučeno | – Zásada "Uložit kopie dat organizace" nastavená na Blokovat – Zásada Povolit uživateli ukládat kopie do vybraných služeb nastavená pouze na OneDrive pro firmy |
– Přejděte na místo, kam může aplikace ukládat data do OneDrive pro firmy. – Pokuste se uložit dokument do OneDrive pro firmy do stejného spravovaného účtu přihlášeného k vaší aplikaci. – Ověřte, že je ukládání povolené. – Pokud to vaše aplikace umožňuje, zkuste soubor uložit do jiného umístění cloudového úložiště a ověřte, že je blokovaný. |
Uložit do, blokováno | Zásada "Uložit kopie dat organizace" nastavená na Blokovat | – Přejděte na místo, kam může aplikace ukládat data do OneDrive pro firmy. – Pokuste se uložit dokument do OneDrive pro firmy do stejného spravovaného účtu přihlášeného k vaší aplikaci. – Ověřte, že je ukládání zablokované. – Pokud to vaše aplikace umožňuje, zkuste soubor uložit do jiného umístění cloudového úložiště a ověřte, že je blokovaný. |
Otevřít z, plně povoleno | Zásada "Otevřít data do dokumentů organizace" nastavená na Povolit | – Přejděte na místo, kde může aplikace otevírat data z OneDrive pro firmy. – Pokuste se otevřít dokument z OneDrive pro firmy ze stejného spravovaného účtu přihlášeného k úložišti vaší aplikace. – Ověřte, že je povolené otevření. |
Otevřít z, vyloučeno | – Zásada "Otevřít data do dokumentů organizace" nastavená na Blokovat – Zásada Povolit uživatelům otevírat data z vybraných služeb nastavená jenom na OneDrive pro firmy |
– Přejděte na místo, kde může aplikace otevírat data z OneDrive pro firmy. – Pokuste se otevřít dokument z OneDrive pro firmy ze stejného spravovaného účtu přihlášeného k úložišti vaší aplikace. – Ověřte, že je povolené otevření. – Pokud to vaše aplikace umožňuje, zkuste otevřít jiný soubor z jiného umístění cloudového úložiště a ověřte, že je blokovaný. |
Otevřít z, blokováno | Zásada "Otevřít data do dokumentů organizace" nastavená na Blokovat | – Přejděte na místo, kde může aplikace otevírat data z OneDrive pro firmy. – Pokuste se otevřít dokument z OneDrive pro firmy ze stejného spravovaného účtu přihlášeného k úložišti vaší aplikace. – Ověřte, že je otevřené zablokované. – Pokud to vaše aplikace umožňuje, zkuste otevřít jiný soubor z jiného umístění cloudového úložiště a ověřte, že je blokovaný. |
Ověřování akcí Kopírovat do
Pokud jste neimplementovali akce Kopírovat do, přeskočte.
Pro zjednodušení budou tyto testy předpokládat, že vaše aplikace obsahuje jenom podporu kopírování dat do aplikací Microsoft Office, jako je Microsoft Word, Excel atd. Musíte ale ověřit každou kombinaci: každé podporované umístění kopírování proti každému místu, na které aplikace umožňuje kopírování dat.
Pro tyto testy před zahájením testu nainstalujte aplikaci, integrujte ji se sadou SDK a přihlaste se pomocí spravovaného účtu.
Kromě toho:
- Dokončili jste všechny kroky integrace z akcí Kopírovat do s rozšířením akcí pro Microsoft Word a úspěšně sestavte a spusťte aplikaci.
- Nastavte zásady spravovaného účtu takto:
- "Odeslat data organizace do jiných aplikací" na "Aplikace spravované zásadami".
Scénář | Předpoklady | Kroky |
---|---|---|
Vyberte aplikace, které chcete vyloučit, Žádné | Zásada "Odesílání dat organizace do jiných aplikací" nastavená na "Aplikace spravované podle zásad" | – Přejděte na místo, kde vaše aplikace může kopírovat data do Microsoftu Word, a spusťte možnost sdílení pro tato data. – Potvrďte, že místo zobrazení možnosti Kopírovat do Word se zobrazí možnost Otevřít v Word. – Stiskněte "Otevřít v Word" a potvrďte, že se dokument úspěšně zkopíroval a zobrazil, vzhledem k tomu, Word je také přihlášený pod stejným spravovaným účtem. |
Ověřování akcí tisku
Pokud jste neimplementovali tisk, přeskočte.
Pro účely tohoto testu před zahájením testu nainstalujte aplikaci, integrujte ji se sadou SDK a přihlaste se pomocí spravovaného účtu.
Kromě toho:
- Dokončili jste všechny kroky integrace z tisku a sestavení a úspěšně spusťte aplikaci.
- Vaše aplikace už implementuje výstrahy nebo položky akcí, které řeší případ, když správce IT aplikace nepovoluje tisk. V tomto testu za předpokladu, že vaše aplikace vyzve koncové uživatele k upozornění, když je tisk zablokovaný.
Scénář | Kroky |
---|---|
Tisk dat organizace, blok | – Přejděte na místo, kde vaše aplikace může zobrazit data, a spusťte možnost sdílení pro tato data. - Stiskněte tlačítko "Tisk". – Ověřte, že se zobrazí upozornění na blokování a tisk není povolený. |
Tisk dat organizace, Povolit | – Přejděte na místo, kde vaše aplikace může zobrazit data, a spusťte možnost sdílení pro tato data. - Stiskněte tlačítko "Tisk". - Potvrďte, že se zobrazí zobrazení Tisk a můžete vybrat tiskárnu a akci úspěšně dokončit. |
Ověřování přijímajících konfigurací aplikací
Pokud jste pro aplikace iOS nepovolili konfiguraci cílených aplikací, přeskočte.
Intune zodpovídá za doručování hodnot zásad konfigurace aplikace do vaší aplikace. Potom je vaše aplikace zodpovědná za použití těchto hodnot ke změně chování nebo uživatelského rozhraní v aplikaci. Důkladné komplexní testování by mělo zahrnovat obě komponenty.
Ověření, že Intune správně doručuje zásady konfigurace aplikací:
- Nakonfigurujte zásadu konfigurace aplikace, která je určená pro vaši aplikaci a nasazená do testovacího účtu.
- Pokud vaše aplikace podporuje konfiguraci aplikací pro spravovaná zařízení, přečtěte si téma Zásady konfigurace aplikací pro spravovaná zařízení s iOSem Enterprise.
- Pokud vaše aplikace podporuje konfiguraci aplikací pro spravované aplikace, přečtěte si téma Zásady konfigurace aplikací pro spravované aplikace.
- Pokud vaše aplikace podporuje oba typy konfigurace aplikací, vytvořte pro testování oba typy zásad.
- Přihlaste se k aplikaci pomocí testovacího účtu.
- Projděte si aplikaci a procvičte si každou cestu ke kódu, která volá
IntuneMAMAppConfigManager
appConfigForIdentity
.- Protokolování výsledků volání do
appConfigForIdentity
je jednoduchý způsob, jak ověřit, která nastavení se doručují. Vzhledem k tomu, že správci můžou zadat libovolná data pro nastavení konfigurace aplikace, dávejte pozor, abyste nezakládaly žádná soukromá uživatelská data.
- Protokolování výsledků volání do
- Viz Ověření použitých zásad konfigurace aplikací.
Vzhledem k tomu, že konfigurace aplikací jsou specifické pro aplikaci, jenom vy víte, jak ověřit, jak má aplikace změnit chování nebo uživatelské rozhraní pro každé nastavení konfigurace aplikace.
Při testování zvažte následující:
- Zajištění, aby všechny scénáře byly pokryté vytvořením různých zásad konfigurace testovacích aplikací s každou hodnotou, kterou vaše aplikace podporuje.
- Ověřuje logiku řešení konfliktů vaší aplikace vytvořením více zásad konfigurace testovacích aplikací s různými hodnotami pro každé nastavení.
Další kroky
Pokud jste postupovali podle tohoto průvodce v uvedeném pořadí a dokončili všechna kritéria ukončení výše, blahopřejeme, vaše aplikace je teď plně integrovaná se sadou Intune App SDK a může vynucovat zásady ochrany aplikací. Podívejte se na další důležité funkce účasti aplikací, jako jsou Fáze 5: Multi-Identity, Fáze 6: Podpora podmíněného přístupu ochrany aplikací a Fáze 7: Funkce zobrazení webu pro jejich integraci do vaší aplikace.
Ochrana aplikací je teď pro vaši aplikaci klíčovým scénářem. Při vývoji aplikace pokračujte v odkazech na tuto příručku a přílohu .