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:

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í
  • Tisk
  • Oznámení
  • 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í OID používat allowedAccountIds vlastnost IntuneMAMEnrollmentManager 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.ha 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.hIntune sadě MAM SDK dotazovat na povolené ukládání do umístění isSaveToAllowedForLocation:withAccount: úložiště. Aplikace můžou také pomocí rozhraní API definovaného v IntuneMAMPolicy.hsadě SDK dotazovat na povolená umístění isOpenFromAllowedForLocation:withAccount: ú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í účtu nil 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žijte IntuneMAMPolicyprimaryUser k odkazování na aktuální účet, pokud je spravovaný, a nil 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:withAccount: 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 IntuneMAMPolicyManagermetodu .policyForIdentity: Pokud je vlastníkem nespravovaný účet bez identity, nil můžete ho předat do policyForIdentity:. I když ukládaná data nejsou organizačními daty, isSaveToAllowedForLocation:withAccount: 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:withAccount: 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 jenom nil 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 IntuneMAMSaveLocationAccountDocumentIntuneMAMSaveLocationOther . 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:withAccount: 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 IntuneMAMPolicyManagermetodu .policyForIdentity: Pokud je přijímajícím účtem nespravovaný účet bez identity, nil lze ho předat do policyForIdentity:. I když přijímaná data nejsou organizačními daty, isOpenFromAllowedForLocation:withAccount: 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:withAccount: 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 jenom nil druhý argument. Pokud chcete otevřít data z knihovny fotografií iOS, použijte IntuneMAMOpenLocationPhotos.
  • 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 jenom nil druhý argument. Pokud chcete otevírat snímky pořízené přímo z fotoaparátu 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 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 IntuneMAMOpenLocationAccountDocumentIntuneMAMOpenLocationOther . 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í IntuneMAMPolicycanReceiveSharedItemProvider: sdílené složky je možné místo metody použít metodu isOpenFromAllowedForLocation:withAccount:. 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ů IntuneMAMPolicycanReceiveSharedFile: lze místo metody použít metodu isOpenFromAllowedForLocation:withAccount:. 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:withAccount: se zavolá rozhraní API nebo isOpenFromAllowedForLocation:withAccount: 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 UIDocumentInteractionControllerzobrazí 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ů:

  1. 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>
    
  2. 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í.

  3. 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íčů.

  4. Pojmenujte rozšíření akce "Otevřít v" a pak název aplikace. Podle potřeby lokalizujte soubor Info.plist.

  5. 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
    
  6. V části IntuneMAMSettings v souboru Info.plist rozšíření přidejte logické nastavení s názvem OpenInActionExtension s hodnotou ANO.

  7. NSExtensionActivationRule Nakonfigurujte tak, aby podporoval jeden soubor a všechny typy z aplikace CFBundleDocumentTypes s předponou com.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í:

Sdílení dat – staré uživatelské rozhraní pro sdílení iOS

Nové uživatelské rozhraní:

Sdílení dat – nové uživatelské rozhraní pro sdílení iOS

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] appConfigForIdentity:] 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žít stringValueForKey nebo allStringsForKey. Podrobný popis vrácených hodnot a chybových podmínek najdete IntuneMAMAppConfig.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.

Tisk

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.

Oznámení

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.hté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.ha 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ěla path by být kořenová složka .app adresáře aplikace.
  • resign: Možnost resign 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žnost verbose 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í:

  1. Nakonfigurujte zásadu konfigurace aplikace, která je určená pro vaši aplikaci a nasazená do testovacího účtu.
  2. Přihlaste se k aplikaci pomocí testovacího účtu.
  3. Projděte si aplikaci a procvičte si každou cestu ke kódu, která volá IntuneMAMAppConfigManagerappConfigForIdentity.
    • 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.
  4. 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 .