IntuneiOS için Intune Uygulama SDK'sı - Uygulama Katılımı Özellikleri

iOS için Microsoft Intune App SDK'sı, Intune uygulama koruma ilkelerini (APP veya MAM ilkeleri olarak da bilinir) yerel iOS uygulamanızla birleştirmenize olanak tanır. Bir IntuneIntune-yönetilen uygulama, IntuneIntune App SDK ile tümleştirilmiş bir uygulamadır. IntuneIntune yöneticileri, IntuneIntune uygulamayı etkin olarak yönettiğinde, IntuneIntune-managed app to your IntuneIntune-managed app.

Not

Bu kılavuz birkaç ayrı aşamaya ayrılmıştır. Entegrasyonu Planlama bölümünü gözden geçirerek başlayın.

4. Aşama: Uygulama katılım özellikleri

Aşama Hedefleri

  • IntuneIntune App SDK tarafından sunulan çeşitli uygulama katılım özellikleri hakkında bilgi edinin.
  • Uygulamanızla ve kullanıcılarınızla ilgili uygulama katılım özelliklerini entegre edin.
  • Bu özelliklerin tümleştirmesini test edin.

"Uygulamaya Katılım Özellikleri" nedir?

Bu SDK tümleştirme işlemi, geliştiricilerin yazması gereken uygulamaya özgü kod miktarını en aza indirmeye çalışır. SDK tümleştirmesinin önceki aşamalarını başarıyla tamamlayan uygulamanız artık dosya şifreleme, kopyalama/yapıştırma kısıtlamaları, ekran görüntüsü engelleme ve veri aktarım kısıtlamaları gibi uygulama koruma ilkesi ayarlarının çoğunu uygulayabilir.

Ancak, uygulamaya özgü kodun düzgün bir şekilde uygulanmasını gerektiren bazı ayarlar vardır; Bunlar, uygulama katılımı özellikleri olarak adlandırılır. Genellikle SDK, bu ayarları otomatik olarak uygulamak için uygulamanızın kodu veya son kullanıcı senaryosu hakkında yeterli bağlama sahip değildir ve bu nedenle geliştiricilerin SDK API'lerini uygun şekilde çağırmasına güvenir.

Uygulamaya katılım özelliklerinin isteğe bağlı olması gerekmez. Uygulamanızın mevcut özelliklerine bağlı olarak, bu özellikler gerekli olabilir.

Bu kılavuzun sonraki aşamalarında birkaç önemli uygulama katılım özelliği açıklanır:

Bu kılavuzun geri kalanında, uygulamaya katılımın kalan özellikleri açıklanmaktadır:

  • İzin Verilen Hesapları Uygulama
  • Dosya Şifrelemesini Uygulayın Gerekli
  • Farklı kaydet ve Şuradan aç denetimlerini uygulama
  • UIActivityViewController ile Veri Paylaşma
  • iOS uygulamalarınız için hedefli yapılandırmayı (APP/MAM uygulama yapılandırması) etkinleştirin
  • Telemetri
  • Siri Amaçları
  • Uygulama Klipleri
  • Baskı
  • Bildirimler
  • Derleme sonrası komut dosyası

API'lerle uygulamanızın davranışını özelleştirin

Intune Uygulama SDK'sında, uygulamaya dağıtılan Intune uygulama koruma ilkeleri hakkında bilgi almak için çağırabileceğiniz çeşitli API'ler vardır. Uygulamanızın davranışını özelleştirmek için bu verileri kullanabilirsiniz. Aşağıdaki tablo, kullandığınız bazı temel IntuneIntune sınıfları hakkında bilgi sağlar.

Sınıf Açıklama
IntuneMAMPolicyManager.h IntuneMAMPolicyManager sınıfı, uygulamaya dağıtılan Intune uygulama koruma ilkelerini kullanıma sunar. Özellikle, çoklu kimliği etkinleştirmek için yararlı olan API'leri kullanıma sunar.
IntuneMAMPolicy.h IntuneMAMPolicy sınıfı, uygulama için geçerli olan bazı MAM ilke ayarlarını kullanıma sunar. Uygulamanın kullanıcı arabirimini özelleştirebilmesi için bu ilke ayarlarının çoğu kullanıma sunulur. İlke ayarlarının çoğu, uygulama tarafından değil SDK tarafından zorunlu kılınır. Ancak, bazı istisnalar vardır. Uygulama geliştiricileri, uygulamalarının senaryoları için hangi API'lerin geçerli olduğunu belirlemek için bu üst bilgideki yorumları gözden geçirmelidir.
IntuneMAMFileProtectionManager.h IntuneMAMFileProtectionManager sınıfı, uygulamanın sağlanan kimliğe göre dosya ve dizinlerin güvenliğini açıkça sağlamak için kullanabileceği API'leri kullanıma sunar. Kimlik Intune tarafından yönetilebilir veya yönetilmeyebilir ve SDK uygun MAM ilkesini uygular. Bu sınıfı kullanmak isteğe bağlıdır.
IntuneMAMDataProtectionManager.h IntuneMAMDataProtectionManager sınıfı, uygulamanın sağlanan bir kimlik verilen veri arabelleklerinin güvenliğini sağlamak için kullanabileceği API'leri kullanıma sunar. Kimlik, Intune tarafından yönetilebilir veya yönetilemez ve SDK şifrelemeyi uygun şekilde uygular.

İzin Verilen Hesapları Uygulama

IntuneIntune, BT yöneticilerinin kullanıcı tarafından hangi hesaplarda oturum açılabileceğini belirlemesine olanak tanır. Uygulamalar, belirtilen izin verilen hesaplar listesi için Intune Uygulama SDK'sını sorgulayabilir ve ardından cihazda yalnızca izin verilen hesapların oturum açtığından emin olabilir.

İzin verilen hesapları sorgulamak için, Uygulama üzerindeki özelliği denetlemelidir allowedAccountsIntuneMAMEnrollmentManager. Özellik allowedAccounts , izin verilen hesapları içeren bir dizi veya sıfırdır. Özellik sıfırsa, izin verilen hiçbir hesap belirtilmemiştir. MSAL/OneAuth özellikli uygulamalar, allowedAccountIds EntraEntra nesne kimliğini sorgulamak için örnekteki IntuneMAMEnrollmentManager özelliği kullanmalıdır.

Uygulamalar ayrıca bildirimi gözlemleyerek IntuneMAMAllowedAccountsDidChangeNotification özellikteki allowedAccounts değişikliklere tepki verebilir. Özellik, değer olarak her değiştiğinde allowedAccounts bildirim gönderilir.

İzin verilen hesaplar için API'leri kullanırken aşağıdaki gereksinimler gereklidir:

  • Kimlik karşılaştırması, UPN ve OID için büyük/küçük harfe duyarlı olmamalıdır.
  • Kimlik karşılaştırması hem UPN'yi hem de OID'yi desteklemelidir.
  • Yönetici tarafından belirtilen hesap ile kullanıcı tarafından girilen hesap arasındaki uyumsuzluğu tanılamak için uygulamanın günlüğe kaydetmesi gerekir.

Dosya Şifrelemesini Uygulayın Gerekli

BT isFileEncryptionRequired yöneticisi, uygulamaların diske kaydedilen tüm dosyalarda Intune şifrelemesi kullanmasını gerektirdiğinde tanımlanan APIIntuneMAMPolicy.h, uygulamaları bilgilendirir. DoğruysaisFileEncryptionRequired, uygulama tarafından diske kaydedilen tüm dosyaların , IntuneMAMFileProtectionManager.h, ve IntuneMAMFDataProtectionManager.hiçindeki IntuneMAMFile.hAPI'ler kullanılarak şifrelenmesini sağlamak uygulamanın sorumluluğundadır.

Uygulamalar, bölümünde IntuneMAMFDataProtectionManager.htanımlanan bildirimi gözlemleyerek IntuneMAMDataProtectionDidChangeNotification bu ilkedeki değişikliklere tepki verebilir.

Farklı kaydet ve Şuradan aç denetimlerini uygulama

IntuneIntune, BT yöneticilerinin yönetilen bir uygulamanın hangi depolama konumlarına veri kaydedebileceğini veya hangi konumlardan veri açabileceğini seçmesine olanak tanır. Uygulamalar, 'nde tanımlanan API'yi isSaveToAllowedForLocation:withAccountId: kullanarak izin verilen depolama konumları için Intune MAM SDK'sını IntuneMAMPolicy.hsorgulayabilir. Uygulamalar ayrıca, 'de IntuneMAMPolicy.hde tanımlanan API'yi kullanarak izin verilen açık depolama konumları için SDK'yı isOpenFromAllowedForLocation:withAccountId: sorgulayabilir.

Ayrıca uygulamalar, bölümünde IntuneMAMPolicy.htanımlanan API'yi canReceiveSharedItemProvider: sorgulayarak bir paylaşım uzantısından gelen verilere izin verildiğini doğrulayabilir. Uygulamalar ayrıca bir openURL çağrısından gelen dosyaları doğrulamak için API'yi canReceiveSharedFile: sorgulayabilir. IntuneMAMPolicy.h

Not

MAM SDK v15.1.0'dan itibaren iç davranışta değişiklikler yapılmıştır.

  • Bir nil hesap artık LocalDrive/LocalStorage konumları için geçerli hesap olarak kabul edilmeyecektir. Bir nil hesabı geçmek, yönetilmeyen bir hesap olarak değerlendirilmesini sağlayacaktır. Uygulamalar korumalı alan depolama alanlarını nasıl işleyeceklerini denetleyebildiğinden, bu konumlarla bir kimlik ilişkilendirilebilir ve ilişkilendirilmelidir.
  • Bir nil hesap artık tek kimlikli uygulamalar için geçerli hesap olarak kabul edilmeyecektir. Tek kimlikli bir uygulamada bir nil hesabı geçirme işlemi, artık çok kimlikli bir uygulamaya geçirilmiş gibi tam olarak aynı şekilde ele alınacaktır. Tek kimlikli bir uygulama geliştiriyorsanız, yönetiliyorsa geçerli hesaba ve nil yönetilmiyorsa geçerli hesaba başvurmak için lütfen 'leri IntuneMAMPolicyprimaryUser kullanın.

Kaydetme senaryolarını işleme

Verileri yeni bir bulut depolamaya veya yerel konuma taşımadan önce, bir uygulamanın BT yöneticisinin isSaveToAllowedForLocation:withAccountId: veri aktarımına izin verip vermediğini öğrenmek için API'yi kontrol etmesi gerekir. Bu yöntem bir IntuneMAMPolicy nesne üzerinde çağrılır. Yerinde düzenlenen ve kaydedilen verilerin bu API ile denetlenmesi gerekmez.

Not

Nesne IntuneMAMPolicy , kaydedilen verilerin sahibinin ilkelerini temsil etmelidir. Belirli bir kimliğin nesnesini IntuneMAMPolicy almak için ' yöntemini çağırınIntuneMAMPolicyManagerpolicyForAccountId:. Hesap sahibi, kimliği olmayan, yönetilmeyen bir hesapsa, nil .policyForAccountId: Kaydedilen veriler kurumsal veri olmasa bile, isSaveToAllowedForLocation:withAccountId: yine de çağrılmalıdır. Hedef konumun sahibi olan hesap, gelen yönetilmeyen verileri kısıtlayan ilkelere sahip olabilir.

Yöntem isSaveToAllowedForLocation:withAccountId: iki bağımsız değişken alır. İlk bağımsız değişken, 'de IntuneMAMPolicy.htanımlanan türdeki IntuneMAMSaveLocation bir numaralandırma değeridir. İkinci bağımsız değişken konumun sahibi olan kimliğin UPN'sidir. Sahibi bilinmiyorsa nil bunun yerine kullanılabilir.

Desteklenen kaydetme konumları

Intune MAM SDK'sı, aşağıda IntuneMAMPolicy.htanımlanan aşağıdaki kaydetme konumları için destek sağlar:

  • IntuneMAMSaveLocationOneDriveForBusiness- Bu konum, OneDrive İşOneDrive İş konumlarını temsil eder. OneDrive hesabıyla ilişkilendirilmiş kimlik ikinci bağımsız değişken olarak geçirilmelidir.
  • IntuneMAMSaveLocationSharePoint- Bu konum hem SharePoint Online hem de Microsoft Entra Hybrid Modern Auth SharePoint şirket içi konumlarını temsil eder. SharePoint hesabıyla ilişkilendirilmiş kimlik ikinci bağımsız değişken olarak geçirilmelidir.
  • IntuneMAMSaveLocationLocalDrive - Bu konum, yalnızca uygulama tarafından erişilebilen uygulama korumalı alan depolamasını temsil eder. Bu konum, dosya seçici veya paylaşım uzantısı aracılığıyla dosyalara kaydetmek için kullanılmamalıdır. Bir kimlik app-sandbox depolama alanıyla ilişkilendirilebilirse, ikinci bağımsız değişken olarak geçirilmelidir. Kimlik yoksa, nil bunun yerine geçilmelidir. Örneğin, bir uygulama farklı hesaplar için ayrı uygulama korumalı alan depolama kapsayıcıları kullanabilir. Bu durumda, erişilen kapsayıcının sahibi olan hesap ikinci bağımsız değişken olarak kullanılmalıdır.
  • IntuneMAMSaveLocationCameraRoll - Bu konum, iOS Fotoğraf Kitaplığı'nı temsil eder. iOS Fotoğraf Kitaplığı ile ilişkilendirilmiş bir hesap olmadığından, bu konum kullanıldığında yalnızca nil ikinci bağımsız değişken olarak iletilmelidir.
  • IntuneMAMSaveLocationAccountDocument - Bu konum, daha önce listelenmeyen ve yönetilen bir hesaba bağlanabilen herhangi bir kuruluş konumunu temsil eder. Konumla ilişkilendirilmiş kuruluş hesabı, ikinci bağımsız değişken olarak geçirilmelidir. Örneğin, kuruluşun kuruluş hesabına bağlı LOB bulut hizmetine bir fotoğraf yükleme.
  • IntuneMAMSaveLocationOther - Bu konum, kuruluş dışı, daha önce listelenmemiş veya bilinmeyen herhangi bir konumu temsil eder. Bir hesap konumla ilişkilendirilmişse, ikinci bağımsız değişken olarak geçirilmelidir. Aksi takdirde, nil bunun yerine kullanılmalıdır.
Kayıt konumlarıyla ilgili dikkat edilmesi gereken noktalar

Konum IntuneMAMSaveLocationLocalDrive yalnızca uygulama tarafından erişilebilen uygulama korumalı alan depolaması için kullanılmalıdır. Bir dosyanın bir dosya seçici aracılığıyla iOS cihaz depolama alanına kaydedilip kaydedilemeyeceğini kontrol etmek için veya verilere Files uygulamasında IntuneMAMSaveLocationOther erişilebilecek başka bir yöntem kullanılmalıdır.

Hedef konum listelenmiyorsa ya da IntuneMAMSaveLocationAccountDocumentIntuneMAMSaveLocationOther kullanılmalıdır. Konum, yönetilen hesap kullanılarak erişilen kuruluş verileri içeriyorsa (örn. Kuruluş verilerini depolamak için LOB bulut hizmeti) IntuneMAMSaveLocationAccountDocument kullanılmalıdır. Konum, IntuneMAMSaveLocationOther kurumsal veriler içermiyorsa konum kullanılmalıdır.

Açık senaryoları işleme

Yeni bir bulut depolama alanından veya yerel konumdan verileri içeri aktarmadan önce, bir uygulamanın BT yöneticisinin isOpenFromAllowedForLocation:withAccountId: veri aktarımına izin verip vermediğini öğrenmek için API'yi kontrol etmesi gerekir. Bu yöntem bir IntuneMAMPolicy nesne üzerinde çağrılır. Yerinde açılan verilerin bu API ile denetlenmesi gerekmez.

Not

Nesne IntuneMAMPolicy , verileri alan kimliğin ilkelerini temsil etmelidir. Belirli bir kimliğin nesnesini IntuneMAMPolicy almak için ' yöntemini çağırınIntuneMAMPolicyManagerpolicyForAccountId:. Alıcı hesap, kimliği olmayan, yönetilmeyen bir hesapsa, nil .policyForAccountId: Alınan veriler kurumsal veri olmasa bile, isOpenFromAllowedForLocation:withAccountId: yine de çağrılmalıdır. Verilerin sahibi olan hesap, giden veri aktarımlarının hedeflerini kısıtlayan ilkelere sahip olabilir.

Yöntem isOpenFromAllowedForLocation:withAccountId: iki bağımsız değişken alır. İlk bağımsız değişken, 'de IntuneMAMPolicy.htanımlanan türdeki IntuneMAMOpenLocation bir numaralandırma değeridir. İkinci bağımsız değişken konumun sahibi olan kimliğin UPN'sidir. Sahibi bilinmiyorsa nil bunun yerine kullanılabilir.

Desteklenen açık konumlar

Intune Intune MAM SDK'sı, aşağıda IntuneMAMPolicy.htanımlanan aşağıdaki açık konumlar için destek sağlar:

  • IntuneMAMOpenLocationOneDriveForBusiness- Bu konum, OneDrive İşOneDrive İş konumlarını temsil eder. OneDrive hesabıyla ilişkilendirilmiş kimlik ikinci bağımsız değişken olarak geçirilmelidir.
  • IntuneMAMOpenLocationSharePoint- Bu konum hem SharePoint Online hem de Microsoft Entra Hybrid Modern Auth SharePoint şirket içi konumlarını temsil eder. SharePoint hesabıyla ilişkilendirilmiş kimlik ikinci bağımsız değişken olarak geçirilmelidir.
  • IntuneMAMOpenLocationCamera - Bu konum yalnızca kamera tarafından çekilen yeni görüntüleri temsil eder. iOS kamera ile ilişkilendirilmiş bir hesap olmadığından, bu konum kullanıldığında yalnızca nil ikinci bağımsız değişken olarak geçmelidir. iOS Fotoğraf Kitaplığı'ndaki IntuneMAMOpenLocationPhotosverileri açmak için .
  • IntuneMAMOpenLocationPhotos - Bu konum yalnızca iOS Fotoğraf Kitaplığı'ndaki mevcut görüntüleri temsil eder. iOS Fotoğraf Kitaplığı ile ilişkilendirilmiş bir hesap olmadığından, bu konum kullanıldığında yalnızca nil ikinci bağımsız değişken olarak iletilmelidir. Doğrudan iOS kamerasından IntuneMAMOpenLocationCameraçekilen resimleri açmak için .
  • IntuneMAMOpenLocationLocalStorage - Bu konum, yalnızca uygulama tarafından erişilebilen uygulama korumalı alan depolamasını temsil eder. Bu konum, dosyaları bir dosya seçiciden açmak veya bir openURL'den gelen dosyaları işlemek için kullanılmamalıdır. Bir kimlik app-sandbox depolama alanıyla ilişkilendirilebilirse, ikinci bağımsız değişken olarak geçirilmelidir. Kimlik yoksa, nil bunun yerine geçilmelidir. Örneğin, bir uygulama farklı hesaplar için ayrı uygulama korumalı alan depolama kapsayıcıları kullanabilir. Bu durumda, erişilen kapsayıcının sahibi olan hesap ikinci bağımsız değişken olarak kullanılmalıdır.
  • IntuneMAMOpenLocationAccountDocument - Bu konum, daha önce listelenmeyen ve yönetilen bir hesaba bağlanabilen herhangi bir kuruluş konumunu temsil eder. Konumla ilişkilendirilmiş kuruluş hesabı, ikinci bağımsız değişken olarak geçirilmelidir. Örneğin, kuruluşun LOB bulut hizmetinden kuruluş hesabına bağlı bir fotoğraf indirme.
  • IntuneMAMOpenLocationOther - Bu konum, daha önce listelenmemiş veya bilinmeyen herhangi bir kuruluş dışı konumu temsil eder. Bir hesap konumla ilişkilendirilmişse, ikinci bağımsız değişken olarak geçirilmelidir. Aksi takdirde, nil bunun yerine kullanılmalıdır.
Açık konumlar için dikkat edilmesi gereken noktalar

Konum IntuneMAMOpenLocationLocalStorage yalnızca uygulama tarafından erişilebilen uygulama korumalı alan depolaması için kullanılmalıdır. Bir dosyanın iOS cihaz depolama alanından bir dosya seçici aracılığıyla açılıp açılamayacağını kontrol etmek için veya verilerin Files uygulamasında IntuneMAMOpenLocationOther da erişilebilir olduğu başka bir yöntem kullanılmalıdır.

Hedef konum listelenmiyorsa ya da IntuneMAMOpenLocationAccountDocumentIntuneMAMOpenLocationOther kullanılmalıdır. Konum, yönetilen hesap kullanılarak erişilen kuruluş verileri içeriyorsa. Örneğin, kuruluş verilerini IntuneMAMOpenLocationAccountDocument depolamak için LOB bulut hizmeti kullanılmalıdır. Konum, IntuneMAMSaveLocationOther kurumsal veriler içermiyorsa konum kullanılmalıdır.

Handling incoming NSItemProviders and FilesFiles

Bir paylaşım uzantısından IntuneMAMPolicyalınan NSItemProviders'ı canReceiveSharedItemProvider: işlemek için yerine ' yöntemi kullanılabilir isOpenFromAllowedForLocation:withAccountId:. Yöntem canReceiveSharedItemProvider: bir NSItemProvider alır ve BT yöneticisi tarafından nesnenin hesabında açılmasına izin verilip verilmediğini IntuneMAMPolicy döndürür. Bu yöntem çağrılmadan önce öğenin yüklenmesi gerekir. Örneğin, loadItemForTypeIdentifier:options:completionHandler. Bu yöntem, NSItemProvider yük çağrısına geçirilen tamamlama işleyicisinden de çağrılabilir.

Gelen dosyaları IntuneMAMPolicyişlemek için yerine 's canReceiveSharedFile: yöntemi kullanılabilir isOpenFromAllowedForLocation:withAccountId:. Yöntem canReceiveSharedFile: bir NSString yolu alır ve BT yöneticisi tarafından nesnenin hesabında açılmasına IntuneMAMPolicy izin verilip verilmediğini döndürür.

Paylaşım engellendi uyarısı

Kaydetme/açma eylemini engellemek için veya isOpenFromAllowedForLocation:withAccountId: API'si isSaveToAllowedForLocation:withAccountId: çağrıldığında ve bulunduğunda bir UI yardımcı işlevi kullanılabilir. Uygulama, kullanıcıyı eylemin engellendiği konusunda bilgilendirmek isterse, genel bir ileti içeren bir uyarı görünümü sunmak için içinde tanımlanan API'yi IntuneMAMUIHelper.h çağırabilirshowSharingBlockedMessage.

UIActivityViewController ile Veri Paylaşma

8.0.2 sürümünden itibaren Intune App SDK'sı, yalnızca Intune yönetilen paylaşım konumlarının seçilebilmesi için eylemleri filtreleyebilirUIActivityViewController. Bu davranış, uygulamanın veri aktarım ilkesi tarafından denetlenir.

'Kopyala' eylemleri

Belgeler ve UIDocumentInteractionControlleraracılığıyla UIActivityViewController paylaşılırken, iOS, paylaşılan belgenin açılmasını destekleyen her uygulama için 'Kopyala' eylemlerini görüntüler. Uygulamalar, destekledikleri belge türlerini Info.plist dosyasındaki ayar aracılığıyla CFBundleDocumentTypes bildirir. İlke, yönetilmeyen uygulamalarla paylaşımı yasaklıyorsa bu paylaşım türü artık kullanılamaz. Bunun yerine, kullanıcının uygulamasına kullanıcı arabirimi olmayan bir Eylem uzantısı eklemesi ve bunu Intune Uygulama SDK'sına bağlaması gerekir. Eylem uzantısı yalnızca bir saplamadır. SDK, dosya paylaşım davranışını uygular. Aşağıdaki adımları takip et:

  1. Uygulamanızın, Info.plist CFBundleURLTypes altında tanımlanmış en az bir schemeURL'si -intunemam ve karşılığı olmalıdır. Örneğin:

    <key>CFBundleURLSchemes</key>
    <array>
        <string>launch-com.contoso.myapp</string>
          <string>launch-com.contoso.myapp-intunemam</string>
    </array>
    
  2. Hem uygulamanız hem de eylem uzantınız en az bir Uygulama Grubu paylaşmalıdır ve Uygulama Grubu, uygulamanın ve uzantının IntuneMAMSettings sözlüklerinin altındaki dizinin altında AppGroupIdentifiers listelenmelidir.

  3. Hem uygulamanız hem de eylem uzantınız Anahtar Zinciri Paylaşımı özelliğine sahip olmalı ve anahtar zinciri grubunu paylaşmalıdır com.microsoft.intune.mam .

  4. Eylem uzantısını "Şurada aç" olarak adlandırın ve ardından uygulamanın adını ekleyin. Info.plist'i gerektiği gibi yerelleştirin.

  5. Apple'ın geliştirici belgelerinde açıklandığı şekilde uzantı için bir şablon simgesi sağlayın. Alternatif olarak, IntuneMAMConfigurator aracı bu görüntüleri uygulama .app dizininden oluşturmak için kullanılabilir. Bunu yapmak için şu komutu çalıştırın:

    IntuneMAMConfigurator -generateOpenInIcons /path/to/app.app -o /path/to/output/directory
    
  6. Uzantının Info.plist dosyasındaki IntuneMAMSettings altında, YES değeriyle adlandırılmış OpenInActionExtension bir Boole ayarı ekleyin.

  7. Tek bir dosyayı ve uygulamanın CFBundleDocumentTypes önekindeki tüm türleri destekleyecek şekilde com.microsoft.intune.mamyapılandırınNSExtensionActivationRule. Örneğin, uygulama public.text ve public.image'ı destekliyorsa etkinleştirme kuralı şöyle olur:

    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
    

Mevcut Paylaşım ve İşlem uzantılarını güncelleştirme

Uygulamanız zaten Paylaşım veya Eylem uzantıları içeriyorsa, Intune türlerine izin vermek için bunların NSExtensionActivationRule değiştirilmesi gerekir. Uzantı tarafından desteklenen her tür için, com.microsoft.intune.mam. Örneğin, var olan etkinleştirme kuralı:

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

Şu şekilde değiştirilmelidir:

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

Not

IntuneMAMConfigurator aracı, Intune türlerini etkinleştirme kuralına eklemek için kullanılabilir. Var olan etkinleştirme kuralınız önceden tanımlanmış dize sabitlerini kullanıyorsa. Örneğin, NSExtensionActivationSupportsFileWithMaxCount, NSExtensionActivationSupportsText, vb., koşul sözdizimi oldukça karmaşık olabilir. IntuneMAMConfigurator aracı, Intune türlerini eklerken etkinleştirme kuralını dize sabitlerinden koşul dizesine dönüştürmek için de kullanılabilir.

Kullanıcı arabirimi nasıl görünmelidir?

Eski kullanıcı arabirimi:

Veri paylaşımı - iOS eski paylaşım kullanıcı arabirimi

Yeni kullanıcı arabirimi:

Veri paylaşımı - iOS yeni paylaşım kullanıcı arayüzü

iOS uygulamalarınız için hedefli uygulama yapılandırmasını etkinleştirme

MAM hedefli yapılandırma (MAM uygulama yapılandırması olarak da bilinir), bir uygulamanın IntuneIntune SDK'sı aracılığıyla yapılandırma verilerini almasına olanak tanır. Bu verilerin biçimi ve varyantları, uygulama sahibi/geliştiricisi tarafından tanımlanmalı ve Intune müşterilere iletilmelidir.

Intune yöneticileri, Microsoft Intune yönetim merkezi ve Intune Graph API aracılığıyla yapılandırma verilerini hedefleyebilir ve dağıtabilir. iOS için Intune App SDK'sının 7.0.1 sürümünden itibaren, MAM hedefli yapılandırmaya katılan uygulamalara MAM Hizmeti aracılığıyla MAM hedefli yapılandırma verileri sağlanabilir. Uygulama yapılandırma verileri, MDM kanalı yerine MAM Hizmetimiz aracılığıyla doğrudan uygulamaya gönderilir. TIntuneIntune Uygulama SDK'sı, bu konsollardan alınan verilere erişmek için bir sınıf sağlar. Aşağıdaki öğeler önkoşuldur:

  • MAM hedefli yapılandırma kullanıcı arabirimine erişmeden önce uygulamanın Intune MAM hizmetine kaydedilmesi gerekir. Daha fazla bilgi için bkz.

  • Uygulamanızın kaynak dosyasına ekleyin IntuneMAMAppConfigManager.h .

  • Uygulama Yapılandırma Nesnesini almak için çağrı yapın [[IntuneMAMAppConfigManager instance] appConfigForAccountId:] .

  • Nesne üzerinde IntuneMAMAppConfig uygun seçiciyi çağırın. Örneğin, uygulamanızın anahtarı bir dizeyse stringValueForKey veya allStringsForKey. Sonuç değerleri ve hata koşulları hakkında ayrıntılı bir açıklama için bkz IntuneMAMAppConfig.h .

Graph API özellikleri hakkında daha fazla bilgi için Graph API Başvurusu'na bakın.

iOS'ta MAM hedefli bir uygulama yapılandırma ilkesi oluşturma hakkında daha fazla bilgi için, Tkullanma bölümündeki MAM hedefli uygulama yapılandırması bölümüne bakın Microsoft IntuneiOS/iPadOS için Microsoft Intune uygulama yapılandırma ilkeleri.

Telemetri

Varsayılan olarak, IntuneiOS için Intune Uygulama SDK'sı aşağıdaki olay türlerinde telemetri toplar:

  • Uygulama başlatma: To help Microsoft IntuneMicrosoft Intune yönetim türüne göre (MDM ile MAM, MDM kaydı olmadan MAM, vb.) MAM etkin uygulama kullanımı hakkında bilgi edinin.

  • Kayıt çağrıları: İstemci tarafından başlatılan kayıt çağrılarının başarı oranı ve diğer performans ölçümleri hakkında bilgi edin Microsoft Intune yardımcı olmak için.

  • IntuneIntune actions: Sorunları tanılamaya yardımcı olmak ve IntuneIntune işlevselliğini sağlamak için IntuneIntune SDK eylemleri hakkında bilgi toplarız.

Not

Mobil uygulamanızdan IntuneIntune Uygulama SDK'sı telemetri verilerini Microsoft IntuneMicrosoft Intune'a göndermemeyi seçerseniz, IntuneIntune Uygulama SDK'sı telemetri yakalama özelliğini devre dışı bırakmanız gerekir. IntuneMAMSettings sözlüğünde özelliği MAMTelemetryDisabled YES olarak ayarlayın.

Siri Amaçları

Uygulamanız Siri Intents ile entegre oluyorsa veya Siri Intent Bağışları yapıyorsa, bu senaryoyu desteklemeyle ilgili talimatlar için lütfen şuradaki IntuneMAMPolicy.h yorumları areSiriIntentsAllowed okuduğunuzdan emin olun.

Not

iOS 16 ve sonraki sürümlerde, Swift Uygulama Amaçları oluşturmak için yeni bir Uygulama Amaçları sistem çerçevesi kullanılabilir. Uygulama Amacı uygulayan uygulamalar önce kullanıcı için IntuneMAMPolicy nesnesindeki özelliği denetlemelidir areSiriIntentsAllowed .

Uygulama Klipleri

Uygulamanız bir uygulama klibi hedefi içeriyorsa, uygulama klibinde hiçbir yönetilen verinin gösterilmediğini doğrulayın. Uygulama klibi, yönetilmeyen konum olarak değerlendirilmelidir. SDK'nın Uygulama Klipleri ile tümleştirmesi şu anda desteklenmiyor.

Baskı

Uygulamanız yazdırmayı uyguluyorsa ve özel bir menüde özel bir yazdırma eylemi sağlıyorsa, yazdırma eyleminizi özel menünüze eklemeniz gerekip gerekmediğini belirlemek için bunu kullandığınızdan UIPrintInteractionController.isPrintingAvailable() emin olun.

Ekran yakalama engelleme

SDK'nın Xcode 15'i için v19.7.6 veya üzeri ve Xcode 16'sı için v20.2.1 veya üzeri sürümlere güncelleştirilen uygulamalar için, "Tüm uygulamalar" dışında bir değere yapılandırdıysanız Send Org data to other apps ekran yakalama bloğu uygulanır. iOS cihazlarınızda ekran yakalamaya izin vermek istiyorsanız, uygulama yapılandırma ilkesi ayarını "com.microsoft.intune.mam.screencapturecontrol = Disabled" olarak yapılandırabilirsiniz.

Bildirimler

Uygulamanız bildirim alırsa, bu senaryoyu destekleme yönergeleri için lütfen açıklamaları notificationPolicyIntuneMAMPolicy.h okuduğunuzdan emin olun. Uygulamaların 'de IntuneMAMPolicyManager.haçıklandığı şekilde IntuneMAMPolicyDidChangeNotification kaydolması ve bu değeri anahtarlık aracılığıyla anahtarlık aracılığıyla iletmesi UNNotificationServiceExtension önerilir.

Safari web uzantıları

Uygulamanızın bir Safari web uzantısı varsa ve uzantı ile üst uygulama arasında veri göndermeyi destekliyorsa, bazı senaryolarda uygulamanızın verileri engellemeyi desteklemesi gerekebilir. Verileri engellemek için üst uygulamada API'yi isAppSharingAllowedIntuneMAMPolicy.hçağırın ve ardından web uzantısını engelleyin.

Derleme sonrası komut dosyası

IntuneMAMFrameworkPatcher komut satırı aracı artık uygulama derleme işleminin son adımı olarak çalıştırılmalıdır. Ancak bu araç, GitHub'da iOS için Intune Uygulama SDK'sının bir parçası olarak kullanılabilir.

Önemli

IntuneIntune MAM SDK'nın 17.7.1 sürümünden itibaren bu adım artık gerekli değildir. IntuneMAMFrameworkPatcher komut satırı aracının artık çalıştırılması gerekmez.

Komut satırı kullanımı

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

Parametreler:

  • i, r, v: Bu parametre, uygulama derleme işlemi için IntuneIntune MAM Framework Patcher'ı yüklemeyi, kaldırmayı veya doğrulamayı seçmenize olanak tanır.
  • path: Uygulamanın path.app dizininin kökü olmalıdır.
  • resign: Bu resign seçenek araca, ikiliye yama uygulamadan önce geçerli bir imzası olan ikili dosyaları imzalamasını bildirir. Bu seçenek, proje, son uygulama imzalamadan önce çalıştırılsa bile Ekle ve İmzala seçeneğiyle çerçeve bağımlılıkları veya eklentileri içeriyorsa veya araç son uygulama imzasından sonra çalıştırılsa kullanılmalıdır.
  • verbose: Bu verbose seçenek, aracın yama yapılan her ikili dosya hakkında bilgi çıkarmasına neden olur.

Diğer kullanımlar:

  • Yamayı kaldırın:

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

  • Yamayı doğrulayın:

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

Örnek komut dosyası:

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

SDK'yı kullanmaya başlama ve indirme hakkında daha fazla bilgi için bkz. Microsoft Intune Microsoft IntuneMicrosoft Intune Uygulama SDK'sı.

Çıkış Kriterleri

Kısıtlamalardan kaydetmeyi / açmayı doğrulama

Farklı kaydet ve şuradan aç denetimlerini uygulamadıysanız atlayın.

Uygulamanızın verileri bulut depolarına veya yerel konumlara kaydedebileceği ve bulut depolarından veya yerel konumlardan verileri açabileceği her senaryoyu yeniden tanıyın.

Kolaylık olması açısından, bu testler uygulamanızın yalnızca uygulama içinde tek bir konumdan OneDrive İş verileri kaydetme ve açma desteği içerdiğini varsayar. Ancak, her kombinasyonu doğrulamanız gerekir: uygulamanızın veri kaydetmeye izin verdiği her yere karşı desteklenen her kaydetme konumu ve uygulamanızın veri açmasına izin verdiği her yere karşı desteklenen her açık konum.

Bu testler için uygulamanızı yükleyin, SDK ile entegre edin ve teste başlamadan önce yönetilen bir hesapla oturum açın.

Ayrıca:

  • Yönetilen hesabın ilkesini şu şekilde ayarlayın:
    • "Kuruluş verilerini diğer uygulamalara gönder" ile "İlke tarafından yönetilen uygulamalar".
    • "Diğer uygulamalardan veri al" dan "İlke ile yönetilen uygulamalar"a.
Senaryo Ön koşullar Adımlar
Şuraya kaydet, tamamen izin ver "Kuruluş verilerinin kopyalarını kaydet" ilkesi "İzin Ver" olarak ayarlandı - Uygulamanızın verileri kaydedebileceği yere gidin OneDrive İşOneDrive İş.
- Bir belgeyi OneDrive İşOneDrive İş'e, uygulamanızda oturum açmış aynı yönetilen hesaba kaydetmeyi deneyin.
- Kaydetme işlemine izin verildiğini onaylayın.
Kaydet, muaf - "Kuruluş verilerinin kopyalarını kaydet" ilkesi "Engelle" olarak ayarlandı
- "Kullanıcının seçili hizmetlere kopya kaydetmesine izin ver" ilkesi yalnızca "OneDrive İşOneDrive İş" olarak ayarlanır
- Uygulamanızın verileri kaydedebileceği yere gidin OneDrive İşOneDrive İş.
- Bir belgeyi OneDrive İşOneDrive İş'e, uygulamanızda oturum açmış aynı yönetilen hesaba kaydetmeyi deneyin.
- Kaydetme işlemine izin verildiğini onaylayın.
- Uygulamanız izin veriyorsa dosyayı farklı bir bulut depolama konumuna kaydetmeyi deneyin ve engellendiğini onaylayın.
Şuraya kaydet, engelle "Kuruluş verilerinin kopyalarını kaydet" ilkesi "Engelle" olarak ayarlandı - Uygulamanızın verileri kaydedebileceği yere gidin OneDrive İşOneDrive İş.
- Bir belgeyi OneDrive İşOneDrive İş'e, uygulamanızda oturum açmış aynı yönetilen hesaba kaydetmeyi deneyin.
- Kaydetme işleminin engellendiğini onaylayın.
- Uygulamanız izin veriyorsa dosyayı farklı bir bulut depolama konumuna kaydetmeyi deneyin ve engellendiğini onaylayın.
Açık, tamamen izin veriliyor "Verileri Kuruluş belgelerinde aç" ilkesi "İzin Ver" olarak ayarlandı - Uygulamanızın OneDrive İş'ten verileri açabileceği yere gidinOneDrive İş.
- Uygulamanızın depolama alanında oturum açmış olan aynı yönetilen hesaptan OneDrive İş'dan bir belge açmaya çalışın.
- Açmaya izin verildiğini onaylayın.
Açık, muaf - "Verileri Kuruluş belgelerinde aç" politikası "Engelle" olarak ayarlandı
- "Kullanıcıların seçili hizmetlerden verileri açmasına izin ver" ilkesi yalnızca "OneDrive İşOneDrive İş" olarak ayarlanır
- Uygulamanızın OneDrive İş'ten verileri açabileceği yere gidinOneDrive İş.
- Uygulamanızın depolama alanında oturum açmış olan aynı yönetilen hesaptan OneDrive İş'dan bir belge açmaya çalışın.
- Açmaya izin verildiğini onaylayın.
- Uygulamanız izin veriyorsa farklı bir bulut depolama konumundan başka bir dosya açmayı deneyin ve engellendiğini onaylayın.
Açma yeri, engelleme "Verileri Kuruluş belgelerinde aç" ilkesi "Engelle" olarak ayarlandı - Uygulamanızın OneDrive İş'ten verileri açabileceği yere gidinOneDrive İş.
- Uygulamanızın depolama alanında oturum açmış olan aynı yönetilen hesaptan OneDrive İş'dan bir belge açmaya çalışın.
- Açık seçeneğin engellendiğini onaylayın.
- Uygulamanız izin veriyorsa farklı bir bulut depolama konumundan başka bir dosya açmayı deneyin ve engellendiğini onaylayın.

"Kopyala" eylemlerini doğrulama

'Kopyala' eylemlerini uygulamadıysanız atlayın.

Basitlik açısından, bu testler uygulamanızın yalnızca Microsoft WordWord, Excel vb. gibi Microsoft Office uygulamalarına veri kopyalama desteği içerdiğini varsayar. Ancak, her kombinasyonu doğrulamanız gerekir: uygulamanızın veri kopyalamaya izin verdiği her yere karşı desteklenen her kopyalama konumu.

Bu testler için uygulamanızı yükleyin, SDK ile entegre edin ve teste başlamadan önce yönetilen bir hesapla oturum açın.

Ayrıca:

  • Microsoft Word için bir Eylem Uzantısı ile 'Kopyala' eylemlerinin tüm tümleştirme adımlarını tamamladınız ve uygulamayı başarıyla derleyip çalıştırdınız.
  • Yönetilen hesabın ilkesini şu şekilde ayarlayın:
    • "Kuruluş verilerini diğer uygulamalara gönder" ile "İlke tarafından yönetilen uygulamalar".
Senaryo Ön koşullar Adımlar
Muaf tutulacak uygulamaları seçin, Yok "Kuruluş verilerini diğer uygulamalara gönder" ilkesi "İlke ile yönetilen uygulamalar" olarak ayarlandı - Uygulamanızın verileri Microsoft Word'a kopyalayabileceği konuma gidin ve bu veriler için paylaşım seçeneğini başlatın.
- Onaylayın "Kopyala Word" seçeneğini görmek yerine "Word'de aç" seçeneğini görebilirsiniz.
- "Word'da aç" seçeneğine basın ve aynı yönetilen hesapla oturum Word koşuluyla, belgenin başarıyla kopyalandığını ve görüntülendiğini onaylayın.

Yazdırma eylemlerini doğrulama

Yazdırma işlemini uygulamadıysanız atlayın.

Bu test için uygulamanızı yükleyin, SDK ile entegre edin ve teste başlamadan önce yönetilen bir hesapla oturum açın.

Ayrıca:

  • Yazdırma'dan itibaren tüm tümleştirme adımlarını tamamladınız ve uygulamayı başarıyla derleyip çalıştırdınız.
  • Uygulamanız, APP BT yöneticisinden yazdırmaya izin verilmediğinde durumu işlemek için uyarıları/eylem öğelerini zaten uygular. Bu testte, uygulamanızın yazdırma engellendiğinde son kullanıcılara bir uyarı isteyeceğini varsayarsak.
Senaryo Adımlar
Kuruluş verilerini yazdırma, Blok - Uygulamanızın verileri görüntüleyebileceği yere gidin ve bu veriler için paylaşma seçeneğini başlatın.
- "Yazdır" üzerine basın.
- Bir engelleme uyarısının göründüğünü ve yazdırmaya izin verilmediğini onaylayın.
Kuruluş verilerini yazdırma, İzin Ver - Uygulamanızın verileri görüntüleyebileceği yere gidin ve bu veriler için paylaşma seçeneğini başlatın.
- "Yazdır" üzerine basın.
- "Yazdır" görünümünün göründüğünü onaylayın, bir yazıcı seçebilir ve işlemi başarıyla tamamlayabilirsiniz.

Alıcı Uygulama Yapılandırmalarını doğrulama

iOS uygulamalarınız için hedefli uygulama yapılandırmasını etkinleştirmediyseniz atlayın.

IntuneIntune, uygulama yapılandırma ilkesi değerlerini uygulamanıza teslim etmekten sorumludur; daha sonra uygulamanız, uygulama içindeki davranışı veya kullanıcı arabirimini değiştirmek için bu değerleri kullanmaktan sorumludur. Kapsamlı uçtan uca testler her iki bileşeni de kapsamalıdır.

Intune uygulama yapılandırma ilkesini düzgün bir şekilde teslim ettiğini doğrulamak için:

  1. Uygulamanızı hedefleyen ve test hesabınıza dağıtılan bir uygulama yapılandırma ilkesi yapılandırın.
  2. Test hesabınızla uygulamanızda oturum açın.
  3. 'yi çağıran IntuneMAMAppConfigManagerher kod yolunu alıştırmak için uygulamanızda gezinin appConfigForIdentity.
    • Kendisine yapılan aramaların appConfigForIdentity sonuçlarını günlüğe kaydetmek, hangi ayarların teslim edildiğini doğrulamanın basit bir yoludur. Ancak, yöneticiler uygulama yapılandırma ayarları için herhangi bir veri girebildiğinden, özel kullanıcı verilerini günlüğe kaydetmemeye dikkat edin.
  4. Bkz. Uygulanan uygulama yapılandırma ilkesini doğrulama.

Uygulama yapılandırmaları uygulamaya özgü olduğundan, uygulamanızın her uygulama yapılandırma ayarı için davranışını veya kullanıcı arabirimini nasıl değiştirmesi gerektiğini yalnızca siz bilirsiniz.

Test ederken aşağıdakileri göz önünde bulundurun:

  • Uygulamanızın desteklediği her değerle farklı test uygulaması yapılandırma ilkesi oluşturarak tüm senaryoların kapsandığından emin olun.
  • Her ayar için farklı değerlere sahip birden çok test uygulaması yapılandırma ilkesi oluşturarak uygulamanızın çakışma çözme mantığını doğrulama.

Sonraki adımlar

Bu kılavuzu sırayla izlediyseniz ve yukarıdaki tüm Çıkış Kriterlerini tamamladıysanız, tebrikler, uygulamanız artık IntuneIntune Uygulama SDK'sı ile tamamen tümleşiktir ve uygulama koruma ilkelerini zorunlu tutabilir! Bunları uygulamanızla tümleştirmek için lütfen Aşama 5: Çoklu Kimlik,Aşama 6: Uygulama Koruması, Koşullu Erişim desteği ve Aşama 7: Web görünümü özellikleri gibi diğer önemli uygulama katılım özelliklerine göz atın.

Uygulama korumasıUygulama koruması artık uygulamanız için temel bir senaryodur. Uygulamanızı geliştirmeye devam ederken bu kılavuza ve Ek'e başvurmaya devam edin.