Share via


Intune App SDK for iOS – Alkalmazás részvételi funkciói

Az iOS-hez készült Microsoft Intune App SDK lehetővé teszi, hogy Intune alkalmazásvédelmi szabályzatokat (más néven APP- vagy MAM-szabályzatokat) építsen be a natív iOS-alkalmazásba. A Intune által felügyelt alkalmazás az Intune App SDK-val integrálva van. Intune rendszergazdák egyszerűen telepíthetnek alkalmazásvédelmi szabályzatokat a Intune által felügyelt alkalmazásra, ha Intune aktívan kezeli az alkalmazást.

Megjegyzés:

Ez az útmutató több különböző szakaszra oszlik. Először tekintse át az Integráció megtervezése című témakört.

4. szakasz: Alkalmazás részvételi funkciói

Szakasz Goals

  • Ismerje meg a Intune App SDK különböző alkalmazás-részvételi funkcióit.
  • Az alkalmazás és a felhasználók számára releváns alkalmazás-részvételi funkciók integrálása.
  • Tesztelje ezeknek a funkcióknak az integrációját.

Mik azok az "alkalmazás-részvételi funkciók"?

Ez az SDK-integrációs folyamat megpróbálja minimalizálni a fejlesztők által megírandó alkalmazásspecifikus kód mennyiségét. Az SDK-integráció korábbi szakaszainak sikeres végrehajtásával az alkalmazás mostantól kikényszerítheti az alkalmazásvédelmi szabályzat beállításainak többségét, például a fájltitkosítást, a másolási/beillesztési korlátozásokat, a képernyőképek blokkolását és az adatátviteli korlátozásokat.

Vannak azonban olyan beállítások, amelyek megkövetelik az alkalmazásspecifikus kód megfelelő kikényszerítését; ezeket alkalmazás-részvételi funkcióknak nevezzük. Az SDK általában nem rendelkezik elegendő kontextussal az alkalmazás kódjáról vagy a végfelhasználói forgatókönyvről a beállítások automatikus kikényszerítéséhez, ezért a fejlesztőkre támaszkodik az SDK API-k megfelelő meghívásához.

Az alkalmazás részvételi funkciói nem feltétlenül választhatók. Az alkalmazás meglévő funkcióitól függően szükség lehet ezekre a funkciókra.

Az útmutató következő szakaszai számos fontos alkalmazás-részvételi funkciót ismertetnek:

Az útmutató további része az alkalmazás részvételi funkcióinak fennmaradó készletét ismerteti:

  • Engedélyezett fiókok implementálása
  • Szükséges fájltitkosítás implementálása
  • Save-as és open-from vezérlők implementálása
  • Adatok megosztása az UIActivityViewController használatával
  • Célzott konfiguráció (APP/MAM-alkalmazáskonfiguráció) engedélyezése iOS-alkalmazásokhoz
  • Telemetria
  • Siri szándékok
  • Alkalmazásklipek
  • Nyomtatás
  • Értesítések
  • Buildelés utáni szkript

Az alkalmazás viselkedésének testreszabása API-kkal

A Intune App SDK számos API-val rendelkezik, amelyeket meghívhat, hogy információkat kapjon az alkalmazásra telepített Intune APP-szabályzatról. Ezek az adatok az alkalmazás viselkedésének testreszabására használhatók. Az alábbi táblázat néhány alapvető Intune használt osztályról tartalmaz információkat.

Osztály Leírás
IntuneMAMPolicyManager.h Az IntuneMAMPolicyManager osztály elérhetővé teszi az alkalmazásra telepített Intune APP-szabályzatot. Konkrétan olyan API-kat tesz elérhetővé, amelyek hasznosak a többszörös identitás engedélyezéséhez.
IntuneMAMPolicy.h Az IntuneMAMPolicy osztály elérhetővé tesz néhány MAM-szabályzatbeállítást, amelyek az alkalmazásra vonatkoznak. A szabályzatbeállítások többsége elérhető, így az alkalmazás testre szabhatja a felhasználói felületét. A legtöbb szabályzatbeállítást az SDK kényszeríti ki, nem az alkalmazás. Van azonban néhány kivétel. Az alkalmazásfejlesztőknek át kell tekinteniük az ebben a fejlécben található megjegyzéseket annak meghatározásához, hogy mely API-k alkalmazhatók az alkalmazásuk forgatókönyveire.
IntuneMAMFileProtectionManager.h Az IntuneMAMFileProtectionManager osztály olyan API-kat tesz elérhetővé, amelyeket az alkalmazás a megadott identitáson alapuló fájlok és könyvtárak explicit védelmére használhat. Az identitást Intune vagy nem felügyelt módon lehet kezelni, és az SDK a megfelelő MAM-szabályzatot alkalmazza. Az osztály használata nem kötelező.
IntuneMAMDataProtectionManager.h Az IntuneMAMDataProtectionManager osztály olyan API-kat tesz elérhetővé, amelyeket az alkalmazás az adatpufferek védelmére használhat a megadott identitás alapján. Az identitást Intune vagy nem felügyelt módon lehet kezelni, és az SDK megfelelően alkalmazza a titkosítást.

Engedélyezett fiókok implementálása

Intune lehetővé teszi a rendszergazdák számára, hogy meghatározzák, hogy a felhasználó mely fiókokba tud bejelentkezni. Az alkalmazások lekérdezhetik a Intune App SDK-t az engedélyezett fiókok megadott listájáról, majd meggyőződhetnek arról, hogy csak az engedélyezett fiókok vannak bejelentkezve az eszközre.

Az engedélyezett fiókok lekérdezéséhez az alkalmazásnak ellenőriznie kell a allowedAccounts tulajdonságát a IntuneMAMEnrollmentManagerkövetkezőn: . A allowedAccounts tulajdonság vagy egy tömb, amely az engedélyezett fiókokat tartalmazza, vagy üres. Ha a tulajdonság értéke nil, akkor nincs megadva engedélyezett fiók. Az MSAL/OneAuth-kompatibilis alkalmazásoknak a allowedAccountIds példány tulajdonságát kell használniuk az IntuneMAMEnrollmentManager ObjectId lekérdezéséhez.

Az alkalmazások az értesítés megfigyelésével reagálhatnak a allowedAccounts tulajdonság változásaira IntuneMAMAllowedAccountsDidChangeNotification is. Az értesítés akkor lesz közzétéve, ha a allowedAccounts tulajdonság értéke megváltozik.

Az API-k engedélyezett fiókokhoz való használatakor a következő követelményekre van szükség:

  • Az identitás-összehasonlításnak nem különbözteti meg a kis- és nagybetűket az UPN és az OID esetében.
  • Az identitás-összehasonlításnak támogatnia kell az UPN-t és az OID-t is.
  • Az alkalmazásnak naplózással kell rendelkeznie a rendszergazda által megadott fiók és a felhasználó által megadott fiók közötti eltérés diagnosztizálásához.

Szükséges fájltitkosítás implementálása

A isFileEncryptionRequired ben IntuneMAMPolicy.h definiált API tájékoztatja az alkalmazásokat, amikor a rendszergazda megköveteli, hogy az alkalmazások Intune titkosítást használjanak a lemezre mentett fájlokon. Ha isFileEncryptionRequired igaz, akkor az alkalmazás felelőssége biztosítani, hogy az alkalmazás által lemezre mentett fájlok titkosítása a , IntuneMAMFileProtectionManager.hIntuneMAMFDataProtectionManager.hés API-kkal IntuneMAMFile.htörténjen.

Az alkalmazások a ben meghatározott értesítés megfigyelésével reagálhatnak a IntuneMAMDataProtectionDidChangeNotification szabályzat változásaira IntuneMAMFDataProtectionManager.h.

Save-as és open-from vezérlők implementálása

Intune lehetővé teszi a rendszergazdák számára, hogy kiválasszanak olyan tárolási helyeket, ahonnan a felügyelt alkalmazások adatokat menthetnek vagy megnyithatnak. Az alkalmazások lekérdezhetik a Intune MAM SDK-t az engedélyezett mentési helyekről a isSaveToAllowedForLocation:withAccountId: ben IntuneMAMPolicy.hdefiniált API használatával. Az alkalmazások lekérdezhetik az SDK-t is az engedélyezett nyílt tárhelyekről a szintén a-ben isOpenFromAllowedForLocation:withAccountId:IntuneMAMPolicy.hdefiniált API-val.

Emellett az alkalmazások a fájlban definiált API lekérdezésével canReceiveSharedItemProvider: ellenőrizhetik, hogy a megosztási bővítményből érkező adatok engedélyezve van-e IntuneMAMPolicy.h. Az alkalmazások lekérdezhetik az canReceiveSharedFile: API-t is, hogy ellenőrizzék a bejövő fájlokat egy openURL-hívásból, amely szintén a következőben van meghatározva: IntuneMAMPolicy.h

Megjegyzés:

A MAM SDK 15.1.0-s verziójának belső viselkedése módosult.

  • A nil rendszer a továbbiakban nem kezeli a fiókokat a LocalDrive/LocalStorage helyek aktuális fiókjaként. A fiók átadása nil nem felügyelt fiókként lesz kezelve. Mivel az alkalmazások szabályozhatják, hogyan kezelik a tesztkörnyezeti tárolójukat, egy identitás társítható és társítható ezekhez a helyekhez.
  • Az nil egy identitással rendelkező alkalmazások esetében a fiók már nem lesz aktuális fiókként kezelve. nil A fiók egy identitással rendelkező alkalmazásban való átadása mostantól pontosan ugyanúgy történik, mintha egy több identitást tartalmazó alkalmazásba lett volna átadva. Ha egy identitással rendelkező alkalmazást fejleszt, az IntuneMAMPolicy's primaryUser használatával hivatkozzon az aktuális fiókra, ha felügyelt, és nil ha nem felügyelt, hivatkozzon az aktuális fiókra.

Mentési forgatókönyvek kezelése

Mielőtt új felhőbeli tárolóba vagy helyi helyre helyezne át adatokat, az alkalmazásnak ellenőriznie kell az isSaveToAllowedForLocation:withAccountId: API-val, hogy a rendszergazda engedélyezte-e az adatátvitelt. Ez a metódus egy objektumon van meghívva IntuneMAMPolicy . A helyben szerkesztett és mentett adatokat nem kell ellenőrizni ezzel az API-val.

Megjegyzés:

Az IntuneMAMPolicy objektumnak a mentett adatok tulajdonosának szabályzatait kell képviselnie. Egy adott identitás objektumának lekéréséhez hívja meg IntuneMAMPolicyManagera IntuneMAMPolicy metódustpolicyForAccountId:. Ha a tulajdonos identitás nélküli, nem felügyelt fiók, nil akkor átadható a következőnek policyForAccountId:: . Még akkor is meghívandó, isSaveToAllowedForLocation:withAccountId: ha a mentett adatok nem szervezeti adatok. Előfordulhat, hogy a célhelyet birtokoló fiók házirendjei korlátozzák a bejövő nem felügyelt adatokat.

A isSaveToAllowedForLocation:withAccountId: metódus két argumentumot vesz fel. Az első argumentum a fájlban IntuneMAMPolicy.hdefiniált típus IntuneMAMSaveLocation enumerálási értéke. A második argumentum a hely tulajdonos identitásának egyszerű felhasználónévje. Ha a tulajdonos nem ismert, nil használhatja helyette.

Támogatott mentési helyek

A Intune MAM SDK a következő mentési IntuneMAMPolicy.hhelyekhez nyújt támogatást:

  • IntuneMAMSaveLocationOneDriveForBusiness– Ez a hely OneDrive Vállalati verzió helyet jelöl. A OneDrive-fiókhoz társított identitást második argumentumként kell átadni.
  • IntuneMAMSaveLocationSharePoint– Ez a hely a SharePoint online és Microsoft Entra hibrid modern hitelesítésű helyszíni SharePoint-helyeket jelöli. A SharePoint-fiókhoz társított identitást második argumentumként kell átadni.
  • IntuneMAMSaveLocationLocalDrive – Ez a hely olyan alkalmazás-tesztkörnyezeti tárolót jelöl, amelyet csak az alkalmazás érhet el. Ez a hely nem használható fájlválasztón keresztüli mentéshez, illetve fájlokba megosztási bővítményen keresztüli mentéshez. Ha egy identitás társítható az alkalmazás-tesztkörnyezet tárolójával, akkor a második argumentumként kell átadni. Ha nincs identitás, nil akkor inkább át kell adni. Előfordulhat például, hogy egy alkalmazás külön alkalmazás-tesztkörnyezet tárolókat használ a különböző fiókokhoz. Ebben az esetben a második argumentumként azt a fiókot kell használni, amely az elérni kívánt tároló tulajdonosa.
  • IntuneMAMSaveLocationCameraRoll – Ez a hely az iOS fotótárat jelöli. Mivel nincs társítva fiók az iOS-fotótárhoz, csak nil a második argumentumként kell megadni, ha ezt a helyet használja.
  • IntuneMAMSaveLocationAccountDocument – Ez a hely minden olyan szervezeti helyet jelöl, amely korábban nem szerepel a listán, és amely egy felügyelt fiókhoz köthető. A helyhez társított szervezeti fiókot második argumentumként kell átadni. Például feltölthet egy fényképet egy szervezet szervezeti fiókhoz kötött üzletági felhőszolgáltatásához.
  • IntuneMAMSaveLocationOther – Ez a hely bármilyen nem szervezett, korábban nem felsorolt vagy ismeretlen helyet jelöl. Ha egy fiók társítva van a helyhez, akkor azt a második argumentumként kell átadni. nil Ellenkező esetben inkább a függvényt kell használni.
A mentési helyekre vonatkozó speciális szempontok

A IntuneMAMSaveLocationLocalDrive helyet csak olyan alkalmazás-tesztkörnyezeti tárolókhoz szabad használni, amelyeket csak az alkalmazás érhet el. Annak ellenőrzéséhez, hogy egy fájl menthető-e iOS-eszköztárolóba egy fájlválasztóval vagy más olyan módszerrel, ahol az adatok elérhetők lesznek a Fájlok alkalmazásban, IntuneMAMSaveLocationOther érdemes használni.

Ha a célhely nem szerepel a listában, IntuneMAMSaveLocationAccountDocument vagy IntuneMAMSaveLocationOther azt kell használni. Ha a hely olyan szervezeti adatokat tartalmaz, amelyek a felügyelt fiókkal (azaz) érhetők el. A szervezeti adatok IntuneMAMSaveLocationAccountDocument tárolására szolgáló LOB felhőszolgáltatást) kell használni. Ha a hely nem tartalmaz szervezeti adatokat, akkor a IntuneMAMSaveLocationOther helyet kell használni.

Nyílt forráskódú forgatókönyvek kezelése

Mielőtt adatokat importál egy új felhőbeli tárolóból vagy helyi helyről, az alkalmazásnak ellenőriznie kell az isOpenFromAllowedForLocation:withAccountId: API-val, hogy a rendszergazda engedélyezte-e az adatátvitelt. Ez a metódus egy objektumon van meghívva IntuneMAMPolicy . A helyben megnyitott adatokat nem kell ellenőrizni ezzel az API-val.

Megjegyzés:

Az IntuneMAMPolicy objektumnak az adatokat fogadó identitás szabályzatait kell képviselnie. Egy adott identitás objektumának lekéréséhez hívja meg IntuneMAMPolicyManagera IntuneMAMPolicy metódustpolicyForAccountId:. Ha a fogadó fiók egy identitás nélküli, nem felügyelt fiók, nil akkor továbbítható a következőnek policyForAccountId:: . Még akkor is meghívandó, isOpenFromAllowedForLocation:withAccountId: ha a fogadott adatok nem szervezeti adatok. Előfordulhat, hogy az adatok tulajdonosa fiókban továbbra is vannak olyan szabályzatok, amelyek korlátozzák a kimenő adatátvitelek célhelyét.

A isOpenFromAllowedForLocation:withAccountId: metódus két argumentumot vesz fel. Az első argumentum a fájlban IntuneMAMPolicy.hdefiniált típus IntuneMAMOpenLocation enumerálási értéke. A második argumentum a hely tulajdonos identitásának egyszerű felhasználónévje. Ha a tulajdonos nem ismert, nil használhatja helyette.

Támogatott nyitott helyek

A Intune MAM SDK a következő, a-ban IntuneMAMPolicy.hdefiniált nyílt helyekhez nyújt támogatást:

  • IntuneMAMOpenLocationOneDriveForBusiness– Ez a hely OneDrive Vállalati verzió helyet jelöl. A OneDrive-fiókhoz társított identitást második argumentumként kell átadni.
  • IntuneMAMOpenLocationSharePoint– Ez a hely a SharePoint online és Microsoft Entra hibrid modern hitelesítésű helyszíni SharePoint-helyeket jelöli. A SharePoint-fiókhoz társított identitást második argumentumként kell átadni.
  • IntuneMAMOpenLocationCamera – Ez a hely csak a kamera által készített új képeket jelöli. Mivel nincs társítva fiók az iOS-kamerához, csak nil a második argumentumot kell megadni a hely használata esetén. Az iOS fotótárból származó adatok megnyitásához használja a következőt IntuneMAMOpenLocationPhotos: .
  • IntuneMAMOpenLocationPhotos – Ez a hely csak az iOS fotótárban meglévő képeket jelöli. Mivel nincs társítva fiók az iOS-fotótárhoz, csak nil a második argumentumként kell megadni, ha ezt a helyet használja. A közvetlenül az iOS-kameráról készített képek megnyitásához használja a következőt IntuneMAMOpenLocationCamera: .
  • IntuneMAMOpenLocationLocalStorage – Ez a hely olyan alkalmazás-tesztkörnyezeti tárolót jelöl, amelyet csak az alkalmazás érhet el. Ez a hely nem használható fájlok fájlválasztóból való megnyitására vagy openURL-ből érkező fájlok kezelésére. Ha egy identitás társítható az alkalmazás-tesztkörnyezet tárolójával, akkor a második argumentumként kell átadni. Ha nincs identitás, nil akkor inkább át kell adni. Előfordulhat például, hogy egy alkalmazás külön alkalmazás-tesztkörnyezet tárolókat használ a különböző fiókokhoz. Ebben az esetben a második argumentumként azt a fiókot kell használni, amely az elérni kívánt tároló tulajdonosa.
  • IntuneMAMOpenLocationAccountDocument – Ez a hely minden olyan szervezeti helyet jelöl, amely korábban nem szerepel a listán, és amely egy felügyelt fiókhoz köthető. A helyhez társított szervezeti fiókot második argumentumként kell átadni. Például egy fénykép letöltése egy szervezet szervezeti fiókhoz kötött üzletági felhőszolgáltatásából.
  • IntuneMAMOpenLocationOther – Ez a hely bármilyen nem rendezetlen helyet jelöl, amely korábban nem szerepel a listán, vagy bármilyen ismeretlen helyet. Ha egy fiók társítva van a helyhez, akkor azt a második argumentumként kell átadni. nil Ellenkező esetben inkább a függvényt kell használni.
A nyitott helyekre vonatkozó speciális szempontok

A IntuneMAMOpenLocationLocalStorage helyet csak az alkalmazás által elérhető alkalmazás-tesztkörnyezeti tárolókhoz szabad használni. Annak ellenőrzéséhez, hogy egy fájl megnyitható-e iOS-eszköztárolóból egy fájlválasztón keresztül, vagy más olyan módszert kell használni, IntuneMAMOpenLocationOther ahol az adatok a Fájlok alkalmazásban is elérhetők.

Ha a célhely nem szerepel a listában, IntuneMAMOpenLocationAccountDocument vagy IntuneMAMOpenLocationOther azt kell használni. Ha a hely olyan szervezeti adatokat tartalmaz, amelyek a felügyelt fiók használatával érhetők el. Például a szervezeti adatok IntuneMAMOpenLocationAccountDocument tárolására szolgáló LOB felhőszolgáltatást kell használni. Ha a hely nem tartalmaz szervezeti adatokat, akkor a IntuneMAMSaveLocationOther helyet kell használni.

Bejövő NSItemProviderek és fájlok kezelése

A megosztásbővítménytől kapott NSItemProviderek kezeléséhez a metódus canReceiveSharedItemProvider: használható a IntuneMAMPolicyisOpenFromAllowedForLocation:withAccountId:helyett. A canReceiveSharedItemProvider: metódus egy NSItemProvidert használ, és visszaadja, hogy a rendszergazda engedélyezi-e az IntuneMAMPolicy objektum fiókjába való megnyitást. A metódus meghívása előtt be kell tölteni az elemet. Például a meghívásával loadItemForTypeIdentifier:options:completionHandler. Ez a metódus az NSItemProvider betöltési hívásnak átadott befejezéskezelőből is meghívható.

A bejövő fájlok kezeléséhez a IntuneMAMPolicycanReceiveSharedFile: metódus használható a isOpenFromAllowedForLocation:withAccountId:helyett. A canReceiveSharedFile: metódus egy NSString elérési utat használ, és visszaadja, hogy a rendszergazda engedélyezi-e az IntuneMAMPolicy objektum fiókjába való megnyitást.

Letiltott megosztási riasztás

A felhasználói felület segédfüggvénye akkor használható, ha meghívja a vagy isOpenFromAllowedForLocation:withAccountId: az isSaveToAllowedForLocation:withAccountId: API-t, és letiltja a mentési/megnyitási műveletet. Ha az alkalmazás értesíteni szeretné a felhasználót a művelet letiltásáról, meghívhatja a showSharingBlockedMessage ben IntuneMAMUIHelper.h definiált API-t, hogy általános üzenettel jelenítsen meg egy riasztási nézetet.

Adatok megosztása az UIActivityViewController használatával

A 8.0.2-es kiadástól kezdődően a Intune App SDK képes szűrni UIActivityViewController a műveleteket, így csak Intune felügyelt megosztási helyek választhatók ki. Ezt a viselkedést az alkalmazás adatátviteli szabályzata szabályozza.

"Másolás a fájlba" műveletek

Ha a és UIDocumentInteractionControllera használatával oszt meg dokumentumokat, az UIActivityViewController iOS a "Másolás a következőre" műveleteket jeleníti meg minden olyan alkalmazás esetében, amely támogatja a megosztott dokumentum megnyitását. Az alkalmazások az Info.plist fájlban megadott beállítással deklarálják az CFBundleDocumentTypes általuk támogatott dokumentumtípusokat. Ez a megosztási típus többé nem lesz elérhető, ha a szabályzat megtiltja a megosztást a nem felügyelt alkalmazásoknak. Csereként a felhasználónak hozzá kell adnia egy nem felhasználói felületi műveleti bővítményt az alkalmazásához, és hozzá kell kapcsolnia a Intune App SDK-hoz. Az Action bővítmény csupán egy csonk. Az SDK implementálja a fájlmegosztási viselkedést. Kövesse az alábbi lépéseket:

  1. Az alkalmazásnak legalább egy schemeURL-t kell definiálnia az Info.plist CFBundleURLTypes fájlban a megfelelőjével -intunemam együtt. Például:

    <key>CFBundleURLSchemes</key>
     <array>
     	<string>launch-com.contoso.myapp</string>
     	<string>launch-com.contoso.myapp-intunemam</string>
     </array>
    
  2. Az alkalmazás- és műveletbővítménynek legalább egy alkalmazáscsoportot meg kell osztania, és az alkalmazáscsoportnak az AppGroupIdentifiers alkalmazás és a bővítmény IntuneMAMSettings szótárai alatti tömbben kell szerepelnie.

  3. Mind az alkalmazásnak, mind a műveletbővítménynek rendelkeznie kell a Kulcskarika-megosztás funkcióval, és meg kell osztania a com.microsoft.intune.mam kulcskarikacsoportot.

  4. Nevezze el a "Megnyitás" műveletbővítményt, majd az alkalmazás nevét. Szükség szerint honosítsa az Info.plist fájlt.

  5. Adjon meg egy sablonikont a bővítményhez az Apple fejlesztői dokumentációjában leírtak szerint. Alternatív megoldásként az IntuneMAMConfigurator eszközzel is létrehozhatja ezeket a lemezképeket az alkalmazás .app könyvtárából. Ehhez futtassa a következőt:

    IntuneMAMConfigurator -generateOpenInIcons /path/to/app.app -o /path/to/output/directory
    
  6. A bővítmény Info.plist fájljában található IntuneMAMSettings területen adjon hozzá egy IGEN értékű logikai beállítást OpenInActionExtension .

  7. Konfigurálja a-t NSExtensionActivationRule egyetlen fájl és az alkalmazás előtagjának összes típusának CFBundleDocumentTypes támogatására a következővel com.microsoft.intune.mam: . Ha például az alkalmazás támogatja a public.text és a public.image szöveget, az aktiválási szabály a következő:

    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
    

Meglévő megosztási és műveletbővítmények frissítése

Ha az alkalmazás már tartalmaz megosztási vagy műveletbővítményeket, azokat NSExtensionActivationRule módosítani kell, hogy engedélyezzék a Intune típusokat. A bővítmény által támogatott összes típushoz adjon hozzá egy további, előtaggal com.microsoft.intune.mamellátott típust. Ha például a meglévő aktiválási szabály a következő:

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

Ezt a következőre kell módosítani:

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

Megjegyzés:

Az IntuneMAMConfigurator eszközzel hozzáadhatja a Intune típusokat az aktiválási szabályhoz. Ha a meglévő aktiválási szabály az előre definiált sztringkonstansokat használja. Például: NSExtensionActivationSupportsFileWithMaxCount, NSExtensionActivationSupportsText stb., a predikátum szintaxisa meglehetősen összetett lehet. Az IntuneMAMConfigurator eszközzel az aktiválási szabályt a sztringállandókból predikátumsztringgé alakíthatja a Intune típusok hozzáadásakor.

Hogyan kell kinéznie a felhasználói felületnek?

Régi felhasználói felület:

Adatok megosztása – iOS régi megosztási felhasználói felülete

Új felhasználói felület:

Adatok megosztása – iOS új megosztási felhasználói felület

Célzott alkalmazáskonfiguráció engedélyezése iOS-alkalmazásokhoz

A célzott MAM-konfiguráció (más néven MAM-alkalmazáskonfiguráció) lehetővé teszi az alkalmazások számára a konfigurációs adatok fogadását az Intune SDK-n keresztül. Az alkalmazás tulajdonosának/fejlesztőjének meg kell határoznia és közölnie kell ezen adatok formátumát és változatait Intune ügyfelekkel.

Intune rendszergazdák a Microsoft Intune Felügyeleti központban és a Intune Graph API keresztül célozhatják meg és helyezhetik üzembe a konfigurációs adatokat. Az iOS-hez készült Intune App SDK 7.0.1-es verziójától a célzott MAM-konfigurációban részt vevő alkalmazások a MAM-szolgáltatáson keresztül biztosíthatják a célzott MAM-konfigurációs adatokat. Az alkalmazáskonfigurációs adatok a MAM szolgáltatáson keresztül közvetlenül az alkalmazásba kerülnek, nem pedig az MDM-csatornán keresztül. A Intune App SDK egy osztályt biztosít a konzolokról lekért adatok eléréséhez. A következő elemek előfeltételek:

  • Az alkalmazást regisztrálni kell a Intune MAM szolgáltatásban, mielőtt hozzáfér a célzott MAM-konfigurációs felhasználói felülethez. További információ: Alkalmazásvédelmi szabályzat fogadása.

  • Szerepeljen IntuneMAMAppConfigManager.h az alkalmazás forrásfájljában.

  • Az alkalmazáskonfigurálási objektum lekéréséhez hívja meg a következőt [[IntuneMAMAppConfigManager instance] appConfigForAccountId:] : .

  • Hívja meg a megfelelő választót az objektumon IntuneMAMAppConfig . Ha például az alkalmazás kulcsa egy sztring, akkor a vagy allStringsForKeya értéket kell használniastringValueForKey. A IntuneMAMAppConfig.h visszatérési értékek és a hibafeltételek részletes leírását lásd.

A Graph API képességeivel kapcsolatos további információkért lásd: Graph API Referencia.

A célzott MAM-alkalmazáskonfigurációs szabályzatok iOS-ben történő létrehozásáról további információt a célzott MAM-alkalmazáskonfigurációról szóló szakaszban talál: Microsoft Intune alkalmazáskonfigurációs szabályzatok használata iOS/iPadOS rendszeren.

Telemetria

Az iOS-hez készült Intune App SDK alapértelmezés szerint a következő típusú eseményekről gyűjt telemetriát:

  • Alkalmazás indítása: Microsoft Intune megismerheti a MAM-kompatibilis alkalmazáshasználatot felügyeleti típus szerint (MAM MDM-sel, MAM MDM-regisztráció nélkül stb.).

  • Regisztrációs hívások: Microsoft Intune megismerheti a sikerességi arányt és az ügyféloldalról kezdeményezett regisztrációs hívások egyéb teljesítménymetrikáit.

  • Intune műveletek: A problémák diagnosztizálása és a Intune funkciók biztosítása érdekében információkat gyűjtünk Intune SDK-műveletekről.

Megjegyzés:

Ha úgy dönt, hogy nem küld Intune App SDK telemetriai adatokat Microsoft Intune a mobilalkalmazásból, le kell tiltania Intune App SDK telemetriai adatok rögzítését. Állítsa a tulajdonságot MAMTelemetryDisabled IGEN értékre az IntuneMAMSettings szótárban.

Siri szándékok

Ha az alkalmazás integrálva van a Siri Szándékokkal, vagy Siri Szándékadományokat készít, mindenképpen olvassa el a következőhöz tartozó megjegyzéseket areSiriIntentsAllowedIntuneMAMPolicy.h a forgatókönyv támogatásával kapcsolatban.

Megjegyzés:

Az iOS 16-os és újabb verziókban egy új App Intents rendszer-keretrendszer érhető el a Swift-alkalmazás szándékainak létrehozásához. Az alkalmazás szándékát megvalósító alkalmazásoknak először ellenőriznie kell a areSiriIntentsAllowed felhasználó IntuneMAMPolicy objektumának tulajdonságát.

Alkalmazásklipek

Ha az alkalmazás tartalmaz alkalmazásklip-célt, győződjön meg arról, hogy nem jelennek meg felügyelt adatok az alkalmazásklipben. Az alkalmazásklipet nem felügyelt helynek kell tekinteni. Az SDK appklipekbe való integrálása jelenleg nem támogatott.

Nyomtatás

Ha az alkalmazás implementálja a nyomtatást, és egyéni nyomtatási műveletet biztosít egy egyéni menüben, mindenképpen használja UIPrintInteractionController.isPrintingAvailable() annak meghatározásához, hogy fel kell-e vennie a nyomtatási műveletet az egyéni menübe.

Értesítések

Ha az alkalmazás értesítéseket kap, mindenképpen olvassa el a következőhöz tartozó megjegyzéseket notificationPolicyIntuneMAMPolicy.h , hogy útmutatást kapjon a forgatókönyv támogatásához. Javasoljuk, hogy az alkalmazások regisztráljanak a () szakaszban IntuneMAMPolicyManager.hleírtakraIntuneMAMPolicyDidChangeNotification, és ezt az értéket a kulcskarikán keresztül közöljék UNNotificationServiceExtension velük.

Safari webes bővítmények

Ha az alkalmazás rendelkezik Safari webes bővítménysel, és támogatja az adatok küldését a bővítmény és a szülőalkalmazás között, bizonyos esetekben előfordulhat, hogy az alkalmazásnak támogatnia kell az adatok blokkolását. Az adatok blokkolásához a szülőalkalmazásban hívja meg az API-t a isAppSharingAllowed fájlban IntuneMAMPolicy.h, majd tiltsa le a webes bővítményt.

Buildelés utáni szkript

Az IntuneMAMFrameworkPatcher parancssori eszközt már nem kell futtatni az alkalmazás buildelési folyamatának utolsó lépéseként. Ez az eszköz azonban az iOS-hez készült Intune App SDK részeként érhető el a GitHubon.

Fontos

A Intune MAM SDK 17.7.1-es kiadásától ez a lépés már nem szükséges. Az IntuneMAMFrameworkPatcher parancssori eszközt már nem kell futtatni.

Parancssori használat

IntuneMAMFrameworkPatcher -i /path/to/directory_or_binary [-resign] [-verbose]

Paraméterek:

  • i, , rv: Ez a paraméter lehetővé teszi az alkalmazás buildelési folyamatához tartozó Intune MAM-keretrendszer-javító telepítését, eltávolítását vagy ellenőrzését.
  • path: A path legyen az alkalmazás .app könyvtárának gyökere.
  • resign: A resign beállítás arra utasítja az eszközt, hogy a bináris fájl javítása előtt lemondjon az érvényes aláírással rendelkező bináris fájlokról. Ezt a lehetőséget akkor kell használni, ha a projekt keretrendszerfüggőségeket vagy beépülő modulokat tartalmaz a Beágyazás és az Aláírás beállítással, még akkor is, ha az utolsó alkalmazás-aláírás előtt fut, vagy ha az eszköz a végső alkalmazás-aláírás után fut.
  • verbose: A verbose beállítás hatására az eszköz adatokat ad ki minden javított bináris fájlról.

Egyéb használati adatok:

  • Távolítsa el a javítást:

    IntuneMAMFrameworkPatcher -r /path/to/directory_or_binary [-resign] [-verbose]

  • Ellenőrizze a javítást:

    IntuneMAMFrameworkPatcher -v /path/to/directory_or_binary [-verbose]

Példaszkript:

IntuneMAMFrameworkPatcher -i $BUILT_PRODUCTS_DIR/$EXECUTABLE_FOLDER_PATH -resign -verbose

További információ az első lépésekről és az SDK letöltéséről: Ismerkedés az Microsoft Intune App SDK-val.

Kilépési feltételek

A mentés ellenőrzése a korlátozásokból való megnyitásra vagy mentésre

Kihagyhatja, ha nem implementálja a mentés másként és a megnyitási vezérlőket.

Ismerkedjen meg minden olyan forgatókönyvvel, ahol az alkalmazás adatokat menthet a felhőbeli vagy helyi tárhelyekre, és megnyithat adatokat a felhőbeli tárolókból vagy helyi helyekről.

Az egyszerűség kedvéért ezek a tesztek feltételezik, hogy az alkalmazás csak a OneDrive Vállalati verzió egyetlen helyről történő mentését és megnyitását támogatja. Azonban minden kombinációt ellenőriznie kell: minden támogatott mentési hely minden olyan helyhez, ahol az alkalmazás lehetővé teszi az adatok mentését, és minden támogatott nyílt hely minden olyan helyhez, ahol az alkalmazás lehetővé teszi az adatok megnyitását.

Ezekhez a tesztekhez telepítse az alkalmazást, integrálja az SDK-val, és jelentkezzen be egy felügyelt fiókkal a teszt megkezdése előtt.

Továbbá:

  • Állítsa be a felügyelt fiók szabályzatát a következőként:
    • "Szervezeti adatok küldése más alkalmazásoknak" a szabályzattal felügyelt alkalmazásoknak.
    • "Adatok fogadása más alkalmazásokból" a szabályzattal felügyelt alkalmazásokba.
Forgatókönyv Előfeltételek Lépéseket
Mentés a fájlba, teljes mértékben engedélyezve "Szervezeti adatok másolatainak mentése" szabályzat "Engedélyezés" értékre állítva – Navigáljon arra a helyre, ahová az alkalmazás adatokat menthet a OneDrive Vállalati verzió.
– Kíséreljen meg menteni egy dokumentumot OneDrive Vállalati verzió, az alkalmazásba bejelentkezett felügyelt fiókba.
- Ellenőrizze, hogy a mentés engedélyezve van-e.
Mentés a fájlba, kivétel – "Szervezeti adatok másolatainak mentése" szabályzat "Letiltás" értékre állítva
– "Másolatok mentésének engedélyezése a felhasználó számára a kiválasztott szolgáltatásokba" szabályzat csak "OneDrive Vállalati verzió" értékre van állítva
– Navigáljon arra a helyre, ahová az alkalmazás adatokat menthet a OneDrive Vállalati verzió.
– Kíséreljen meg menteni egy dokumentumot OneDrive Vállalati verzió, az alkalmazásba bejelentkezett felügyelt fiókba.
- Ellenőrizze, hogy a mentés engedélyezve van-e.
– Ha az alkalmazás engedélyezi, próbálja meg menteni a fájlt egy másik felhőtárhelyre, és ellenőrizze, hogy le van-e tiltva.
Mentés helye, letiltva "Szervezeti adatok másolatainak mentése" szabályzat "Letiltás" értékre állítva – Navigáljon arra a helyre, ahová az alkalmazás adatokat menthet a OneDrive Vállalati verzió.
– Kíséreljen meg menteni egy dokumentumot OneDrive Vállalati verzió, az alkalmazásba bejelentkezett felügyelt fiókba.
– Ellenőrizze, hogy a mentés le van-e tiltva.
– Ha az alkalmazás engedélyezi, próbálja meg menteni a fájlt egy másik felhőtárhelyre, és ellenőrizze, hogy le van-e tiltva.
Megnyitás innen: , teljes mértékben engedélyezett "Adatok megnyitása szervezeti dokumentumokba" szabályzat "Engedélyezés" értékre állítva – Navigáljon arra a helyre, ahol az alkalmazás adatokat nyithat meg OneDrive Vállalati verzió.
– Nyisson meg egy dokumentumot OneDrive Vállalati verzió, az alkalmazás tárába bejelentkezett felügyelt fiókból.
- Ellenőrizze, hogy a megnyitás engedélyezve van-e.
Megnyitás innen, kivétel – "Adatok megnyitása szervezeti dokumentumokba" szabályzat "Letiltás" értékre állítva
– "A felhasználók megnyithatják az adatokat a kiválasztott szolgáltatásokból" szabályzat csak "OneDrive Vállalati verzió" értékre van állítva
– Navigáljon arra a helyre, ahol az alkalmazás adatokat nyithat meg OneDrive Vállalati verzió.
– Nyisson meg egy dokumentumot OneDrive Vállalati verzió, az alkalmazás tárába bejelentkezett felügyelt fiókból.
- Ellenőrizze, hogy a megnyitás engedélyezve van-e.
– Ha az alkalmazás engedélyezi, próbáljon meg megnyitni egy másik fájlt egy másik felhőtárhelyről, és ellenőrizze, hogy le van-e tiltva.
Megnyitás innen, letiltva "Adatok megnyitása szervezeti dokumentumokba" szabályzat "Letiltás" értékre állítva – Navigáljon arra a helyre, ahol az alkalmazás adatokat nyithat meg OneDrive Vállalati verzió.
– Nyisson meg egy dokumentumot OneDrive Vállalati verzió, az alkalmazás tárába bejelentkezett felügyelt fiókból.
- Ellenőrizze, hogy a megnyitás le van-e tiltva.
– Ha az alkalmazás engedélyezi, próbáljon meg megnyitni egy másik fájlt egy másik felhőtárhelyről, és ellenőrizze, hogy le van-e tiltva.

A "Másolás a fájlba" műveletek ellenőrzése

Hagyja ki, ha nem implementálja a Másolás a következőre műveleteket.

Az egyszerűség kedvéért ezek a tesztek feltételezik, hogy az alkalmazás csak az adatok Microsoft Office-alkalmazásokba, például a Microsoft Word, Excelbe stb. való másolását támogatja. Minden kombinációt ellenőriznie kell: minden támogatott másolási helyet minden olyan helyen, ahová az alkalmazás engedélyezi az adatok másolását.

Ezekhez a tesztekhez telepítse az alkalmazást, integrálja az SDK-val, és jelentkezzen be egy felügyelt fiókkal a teszt megkezdése előtt.

Továbbá:

  • A "Másolás a következőre" műveletek összes integrációs lépését végrehajtotta egy Microsoft-műveletbővítménnyel Word és sikeresen elkészítette és futtatta az alkalmazást.
  • Állítsa be a felügyelt fiók szabályzatát a következőként:
    • "Szervezeti adatok küldése más alkalmazásoknak" a szabályzattal felügyelt alkalmazásoknak.
Forgatókönyv Előfeltételek Lépéseket
Jelölje ki a kivétel alá iktatandó alkalmazásokat, nincs "Szervezeti adatok küldése más alkalmazásoknak" szabályzat "Szabályzattal felügyelt alkalmazások" – Navigáljon arra a helyre, ahová az alkalmazás adatokat másolhat a Microsoft Word, és indítsa el az adatok megosztási beállítását.
– Erősítse meg, hogy a "Másolás Word" lehetőség helyett a "Megnyitás Word".
– Nyomja le a "Megnyitás Word" lehetőséget, és ellenőrizze, hogy a dokumentum másolása és megtekintése sikeresen megtörtént-e, mivel Word is ugyanazzal a felügyelt fiókkal van bejelentkezve.

Nyomtatási műveletek ellenőrzése

Hagyja ki, ha nem implementálja a nyomtatást.

Ehhez a teszthez telepítse az alkalmazást, integrálja az SDK-val, és jelentkezzen be egy felügyelt fiókkal a teszt megkezdése előtt.

Továbbá:

  • A nyomtatás és az alkalmazás létrehozása és futtatása során végrehajtott összes integrációs lépés sikeresen befejeződött.
  • Az alkalmazás már implementálja a riasztásokat/műveleti elemeket az eset kezeléséhez, ha a nyomtatás nem engedélyezett az alkalmazás informatikai rendszergazdájától. Ebben a tesztben, feltéve, hogy az alkalmazás riasztást fog kérni a végfelhasználóknak, ha a nyomtatás le van tiltva.
Forgatókönyv Lépéseket
Szervezeti adatok nyomtatása, Letiltás – Keresse meg, hogy az alkalmazás hol tekintheti meg az adatokat, és indítsa el az adatok megosztási lehetőségét.
- Nyomja le a "Nyomtatás" gombot.
– Győződjön meg arról, hogy megjelenik egy blokkriasztás, és a nyomtatás nem engedélyezett.
Szervezeti adatok nyomtatása, Engedélyezés – Keresse meg, hogy az alkalmazás hol tekintheti meg az adatokat, és indítsa el az adatok megosztási lehetőségét.
- Nyomja le a "Nyomtatás" gombot.
- Erősítse meg, hogy megjelenik a "Nyomtatás" nézet, és kiválaszthat egy nyomtatót, és sikeresen végrehajthatja a műveletet.

A fogadó alkalmazáskonfigurációk ellenőrzése

Hagyja ki, ha nem engedélyezte a célzott alkalmazáskonfigurációt az iOS-alkalmazásokhoz.

Intune felelős azért, hogy az alkalmazás konfigurációs szabályzatának értékeit az alkalmazásnak kézbesítse; ezt követően az alkalmazás felelős azért, hogy ezeket az értékeket felhasználva módosítsa a viselkedést vagy a felhasználói felületet az alkalmazásban. Az alapos, teljes körű tesztelésnek mindkét összetevőre ki kell terjednie.

Annak ellenőrzése, hogy a Intune megfelelően kézbesíti-e az alkalmazáskonfigurációs szabályzatot:

  1. Konfiguráljon egy alkalmazáskonfigurációs szabályzatot, amely az alkalmazásra irányul, és a tesztfiókban van üzembe helyezve.
  2. Jelentkezzen be az alkalmazásba a tesztfiókjával.
  3. Navigáljon az alkalmazáson az összes olyan kódútvonal gyakorlásához, amely meghívja IntuneMAMAppConfigManagera -t appConfigForIdentity.
    • A hívások appConfigForIdentity eredményeinek naplózása egyszerű módszer a beállítások kézbesítésének ellenőrzésére. Mivel azonban a rendszergazdák bármilyen adatot megadhatnak az alkalmazáskonfigurációs beállításokhoz, ügyeljen arra, hogy ne naplózza a privát felhasználói adatokat.
  4. Lásd: Az alkalmazott alkalmazáskonfigurációs szabályzat ellenőrzése.

Mivel az alkalmazáskonfigurációk alkalmazásspecifikusak, csak Ön tudja, hogyan kell ellenőrizni, hogy az alkalmazás hogyan módosítsa a viselkedést vagy a felhasználói felületet az egyes alkalmazáskonfigurációs beállításokhoz.

A tesztelés során vegye figyelembe a következőket:

  • Az alkalmazás által támogatott összes értékhez különböző tesztalkalmazás-konfigurációs szabályzatok létrehozásával biztosíthatja az összes forgatókönyvet.
  • Az alkalmazás ütközésfeloldási logikájának ellenőrzése több tesztalkalmazás-konfigurációs szabályzat létrehozásával, amelyek mindegyik beállításhoz különböző értékeket tartalmaznak.

Következő lépések

Ha sorrendben követte ezt az útmutatót, és teljesítette a fenti kilépési feltételeket, gratulálunk, az alkalmazás most már teljesen integrálva van a Intune App SDK-val, és alkalmazásvédelmi szabályzatokat kényszeríthet ki! További fontos alkalmazás-részvételi funkciók, például az 5. fázis: Többszörös identitás, a 6. fázis: Alkalmazásvédelem feltételes hozzáférés támogatása és a 7. fázis: Webnézet funkciók , amelyek integrálhatók az alkalmazásba.

Alkalmazásvédelem mostantól az alkalmazás egyik alapvető forgatókönyve. Az alkalmazás fejlesztése során továbbra is tekintse meg ezt az útmutatót és a függeléket .