Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Sada Microsoft Intune App SDK pro iOS umožňuje začlenit zásady ochrany aplikací Intune (označované také jako zásady APP nebo MAM) do nativní aplikace pro iOS. Aplikace spravovaná Intune je aplikace, která je integrovaná se sadou Intune App SDK. Správci Intune můžou do vaší Intune spravované aplikace snadno nasadit zásady ochrany aplikací Intune když ji aktivně spravuje.
Poznámka
Tento průvodce je rozdělen do několika odlišných fází. Začněte tím, že si projdete téma Plánování integrace.
4. fáze: Funkce účasti v aplikaci
Cíle fází
- Přečtěte si o různých funkcích účasti v aplikaci, které nabízí sada Intune App SDK.
- Integrujte funkce účasti v aplikaci, které jsou relevantní pro vaši aplikaci a uživatele.
- Otestujte integraci těchto funkcí.
Co jsou "Funkce účasti v aplikaci"?
Tento proces integrace sady SDK se pokouší minimalizovat množství kódu specifického pro aplikaci, který musí vývojáři napsat. Díky úspěšnému dokončení předchozích fází integrace sady SDK může teď vaše aplikace 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é vynucení kódu specifického pro aplikaci. Tyto funkce se označují jako funkce účasti v aplikacích. Sada SDK obvykle nemá dostatek kontextu o kódu vaší aplikace nebo scénáři koncového uživatele, aby tato nastavení automaticky vynutila, a proto spoléhá na vývojáře, aby odpovídajícím způsobem volali rozhraní API sady SDK.
Funkce účasti v aplikaci nemusí být nezbytně volitelné. Tyto funkce můžou být v závislosti na stávajících funkcích aplikace povinné.
Další fáze této příručky popíše několik důležitých funkcí zapojení do aplikace:
- Multi-identita, jak je popsáno ve fázi 5: Multi-identita.
- Certifikační autorita pro ochranu aplikací, jak je popsáno ve fázi 6: Podpora podmíněného přístupu služby App Protection
- Funkce specifické pro webové zobrazení zahrnuté v 7. fázi: Funkce webového zobrazení
Zbývající sada funkcí zapojení do aplikací je popsána ve zbývající sadě funkcí pro zapojení do aplikace:
- Implementace povolených účtů
- Je vyžadováno šifrování souborů
- Implementace ovládacích prvků uložit jako a otevřít z
- Sdílet data přes UIActivityViewController
- Povolení cílené konfigurace (konfigurace aplikace APP/MAM) pro aplikace pro iOS
- Telemetrie
- Záměry Siri
- Výstřižky aplikací
- Tisk
- Oznámení
- Skript po sestavení
Přizpůsobení chování aplikace pomocí rozhraní API
Sada Intune App SDK má několik rozhraní API, která můžete volat, abyste získali informace o zásadách ochrany aplikací Intune 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 třídách Intune, které používáte.
| Třída | Popis |
|---|---|
| IntuneMAMPolicyManager.h | Třída IntuneMAMPolicyManager zpřístupňuje zásady ochrany aplikací Intune nasazené do aplikace. Zejména zpřístupň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ěna, aby si aplikace mohla přizpůsobit 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 přečíst komentáře v této hlavičce a určit, která rozhraní API jsou použitelná pro scénáře jejich aplikací. |
| IntuneMAMFileProtectionManager.h | Třída IntuneMAMFileProtectionManager zpřístupňuje rozhraní API, která může aplikace použít k explicitnímu zabezpečení souborů a adresářů na základě zadané identity. Identitu může spravovat Intune nebo nespravovaná a sada SDK použije příslušnou zásadu MAM. Použití této třídy je volitelné. |
| IntuneMAMDataProtectionManager.h | Třída IntuneMAMDataProtectionManager zpřístupňuje rozhraní API, která může aplikace použít k zabezpečení datových bufferů vzhledem k zadané identitě. Identitu může spravovat Intune nebo nespravovaná a sada SDK použije šifrování odpovídajícím způsobem. |
Implementace povolených účtů
Intune umožňuje správcům IT určit, ke kterým účtům se může uživatel přihlásit. Aplikace se můžou dotazovat sady Intune App SDK na zadaný seznam povolených účtů a pak zajistit, aby byly k zařízení přihlášené 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 nulová, nebyly uvedeny žádné povolené účty. Aplikace s povoleným MSAL/OneAuth by měly používat allowedAccountIds vlastnost instance IntuneMAMEnrollmentManager k dotazování Entra ID objektu.
Aplikace mohou také reagovat na změny allowedAccounts vlastnosti sledováním IntuneMAMAllowedAccountsDidChangeNotification oznámení. Oznámení se odešle pokaždé, allowedAccounts když se změní hodnota vlastnosti.
Při používání rozhraní API pro povolené účty jsou potřeba následující požadavky:
- Při porovnávání identit se při porovnávání nesmí rozlišovat velká a malá písmena pro hlavní názvy uživatelů ani identifikátory UPN.
- Porovnání identit musí podporovat hlavní název uživatele (UPN) i identifikátor OID.
- Aplikace musí mít protokolování, aby bylo možné diagnostikovat jakoukoli neshodu mezi účtem určeným správcem a účtem zadaným uživatelem.
Je vyžadováno šifrování souborů
Rozhraní isFileEncryptionRequired API definované v IntuneMAMPolicy.h informuje aplikace, když správce IT vyžaduje, aby aplikace používaly šifrování Intune u všech souborů uložených na disku. Pokud isFileEncryptionRequired je tomu tak, pak je zodpovědností aplikace zajistit, aby všechny soubory, které aplikace uložila na disk, byly zašifrovány pomocí rozhraní API v IntuneMAMFile.h, IntuneMAMFileProtectionManager.ha IntuneMAMFDataProtectionManager.h.
Aplikace mohou reagovat na změny v těchto zásadách sledováním oznámení definovaného IntuneMAMDataProtectionDidChangeNotification v IntuneMAMFDataProtectionManager.hčásti .
Implementace ovládacích prvků uložit jako a otevřít z
Intune umožňuje správcům IT vybrat, do kterých umístění úložiště může spravovaná aplikace ukládat data nebo ze kterých může data otevírat. Aplikace se můžou dotazovat sady Intune MAM SDK na povolená umístění pro ukládání do úložiště pomocí isSaveToAllowedForLocation:withAccountId: rozhraní API definovaného v .IntuneMAMPolicy.h Aplikace se také můžou dotazovat sady SDK na povolená umístění úložiště s otevřeným prostředím pomocí rozhraní API, které je také definováno isOpenFromAllowedForLocation:withAccountId: v IntuneMAMPolicy.h.
Kromě toho mohou aplikace ověřit, zda jsou příchozí data z rozšíření sdílení povolena, dotazem na canReceiveSharedItemProvider: rozhraní API definované v IntuneMAMPolicy.h. Aplikace se také můžou dotazovat rozhraní canReceiveSharedFile: API pro ověření příchozích souborů z volání openURL, které je také definováno v IntuneMAMPolicy.h
Poznámka
Od verze MAM SDK 15.1.0 došlo ke změnám interního chování.
- Účet
niluž se nebude považovat za aktuální účet pro umístění LocalDrive/LocalStorage. Při předánínilbude účet považován za nespravovaný účet. Vzhledem k tomu, že aplikace mohou řídit, jak naloží s úložištěm sandboxu, identita může a měla by být k těmto umístěním přidružena. - Účet
niluž se nebude považovat za aktuální účet u aplikací s jednou identitou. Předánínilúčtu v aplikaci s jednou identitou se teď bude zpracovávat úplně stejně, jako kdyby se předával do aplikace s více identitami. Pokud vyvíjíte aplikaci s jednou identitou, použijte znakyIntuneMAMPolicyprimaryUserk odkazování na aktuální účet, pokud je spravovaný, anilna aktuální účet, pokud není spravovaný.
Zpracování scénářů ukládání do
Před přesunutím dat do nového cloudového úložiště nebo do místního umístění musí aplikace u rozhraní API ověřit isSaveToAllowedForLocation:withAccountId: , jestli správce IT přenos dat povolil. Tato metoda se volá u IntuneMAMPolicy objektu. Upravovaná a ukládaná data není nutné kontrolovat pomocí tohoto rozhraní API.
Poznámka
Objekt IntuneMAMPolicy by měl představovat zásady vlastníka ukládaných dat. Chcete-li získat IntuneMAMPolicy objekt konkrétní identity, zavolejte IntuneMAMPolicyManagermetodu ' policyForAccountId: . Pokud je vlastníkem nespravovaný účet bez identity, nil může být předán do policyForAccountId:. I když ukládaná data nejsou daty organizace, isSaveToAllowedForLocation:withAccountId: měla by být přesto volána. Účet, který vlastní cílové umístění, může mít pořád zásady omezující příchozí nespravovaná data.
Metoda isSaveToAllowedForLocation:withAccountId: přijímá dva argumenty. Prvním argumentem je hodnota výčtu typu IntuneMAMSaveLocation definovaného v IntuneMAMPolicy.h. Druhým argumentem je hlavní název uživatele (UPN) identity, která místo vlastní. Pokud není vlastník znám, nil lze ho použít místo něj.
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:IntuneMAMPolicy.h
-
IntuneMAMSaveLocationOneDriveForBusiness– Toto umístění představuje umístění ve službě OneDrive pro firmy. Jako druhý argument by se měla předávat identita přidružená k účtu OneDrivu. -
IntuneMAMSaveLocationSharePoint- Toto umístění představuje místní umístění SharePointu Online i služby Microsoft Entra Hybrid Modern Auth SharePoint. Jako druhý argument by se měla předávat identita přidružená k sharepointovému účtu. -
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í pomocí nástroje pro výběr souborů nebo k ukládání souborů prostřednictvím rozšíření sdílení. Pokud je možné identitu přidružit k úložišti sandboxu aplikace, měla by být předána jako druhý argument. Pokud neexistuje žádná identita,nilměl by být předán. Aplikace může například pro různé účty používat samostatné kontejnery úložiště sandboxu aplikací. V takovém případě by měl být jako druhý argument použit účet, který vlastní kontejner, ke kterému se přistupuje. -
IntuneMAMSaveLocationCameraRoll- Toto umístění představuje knihovnu fotografií pro iOS. Vzhledem k tomu, že s knihovnou fotek pro iOS není spojený žádný účet, měla by se při použití tohoto umístění předávat jenomniljako druhý argument. -
IntuneMAMSaveLocationAccountDocument- Toto umístění představuje jakékoli umístění organizace, které nebylo dříve uvedené a které může být spojené se spravovaným účtem. Jako druhý argument by se měl předat účet organizace přidružený k umístění. Například se fotka nahrává do obchodní cloudové služby organizace, která je svázaná s účtem organizace. -
IntuneMAMSaveLocationOther- Toto místo představuje jakékoli neorganizační, dosud neuvedené nebo neznámé umístění. Pokud je k poloze přidružený nějaký účet, měl by být předán jako druhý argument. V opačném případěnilby se měla použít.
Důležité informace o umístěních pro ukládání
Umístění IntuneMAMSaveLocationLocalDrive by mělo být používáno pouze pro úložiště sandboxu aplikace, ke kterému má přístup pouze aplikace. Ke kontrole, jestli je možné soubor uložit do úložiště zařízení s iOS prostřednictvím výběru souborů nebo nějakou jinou metodou, kdy budou data přístupná v aplikaci Files. IntuneMAMSaveLocationOther
Pokud cílové umístění není uvedené, mělo IntuneMAMSaveLocationAccountDocumentIntuneMAMSaveLocationOther by se použít. Pokud umístění obsahuje data organizace, ke kterým se přistupuje pomocí spravovaného účtu (tj. obchodní cloudové služby pro ukládání dat organizace). IntuneMAMSaveLocationAccountDocument Pokud umístění neobsahuje data organizace, mělo by se použít umístění IntuneMAMSaveLocationOther .
Zpracování scénářů s otevřením zařízení
Před importem dat z nového cloudového úložiště nebo místního umístění musí aplikace u rozhraní API ověřit isOpenFromAllowedForLocation:withAccountId: , jestli správce IT povolil přenos dat. Tato metoda se volá u IntuneMAMPolicy objektu. Tímto rozhraním API není nutné kontrolovat místní data.
Poznámka
Objekt IntuneMAMPolicy by měl představovat zásady identity, která data přijímá. Chcete-li získat IntuneMAMPolicy objekt konkrétní identity, zavolejte IntuneMAMPolicyManagermetodu ' policyForAccountId: . Pokud je přijímající účet nespravovaný účet bez identity, nil může být předán do policyForAccountId:. I když přijímaná data nejsou daty organizace, isOpenFromAllowedForLocation:withAccountId: měla by být přesto volána. Účet, který data vlastní, může pořád platit zásady, které omezují cíle odchozích přenosů dat.
Metoda isOpenFromAllowedForLocation:withAccountId: přijímá dva argumenty. Prvním argumentem je hodnota výčtu typu IntuneMAMOpenLocation definovaného v IntuneMAMPolicy.h. Druhým argumentem je hlavní název uživatele (UPN) identity, která místo vlastní. Pokud není vlastník znám, nil lze ho použít místo něj.
Podporovaná otevřená umístění
Sada Intune MAM SDK poskytuje podporu pro následující otevřená umístění definovaná vIntuneMAMPolicy.h:
-
IntuneMAMOpenLocationOneDriveForBusiness– Toto umístění představuje umístění ve službě OneDrive pro firmy. Jako druhý argument by se měla předávat identita přidružená k účtu OneDrivu. -
IntuneMAMOpenLocationSharePoint- Toto umístění představuje místní umístění SharePointu Online i služby Microsoft Entra Hybrid Modern Auth SharePoint. Jako druhý argument by se měla předávat identita přidružená k sharepointovému účtu. -
IntuneMAMOpenLocationCamera- Toto místo představuje pouze nové snímky pořízené fotoaparátem. Vzhledem k tomu, že ke kameře iOS není přidružený žádný účet, měl by být při použití této polohy předán pouzeniljako druhý argument. K otevření dat z knihovny fotografií pro iOS použijte .IntuneMAMOpenLocationPhotos -
IntuneMAMOpenLocationPhotos- Toto umístění představuje pouze existující obrázky v knihovně fotografií pro iOS. Vzhledem k tomu, že s knihovnou fotek pro iOS není spojený žádný účet, měla by se při použití tohoto umístění předávat jenomniljako druhý argument. K otevření obrázků pořízených přímo fotoaparátem iOS použijte .IntuneMAMOpenLocationCamera -
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 k otevírání souborů ze seznamu pro výběr souborů ani ke zpracovávání příchozích souborů z adresy openURL. Pokud je možné identitu přidružit k úložišti sandboxu aplikace, měla by být předána jako druhý argument. Pokud neexistuje žádná identita,nilměl by být předán. Aplikace může například pro různé účty používat samostatné kontejnery úložiště sandboxu aplikací. V takovém případě by měl být jako druhý argument použit účet, který vlastní kontejner, ke kterému se přistupuje. -
IntuneMAMOpenLocationAccountDocument- Toto umístění představuje jakékoli umístění organizace, které nebylo dříve uvedené a které může být spojené se spravovaným účtem. Jako druhý argument by se měl předat účet organizace přidružený k umístění. Například stažení fotky z cloudové obchodní služby organizace, která je svázaná s účtem organizace. -
IntuneMAMOpenLocationOther- Toto místo představuje jakékoli místo mimo organizaci, které nebylo dříve uvedeno, nebo jakékoli neznámé umístění. Pokud je k poloze přidružený nějaký účet, měl by být předán jako druhý argument. V opačném případěnilby se měla použít.
Zvláštní upozornění pro otevřená místa
Umístění IntuneMAMOpenLocationLocalStorage by se mělo používat jenom pro úložiště sandboxu aplikace, ke kterému může aplikace přistupovat. Ke kontrole, jestli je možné soubor otevřít z úložiště zařízení iOS prostřednictvím výběru souborů nebo nějakou jinou metodou, kdy jsou data přístupná také v aplikaci Files. IntuneMAMOpenLocationOther
Pokud cílové umístění není uvedené, mělo IntuneMAMOpenLocationAccountDocumentIntuneMAMOpenLocationOther by se použít. Pokud umístění obsahuje data organizace, ke kterým se přistupuje pomocí spravovaného účtu. Měli byste použít například obchodní cloudovou službu pro ukládání dat IntuneMAMOpenLocationAccountDocument organizace. Pokud umístění neobsahuje data organizace, mělo by se použít umístění IntuneMAMSaveLocationOther .
Zpracování příchozích NSItemProviders a Files
Pro zpracování NSItemProviders přijatých z rozšíření IntuneMAMPolicysdílené složky lze použít metodu ' canReceiveSharedItemProvider: s místo isOpenFromAllowedForLocation:withAccountId:. Metoda canReceiveSharedItemProvider: přebírá NSItemProvider a vrací, jestli je povoleno NSItemProvider otevřít do IntuneMAMPolicy účtu objektu. Položka musí být načtena před voláním této metody. Například voláním loadItemForTypeIdentifier:options:completionHandler. Tuto metodu lze také volat z obslužné rutiny dokončení předané NSItemProvider volání načítání.
Pro zpracování příchozích canReceiveSharedFile: souborů IntuneMAMPolicylze isOpenFromAllowedForLocation:withAccountId:použít metodu 'místo . Metoda canReceiveSharedFile: přebírá NSString cestu a vrací, jestli je povoleno správcem IT otevřít do IntuneMAMPolicy účtu objektu.
Upozornění na zablokování sdílení
Pomocnou funkci uživatelského rozhraní lze použít, když je zavoláno isSaveToAllowedForLocation:withAccountId:isOpenFromAllowedForLocation:withAccountId: rozhraní API nebo a nalezeno blokování akce uložení nebo otevření. Pokud chce aplikace upozornit uživatele, že akce byla zablokována, může zavolat showSharingBlockedMessage rozhraní API definované v IntuneMAMUIHelper.h a zobrazit upozornění s obecnou zprávou.
Sdílet data 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 spravovaná umístění sdílené složky. Toto chování se bude řídit zásadami přenosu dat aplikací.
Akce Kopírovat do
Při sdílení dokumentů přes a UIActivityViewControllerUIDocumentInteractionControllerzobrazuje 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í ve svém souboru Info.plist. Tento typ sdílení už nebude k dispozici, pokud zásady zakazují sdílení do nespravovaných aplikací. Jako náhradu bude muset uživatel do své aplikace přidat rozšíření akce bez uživatelského rozhraní a propojit ho se sadou Intune App SDK. Rozšíření Action je pouze zástupný pahýl. Sada SDK implementuje chování sdílení souborů. Postupujte takto:
Vaše aplikace musí mít alespoň jeden schemeURL definovaný v rámci Info.plist
CFBundleURLTypesspolu se svým-intunemamprotějškem. Příklady:<key>CFBundleURLSchemes</key> <array> <string>launch-com.contoso.myapp</string> <string>launch-com.contoso.myapp-intunemam</string> </array>Vaše rozšíření aplikace i akce musí sdílet alespoň jednu skupinu aplikací a skupina aplikací musí být uvedená v
AppGroupIdentifierspoli ve slovníkech IntuneMAMSettings aplikace a rozšíření.Jak vaše aplikace, tak rozšíření akce musí mít funkci Sdílení klíčenky a sdílet skupinu klíčenky
com.microsoft.intune.mam.Rozšíření akce pojmenujte "Otevřít v" a potom název aplikace. Podle potřeby lokalizujte soubor Info.plist.
Poskytněte ikonu šablony pro rozšíření, jak popisuje vývojářská dokumentace společnosti Apple. Alternativně je možné použít nástroj IntuneMAMConfigurator ke generování těchto imagí z adresáře aplikace .app. Spusťte následující příkaz:
IntuneMAMConfigurator -generateOpenInIcons /path/to/app.app -o /path/to/output/directoryV části IntuneMAMSettings v souboru Info.plist rozšíření přidejte logické nastavení s názvem
OpenInActionExtensions hodnotou YES.Nakonfigurujte ji
NSExtensionActivationRuletak, aby podporovala jeden soubor a všechny typy z aplikaceCFBundleDocumentTypess předponoucom.microsoft.intune.mam. Pokud například aplikace podporuje public.text a public.image, aktivační pravidlo bude následující: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í pro sdílení a akce
Pokud už vaše aplikace obsahuje rozšíření Share nebo Action, bude nutné je NSExtensionActivationRule upravit tak, aby umožňovaly 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í aktivační pravidlo:
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ělo 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
K přidání typů Intune do pravidla aktivace lze použít nástroj IntuneMAMConfigurator. Pokud vaše existující pravidlo aktivace používá předdefinované řetězcové konstanty. Například NSExtensionActivationSupportsFileWithMaxCount, NSExtensionActivationSupportsText atd., může být syntaxe predikátu poměrně složitá. Nástroj IntuneMAMConfigurator lze také použít k převodu pravidla aktivace z řetězcových konstant na řetězec predikátu při přidávání typů Intune.
Jak by mělo vypadat uživatelské rozhraní
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. Vlastník nebo vývojář aplikace musí definovat formát a varianty těchto dat a sdělit je zákazníkům služby Intune.
Správci Intune mohou 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í cílové konfigurace MAM, poskytnout konfigurační data cílená na MAM prostřednictvím služby MAM. Konfigurační data aplikace se místo přes kanál MDM přesouvají prostřednictvím naší služby MAM přímo do aplikace. Sada Intune App SDK poskytuje třídu pro přístup k datům načteným z těchto konzol. Předpoklady jsou následující:
Před přístupem k uživatelskému rozhraní cílené konfigurace MAM musí být aplikace zaregistrovaná ve službě Intune MAM. Další informace najdete v tématu Příjem zásad ochrany aplikací.
Zahrnout
IntuneMAMAppConfigManager.hdo zdrojového souboru aplikace.Voláním
[[IntuneMAMAppConfigManager instance] appConfigForAccountId:]získáte objekt konfigurace aplikace.Vyvolejte příslušný selektor objektu
IntuneMAMAppConfig. Pokud je například klíčem vaší aplikace řetězec, budete chtít použítstringValueForKeyneboallStringsForKey. Podrobný popis návratových hodnot a chybových stavů naleznete v tomtoIntuneMAMAppConfig.hčlánku.
Další informace o možnostech rozhraní Graph API najdete v referenčních informacích k rozhraní Graph API.
Další informace o tom, jak vytvořit zásady konfigurace cílených aplikací MAM v iOS, najdete v části o konfiguraci cílených aplikací MAM v tématu Jak používat zásady konfigurace aplikací Microsoft Intune pro iOS/iPadOS.
Telemetrie
Ve výchozím nastavení sada Intune App SDK pro iOS shromažďuje telemetrii u následujících typů událostí:
Spuštění aplikace: Aby se Microsoft Intune dozvěděl o využití aplikací s podporou MAM podle typu správy (MAM s MDM, MAM bez registrace MDM atd.).
Volání registrace: Aby se Microsoft Intune dozvěděl o úspěšnosti a dalších metrikách výkonu volání registrace iniciovaných ze strany klienta.
Akce Intune: Abychom mohli diagnostikovat problémy a zajistit funkčnost sady Intune, shromažďujeme informace o akcích sady Intune SDK.
Poznámka
Pokud se rozhodnete neodesílat telemetrická data sady Intune App SDK do služby 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 vytváří dary záměrů Siri, přečtěte si prosím pokyny k podpoře tohoto scénáře v komentářích areSiriIntentsAllowedIntuneMAMPolicy.h .
Poznámka
V iOSu ve verzi 16 a novějších verzích je k dispozici nová systémová architektura záměrů aplikací pro vytváření záměrů aplikací Swift. Aplikace, které implementují záměr aplikace, by měly nejprve zkontrolovat areSiriIntentsAllowed vlastnost objektu IntuneMAMPolicy pro uživatele.
Výstřižky aplikací
Pokud vaše aplikace obsahuje cíl klipu aplikace, nezapomeňte ověřit, že se v klipu aplikace nezobrazují žádná spravovaná data. Klip aplikace by se měl považovat za nespravované místo. Integrace sady SDK do klipů aplikací není v současné době podporována.
Tisk
Pokud vaše aplikace implementuje tisk a poskytuje vlastní akci tisku ve vlastní nabídce, nezapomeňte využít UIPrintInteractionController.isPrintingAvailable() , abyste zjistili, jestli byste měli akci tisku přidat do vlastní nabídky.
Blokování snímků obrazovky
U aplikací, které byly aktualizovány na verzi 19.7.6 nebo novější pro Xcode 15 a verzi 20.2.1 nebo novější pro Xcode 16 sady SDK, se blok snímků obrazovky použije, pokud jste nakonfigurovali Send Org data to other apps na jinou hodnotu než "Všechny aplikace". Pokud chcete povolit snímání obrazovky pro zařízení s iOS, můžete nakonfigurovat nastavení zásad konfigurace aplikací com.microsoft.intune.mam.screencapturecontrol = Disabled.
Oznámení
Pokud vaše aplikace obdrží oznámení, přečtěte si prosím v komentářích pokyny notificationPolicyIntuneMAMPolicy.h k podpoře tohoto scénáře. Doporučujeme, aby se aplikace zaregistrovaly pro IntuneMAMPolicyDidChangeNotification popsané v části IntuneMAMPolicyManager.ha sdělily jim UNNotificationServiceExtension tuto hodnotu prostřednictvím svazku 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 v některých scénářích vaše aplikace potřebovat podporovat blokování dat. Pokud chcete data blokovat, zavolejte isAppSharingAllowed v nadřazené aplikaci rozhraní API a IntuneMAMPolicy.hpak zablokujte webové rozšíření.
Skript po sestavení
Nástroj příkazového řádku IntuneMAMFrameworkPatcher už nemusí být spuštěn jako poslední krok procesu sestavení aplikace. Tento nástroj je ale 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 už tento krok není nutný. 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 nainstalovat, odebrat nebo ověřit opravný program rozhraní Intune MAM pro proces sestavení aplikace. -
path: Mělopathby jít o kořenový adresář aplikace .app . -
resign: Tatoresignmožnost dá nástroji pokyn, aby rezignoval na binární soubory, které měly před opravou binárního souboru platný podpis. Tato možnost by měla být použita v případě, že projekt obsahuje závislosti architektury nebo moduly plug-in s možností Vložit a podepsat , a to i v případě, že jsou spuštěny před konečným podepsáním aplikace, nebo pokud je nástroj spuštěn po konečném podepsání aplikace. -
verbose: Tatoverbosemožnost způsobí, že nástroj vypíše informace o každém binárním souboru, který byl opraven.
Další použití:
Odstraňte nášivku:
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 stáhnout sadu SDK, najdete v tématu Začínáme se sadou Microsoft Intune App SDK.
Kritéria pro ukončení
Ověření omezení pro uložení do / otevření z
Přeskočte, pokud jste to neudělali Implementujte ovládací prvky uložit jako a otevřít z.
Znovu se seznamte se všemi scénáři, ve kterých může vaše aplikace 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 obsahuje podporu pouze 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 ukládání souborů proti každému místu, kam aplikace umožňuje ukládat data, a každé podporované otevřené umístění proti každému místu, kde aplikace umožňuje otevírat data.
Pro tyto testy nainstalujte aplikaci, integrujte ji se sadou SDK a před zahájením testu se přihlaste pomocí spravovaného účtu.
Kromě toho:
- Nastavte zásady spravovaného účtu takto:
- "Posílat organizační data do jiných aplikací" na "Aplikace spravované podle zásad".
- "Přijímat data z jiných aplikací" na "Aplikace spravované podle zásad".
| Scénář | Předpoklady | Kroky |
|---|---|---|
| Uložit do, plně povolené | Zásada "Ukládat kopie dat organizace" nastavená na "Povolit" | - Přejděte na místo, kam může vaše aplikace ukládat data na 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. - Potvrďte, že uložení je povolené. |
| Uložit do, výjimka | - Zásada "Ukládat kopie dat organizace" nastavená na "Blokovat" - Zásada "Povolit uživateli ukládat kopie pouze do vybraných služeb" nastavená na "OneDrive pro firmy" |
- Přejděte na místo, kam může vaše aplikace ukládat data na 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. - Potvrďte, že uložení je povolené. - Pokud to vaše aplikace povolí, zkuste soubor uložit do jiného cloudového úložiště a zkontrolujte, že je zablokovaný. |
| Uložit do, blokováno | Zásada "Ukládat kopie dat organizace" nastavená na "Blokovat" | - Přejděte na místo, kam může vaše aplikace ukládat data na 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. - Potvrďte, že uložení je blokováno. - Pokud to vaše aplikace povolí, zkuste soubor uložit do jiného cloudového úložiště a zkontrolujte, že je zablokovaný. |
| Otevřít od, plně povolené | Zásada "Otevírat data do dokumentů organizace" nastavená na "Povolit" | - Přejděte na místo, kde může vaše aplikace otevírat data z aplikace 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. - Potvrďte, že otevření je povoleno. |
| Otevření od, výjimka | - Zásada "Otevírat data do dokumentů organizace" nastavena 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 vaše aplikace otevírat data z aplikace 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. - Potvrďte, že otevření je povoleno. - Pokud to aplikace povolí, pokuste se otevřít jiný soubor z jiného umístění cloudového úložiště a zkontrolujte, zda je zablokovaný. |
| Otevřít od, blokováno | Zásada "Otevírat data do dokumentů organizace" nastavená na "Blokovat" | - Přejděte na místo, kde může vaše aplikace otevírat data z aplikace 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. - Potvrďte, že je otevřeno blokováno. - Pokud to aplikace povolí, pokuste se otevřít jiný soubor z jiného umístění cloudového úložiště a zkontrolujte, zda je zablokovaný. |
Ověření akcí "Kopírovat do"
Přeskočte, pokud jste neimplementovali akce Kopírovat do.
Pro zjednodušení budou tyto testy předpokládat, že vaše aplikace obsahuje podporu pouze pro kopírování dat do aplikací systém Microsoft Office, jako je Microsoft Word, Excel atd. Musíte ale ověřit každou kombinaci: všechna podporovaná umístění pro kopírování proti každému místu, kam aplikace umožňuje kopírování dat.
Pro tyto testy nainstalujte aplikaci, integrujte ji se sadou SDK a před zahájením testu se přihlaste pomocí spravovaného účtu.
Kromě toho:
- Dokončili jsme všechny kroky integrace od akcí Kopírovat do s rozšířením akcí pro Microsoft Word a aplikaci jsme úspěšně sestavili a spustili.
- Nastavte zásady spravovaného účtu takto:
- "Posílat organizační data do jiných aplikací" na "Aplikace spravované podle zásad".
| Scénář | Předpoklady | Kroky |
|---|---|---|
| Vyberte aplikace, které se mají vyjmout, Žádné | Zásada "Posílat data organizace do jiných aplikací" nastavená na "Aplikace spravované podle zásad" | - Přejděte na místo, kde může vaše aplikace kopírovat data do aplikace Microsoft Word, a spusťte možnost sdílení pro tato data. - Potvrďte, že místo možnosti "Kopírovat do aplikace Word" se zobrazí možnost "Otevřít v aplikaci Word". - Stiskněte "Otevřít v aplikaci Word" a potvrďte, že se dokument úspěšně zkopíroval a zobrazil, přičemž ke stejnému spravovanému účtu je přihlášen také aplikace Word. |
Validating Print actions
Pokud jste neimplementovali tisk, přeskočte.
Pro tento test nainstalujte aplikaci, integrujte ji se sadou SDK a před zahájením testu se přihlaste pomocí spravovaného účtu.
Kromě toho:
- Dokončili jsme všechny kroky integrace z nástroje Tisk a úspěšně sestavili a spusťte aplikaci.
- Vaše aplikace už implementuje výstrahy nebo položky akcí pro případ, kdy tisk není povolený správcem IT aplikace APP. V tomto testu se předpokládá, že vaše aplikace zobrazí koncovým uživatelům výzvu k upozornění při zablokování tisku.
| Scénář | Kroky |
|---|---|
| Tisk dat organizace, Blokovat | - Přejděte na místo, kde může vaše aplikace zobrazovat data, a spusťte pro tato data možnost sdílení. - Stiskněte tlačítko "Tisk". - Ověřte, že se zobrazuje upozornění na blokování a tisk není povolen. |
| Tisk dat organizace, Povolit | - Přejděte na místo, kde může vaše aplikace zobrazovat data, a spusťte pro tato data možnost sdílení. - Stiskněte tlačítko "Tisk". - Ověřte, že se zobrazí zobrazení "Tisk" a můžete vybrat tiskárnu a akci úspěšně dokončit. |
Ověřování konfigurací přijímaných aplikací
Přeskočte, pokud jste to neudělali Povolte konfigurování cílových aplikací pro aplikace pro iOS.
Intune zodpovídá za doručení hodnot zásad konfigurace aplikace do vaší aplikace. Vaše aplikace pak zodpovídá za použití těchto hodnot ke změně chování nebo uživatelského rozhraní uvnitř aplikace. Důkladné end-to-end testování by mělo zahrnovat obě složky.
Ověření, že Intune správně doručuje zásady konfigurace aplikací:
- Nakonfigurujte zásady konfigurace aplikací, které jsou cílené na vaši aplikaci a nasazené do vašeho 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 oba typy zásad pro testování.
- Přihlaste se k aplikaci pomocí zkušebního účtu.
- Projděte si aplikaci a procvičte každou cestu kódu, která volá
IntuneMAMAppConfigManagerappConfigForIdentity.- Protokolování výsledků volání je
appConfigForIdentityjednoduchý způsob, jak ověřit, která nastavení se doručují. Protože ale správci můžou zadat jakákoli data pro nastavení konfigurace aplikace, nedávejte pozor, abyste do protokolu nezaznamenávali žádná soukromá uživatelská data.
- Protokolování výsledků volání je
- Viz Ověření použité zásady konfigurace aplikací.
Vzhledem k tomu, že konfigurace aplikací jsou specifické pro jednotlivé aplikace, pouze vy víte, jak ověřit, jak má vaše 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ím všech scénářů pokrytých vytvořením různých zásad konfigurace testovací aplikace se všemi hodnotami, které vaše aplikace podporuje.
- Ověření logiky řešení konfliktů vaší aplikace vytvořením více zásad konfigurace testovací aplikace s různými hodnotami pro každé nastavení.
Další kroky
Pokud jste postupovali podle této příručky v pořadí a dokončili jste všechna výše uvedená kritéria ukončení, blahopřejeme, vaše aplikace je teď plně integrovaná se sadou Intune App SDK a může vynucovat zásady ochrany aplikací. Pokud je chcete integrovat do své aplikace, podívejte se prosím na další důležité funkce účasti na aplikaci, jako je fáze 5: více identit, fáze 6: podpora podmíněného přístupu ochrany aplikací a funkce webového zobrazení fáze 7: webové zobrazení .
Ochrana aplikací je teď základním scénářem vaší aplikace. Při dalším vývoji aplikace se řiďte touto příručkou a dodatkem .