Share via


iOS için Intune Uygulama SDK'sı - Uygulama katılım özellikleri

iOS için Microsoft Intune Uygulama SDK'sı, Intune uygulama koruma ilkelerini (APP veya MAM ilkeleri olarak da bilinir) yerel iOS uygulamanıza eklemenizi sağlar. Intune yönetilen uygulama, Intune Uygulama SDK'sı ile tümleştirilmiş uygulamadır. Intune yöneticileri, Intune uygulamayı etkin bir şekilde yönettiğinde uygulama koruma ilkelerini Intune yönetilen uygulamanıza kolayca dağıtabilir.

Not

Bu kılavuz birkaç ayrı aşamaya ayrılmıştır. Tümleştirmeyi Planlama'ya bakarak başlayın.

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

Aşama Goals

  • Intune Uygulama SDK'sı tarafından sunulan çeşitli uygulama katılım özellikleri hakkında bilgi edinin.
  • Uygulamanız ve kullanıcılarınız ile ilgili uygulama katılım özelliklerini tümleştirin.
  • Bu özelliklerin tümleştirmesini test edin.

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

Bu SDK tümleştirme işlemi, geliştiricilerin yazması gereken uygulamaya özgü kod miktarını en aza indirmeyi dener. SDK tümleştirmesinin önceki aşamalarını başarıyla tamamlayarak 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 zorunlu kılabilir.

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

Uygulama katılım özellikleri isteğe bağlı olmayabilir. Uygulamanızın mevcut özelliklerine bağlı olarak bu özellikler gerekebilir.

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

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

  • İzin Verilen Hesapları Uygulama
  • Dosya Şifrelemesi Gerekli Uygulama
  • Farklı kaydet ve açık denetimler uygulama
  • UIActivityViewController aracılığıyla Veri Paylaşma
  • iOS uygulamalarınız için hedeflenen yapılandırmayı (APP/MAM uygulama yapılandırması) etkinleştirme
  • Telemetri
  • Siri Amaçları
  • Uygulama Klipleri
  • Baskı
  • Bildirim
  • Derleme sonrası betiği

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

Intune Uygulama SDK'sı, uygulamaya dağıtılan Intune APP ilkesi hakkında bilgi almak için çağırabileceğiniz çeşitli API'lere sahiptir. Uygulamanızın davranışını özelleştirmek için bu verileri kullanabilirsiniz. Aşağıdaki tabloda, kullandığınız bazı temel Intune sınıfları hakkında bilgi verilmektedir.

Sınıfı Açıklama
IntuneMAMPolicyManager.h IntuneMAMPolicyManager sınıfı, uygulamaya dağıtılan Intune APP ilkesini kullanıma sunar. Özellikle, çoklu kimliği etkinleştirme için yararlı olan API'leri kullanıma sunar.
IntuneMAMPolicy.h IntuneMAMPolicy sınıfı, uygulamaya uygulanan bazı MAM ilkesi 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 uygulanır. Ancak, bazı istisnalar vardır. Uygulama geliştiricileri, hangi API'lerin uygulama senaryolarına uygulandığını belirlemek için bu üst bilgideki açıklamaları gözden geçirmelidir.
IntuneMAMFileProtectionManager.h IntuneMAMFileProtectionManager sınıfı, uygulamanın sağlanan bir kimliğe göre dosyaları ve dizinleri açıkça güvenli bir şekilde güvenli bir şekilde sağlamak için kullanabileceği API'leri kullanıma sunar. Kimlik Intune veya yönetilmeyen tarafından yönetilebilir 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 veya yönetilmeyen tarafından yönetilebilir ve SDK şifrelemeyi uygun şekilde uygular.

İzin Verilen Hesapları Uygulama

Intune, BT yöneticilerinin kullanıcı tarafından oturum açabilecek hesapları belirtmesine 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 IntuneMAMEnrollmentManagerözelliğini denetlemelidirallowedAccounts. allowedAccounts özelliği, izin verilen hesapları veya sıfırı içeren bir dizidir. Özellik sıfır ise, izin verilen hiçbir hesap belirtilmemiştir. MSAL/OneAuth özellikli uygulamalar ObjectId'yi sorgulamak için örnekteki IntuneMAMEnrollmentManager özelliğini kullanmalıdırallowedAccountIds.

Uygulamalar, bildirimi gözlemleyerek özelliğin değişikliklerine allowedAccountsIntuneMAMAllowedAccountsDidChangeNotification de tepki verebilir. Özellik değerde her allowedAccounts değiştiğinde bildirim gönderilir.

İzin verilen hesaplar için API'ler kullanılı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 hem de OID'i desteklemelidir.
  • Yönetici tarafından belirtilen hesap ile kullanıcı tarafından girilen hesap arasındaki uyuşmazlığı tanılamak için uygulamanın günlüğe kaydetmesi gerekir.

Dosya Şifrelemesi Gerekli Uygulama

isFileEncryptionRequired içinde IntuneMAMPolicy.h tanımlanan API, BT yöneticisi uygulamaların diske kaydedilmiş tüm dosyalarda Intune şifreleme kullanmasını gerektirdiğinde uygulamaları bilgilendirmektedir. DoğruysaisFileEncryptionRequired, uygulama tarafından diske kaydedilen tüm dosyaların , IntuneMAMFileProtectionManager.hve IntuneMAMFDataProtectionManager.hiçindeki API'ler kullanılarak şifrelendiğinden emin olmak uygulamanın sorumluluğundadırIntuneMAMFile.h.

Uygulamalar, içinde tanımlanan IntuneMAMFDataProtectionManager.hbildirimi gözlemleyerek bu ilkedeki değişikliklere IntuneMAMDataProtectionDidChangeNotification tepki verebilir.

Farklı kaydet ve açık denetimler uygulama

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

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

Not

MAM SDK v15.1.0 itibarıyla iç davranışta değişiklikler yapılmıştır.

  • Bir nil hesap artık LocalDrive/LocalStorage konumları için geçerli hesap olarak değerlendirilmez. Bir nil hesabın geçirilmesi, hesabın yönetilmeyen bir hesap olarak değerlendirilmesini sağlayacaktır. Uygulamalar korumalı alan depolamalarını nasıl işlediklerini denetleyebileceğinden, bir kimlik bu konumlarla ilişkilendirilebilir ve ilişkilendirilmelidir.
  • Bir nil hesap artık tek kimlikli uygulamalar için geçerli hesap olarak değerlendirilmez. Tek kimlikli bir nil uygulamada bir hesap geçirmek artık çok kimlikli bir uygulamaya geçirildiği gibi tam olarak aynı şekilde ele alınacaktır. Tek kimlikli bir uygulama geliştiriyorsanız, yönetiliyorsa geçerli hesaba başvurmak ve nil yönetilmediyse geçerli hesaba başvurmak için lütfen 'leri kullanın.IntuneMAMPolicyprimaryUser

Kaydetme senaryolarını işleme

Verileri yeni bir bulut depolama alanına veya yerel konuma taşımadan önce, BT yöneticisinin veri aktarımına isSaveToAllowedForLocation:withAccountId: izin verilip verilmediğini öğrenmek için uygulamanın API'ye bakması gerekir. Bu yöntem bir IntuneMAMPolicy nesnede çağrılır. Düzenlenip yerinde kaydedilen verilerin bu API ile denetlenmesi gerekmez.

Not

IntuneMAMPolicy nesnesi, kaydedilen verilerin sahibinin ilkelerini temsil etmelidir. Belirli bir kimliğin IntuneMAMPolicy nesnesini almak için yöntemini çağırınIntuneMAMPolicyManagerpolicyForAccountId:. Sahip, kimliği olmayan yönetilmeyen bir hesapsa içine nil geçirilebilir policyForAccountId:. Kaydedilen veriler kuruluş verileri isSaveToAllowedForLocation:withAccountId: olmasa bile çağrılmalıdır. Hedef konuma sahip olan hesap, gelen yönetilmeyen verileri kısıtlayan ilkelere sahip olmaya devam edebilir.

isSaveToAllowedForLocation:withAccountId: yöntemi iki bağımsız değişken alır. İlk bağımsız değişken, içinde IntuneMAMPolicy.htanımlanan türün IntuneMAMSaveLocation bir sabit listesi değeridir. İkinci bağımsız değişken, konumun sahibi olan kimliğin UPN değeridir. Sahip bilinmiyorsa, nil bunun yerine kullanılabilir.

Desteklenen kaydetme konumları

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

  • IntuneMAMSaveLocationOneDriveForBusiness- Bu konum OneDrive İş konumları 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 Karma Modern Kimlik Doğrulama 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ı depolama alanını temsil eder. Bu konum, dosya seçici aracılığıyla kaydetmek veya bir paylaşım uzantısı aracılığıyla dosyalara kaydetmek için kullanılmamalıdır. Bir kimlik uygulama korumalı alanı depolamasıyla ilişkilendirilebiliyorsa, ikinci bağımsız değişken olarak geçirilmelidir. Kimlik yoksa, nil bunun yerine geçirilmelidir. Ö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, yalnızca nil bu konum kullanıldığında ikinci bağımsız değişken olarak geçirilmelidir.
  • IntuneMAMSaveLocationAccountDocument - Bu konum, daha önce listelenmeyen ve yönetilen 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, bir kuruluşun kuruluş hesabına bağlı LOB bulut hizmetine fotoğraf yükleme.
  • IntuneMAMSaveLocationOther - Bu konum, daha önce listelenmeyen herhangi bir düzenleme dışı konumu veya bilinmeyen herhangi bir konumu temsil eder. Bir hesap konumla ilişkiliyse, ikinci bağımsız değişken olarak geçirilmelidir. Aksi takdirde, nil bunun yerine kullanılmalıdır.
Kaydetme konumları için dikkat edilmesi gereken özel noktalar

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

Hedef konum listelenmiyorsa IntuneMAMSaveLocationAccountDocument veya IntuneMAMSaveLocationOther 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 kuruluş verileri içermiyorsa, IntuneMAMSaveLocationOther konum kullanılmalıdır.

Açık senaryoları işleme

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

Not

nesnesi, IntuneMAMPolicy verileri alan kimliğin ilkelerini temsil etmelidir. Belirli bir kimliğin IntuneMAMPolicy nesnesini almak için yöntemini çağırınIntuneMAMPolicyManagerpolicyForAccountId:. Alıcı hesap kimliği olmayan yönetilmeyen bir hesapsa içine nil geçirilebilir policyForAccountId:. Alınan veriler kuruluş verileri isOpenFromAllowedForLocation:withAccountId: olmasa bile çağrılmalıdır. Verilere sahip olan hesap, giden veri aktarımlarının hedeflerini kısıtlayan ilkelere sahip olmaya devam edebilir.

isOpenFromAllowedForLocation:withAccountId: yöntemi iki bağımsız değişken alır. İlk bağımsız değişken, içinde IntuneMAMPolicy.htanımlanan türün IntuneMAMOpenLocation bir sabit listesi değeridir. İkinci bağımsız değişken, konumun sahibi olan kimliğin UPN değeridir. Sahip bilinmiyorsa, nil bunun yerine kullanılabilir.

Desteklenen açık konumlar

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

  • IntuneMAMOpenLocationOneDriveForBusiness- Bu konum OneDrive İş konumları 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 Karma Modern Kimlik Doğrulama 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 kamerayla ilişkilendirilmiş bir hesap olmadığından, yalnızca nil bu konum kullanıldığında ikinci bağımsız değişken olarak geçirilmelidir. iOS Fotoğraf Kitaplığı'ndan veri açmak için kullanın IntuneMAMOpenLocationPhotos.
  • IntuneMAMOpenLocationPhotos - Bu konum yalnızca iOS Fotoğraf Kitaplığı içindeki mevcut görüntüleri temsil eder. iOS Fotoğraf Kitaplığı ile ilişkilendirilmiş bir hesap olmadığından, yalnızca nil bu konum kullanıldığında ikinci bağımsız değişken olarak geçirilmelidir. Doğrudan iOS kameradan alınan görüntüleri açmak için kullanın IntuneMAMOpenLocationCamera.
  • IntuneMAMOpenLocationLocalStorage - Bu konum, yalnızca uygulama tarafından erişilebilen uygulama korumalı alanı depolama alanını temsil eder. Bu konum, dosya seçiciden dosya açmak veya openURL'den gelen dosyaları işlemek için kullanılmamalıdır. Bir kimlik uygulama korumalı alanı depolamasıyla ilişkilendirilebiliyorsa, ikinci bağımsız değişken olarak geçirilmelidir. Kimlik yoksa, nil bunun yerine geçirilmelidir. Ö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 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, bir kuruluşun kuruluş hesabına bağlı LOB bulut hizmetinden bir fotoğraf indirme.
  • IntuneMAMOpenLocationOther - Bu konum, daha önce listelenmeyen herhangi bir düzenleme dışı konumu veya bilinmeyen herhangi bir konumu temsil eder. Bir hesap konumla ilişkiliyse, 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 özel 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 dosya seçici aracılığıyla açılıp açılamadığını denetlemek için veya Dosyalar uygulamasında IntuneMAMOpenLocationOther verilerin de erişilebilir olduğu başka bir yöntem kullanılmalıdır.

Hedef konum listelenmiyorsa IntuneMAMOpenLocationAccountDocument veya IntuneMAMOpenLocationOther kullanılmalıdır. Konumda yönetilen hesap kullanılarak erişilen kuruluş verileri varsa. Örneğin, kuruluş verilerini IntuneMAMOpenLocationAccountDocument depolamak için LOB bulut hizmeti kullanılmalıdır. Konum kuruluş verileri içermiyorsa, IntuneMAMSaveLocationOther konum kullanılmalıdır.

Gelen NSItemProviders ve Dosyaları İşleme

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

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

Paylaşım engellendi uyarısı

VEYA isOpenFromAllowedForLocation:withAccountId: API'si çağrıldığında ve kaydetme/açma eylemini isSaveToAllowedForLocation:withAccountId: engelleyecek şekilde bulunduğunda kullanıcı arabirimi yardımcı işlevi kullanılabilir. Uygulama kullanıcıya eylemin engellendiğini bildirmek isterse, genel bir iletiyle bir uyarı görünümü sunmak için içinde tanımlanan API'yi IntuneMAMUIHelper.h çağırabilirshowSharingBlockedMessage.

UIActivityViewController aracılığıyla Veri Paylaşma

8.0.2 sürümünden başlayarak Intune Uygulama SDK'sı eylemleri filtreleyebilir UIActivityViewController ve böylece yalnızca yönetilen Intune paylaşım konumlarını seçebilirsiniz. Bu davranış, uygulama veri aktarımı ilkesi tarafından denetlenecektir.

'Kopyala' eylemleri

ve UIDocumentInteractionControlleraracılığıyla belge paylaşırken iOS, paylaşılmakta olan belgeyi UIActivityViewController açmayı destekleyen her uygulama için 'Kopyala' eylemlerini görüntüler. Uygulamalar, info.plist dosyasındaki CFBundleDocumentTypes ayar aracılığıyla destekledikleri belge türlerini bildirir. İlke yönetilmeyen uygulamalara paylaşımı yasaklarsa 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 saptamadır. SDK, dosya paylaşım davranışını uygular. Aşağıdaki adımları izleyin:

  1. Uygulamanızın Info.plist CFBundleURLTypes dosyasında en az bir schemeURL'nin yanı sıra karşılık gelenin de -intunemam tanımlanmış olması gerekir. Örneğin:

    <key>CFBundleURLSchemes</key>
     <array>
     	<string>launch-com.contoso.myapp</string>
     	<string>launch-com.contoso.myapp-intunemam</string>
     </array>
    
  2. Hem uygulamanızın hem de eylem uzantınızın en az bir Uygulama Grubunu paylaşması ve Uygulama Grubu'nun uygulamanın ve uzantının AppGroupIdentifiers IntuneMAMSettings sözlüklerinin altındaki dizi altında listelenmiş olması gerekir.

  3. Hem uygulama hem de eylem uzantınızın Anahtar Zinciri Paylaşımı özelliğine sahip olması ve anahtarlık grubunu paylaşması com.microsoft.intune.mam gerekir.

  4. Eylem uzantısını "Aç" olarak adlandırın ve ardından uygulama adını ekleyin. Info.plist dosyasını gerektiği gibi yerelleştirin.

  5. Apple'ın geliştirici belgelerinde açıklandığı gibi uzantı için bir şablon simgesi sağlayın. Alternatif olarak, IntuneMAMConfigurator aracı uygulama .app dizininden bu görüntüleri oluşturmak için kullanılabilir. Bunu yapmak için şunu ç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ğerine sahip adlı OpenInActionExtension bir Boole ayarı ekleyin.

  7. uygulamasını NSExtensionActivationRule tek bir dosyayı ve uygulamanın CFBundleDocumentTypes ön ekli com.microsoft.intune.mamtüm türlerini destekleyecek şekilde yapılandırın. Örneğin, uygulama public.text ve public.image'yi destekliyorsa etkinleştirme kuralı şu şekilde olacaktır:

    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 Eylem uzantılarını güncelleştirme

Uygulamanız zaten Paylaş 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 ön ekli com.microsoft.intune.mambir tür ekleyin. Örneğin, mevcut etkinleştirme kuralı şuysa:

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ı, etkinleştirme kuralına Intune türlerini eklemek için kullanılabilir. Mevcut etkinleştirme kuralınız önceden tanımlanmış dize sabitlerini kullanıyorsa. Örneğin, NSExtensionActivationSupportsFileWithMaxCount, NSExtensionActivationSupportsText vb. koşul söz dizimi oldukça karmaşık olabilir. IntuneMAMConfigurator aracı, Intune türlerini eklerken etkinleştirme kuralını dize sabitlerinden bir 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şma - iOS eski paylaşım kullanıcı arabirimi

Yeni kullanıcı arabirimi:

Veri paylaşma - iOS yeni paylaşım kullanıcı arabirimi

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

MAM hedefli yapılandırma (MAM uygulama yapılandırması olarak da bilir), uygulamanın Intune SDK aracılığıyla yapılandırma verilerini almasına olanak tanır. Bu verilerin biçimi ve varyantları tanımlanmalı ve uygulama sahibi/geliştirici tarafından 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 Uygulama 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 MAM Hizmetimiz aracılığıyla MDM kanalı yerine doğrudan uygulamaya gönderilir. Intune Uygulama SDK'sı, bu konsollardan alınan verilere erişmek için bir sınıf sağlar. Aşağıdaki öğeler önkoşullardır:

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

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

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

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

Graph API özellikleri hakkında daha fazla bilgi için bkz. Graph API Başvurusu.

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

Telemetri

Varsayılan olarak, iOS için Intune Uygulama SDK'sı aşağıdaki olay türlerine ilişkin telemetri verilerini toplar:

  • Uygulama başlatma: Microsoft Intune yönetim türüne göre MAM özellikli uygulama kullanımı hakkında bilgi edinmelerine yardımcı olmak için (MDM ile MAM, MDM kaydı olmadan MAM vb.).

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

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

Not

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

Siri Amaçları

Uygulamanız Siri Amaçları ile tümleştirildiyse veya Siri Amacı Bağışları yapıyorsa, bu senaryoyu destekleme yönergeleri için areSiriIntentsAllowed lütfen içindeki IntuneMAMPolicy.h yorumlarını okuduğunuzdan emin olun.

Not

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

Uygulama Klipleri

Uygulamanız bir uygulama klibi hedefi içeriyorsa, uygulama klibinde hiçbir yönetilen veri sunulmadığını doğrulamayı unutmayın. Uygulama klibi yönetilmeyen bir konum olarak kabul edilmelidir. Uygulama Klipleri ile SDK tümleştirmesi şu anda desteklenmiyor.

Baskı

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

Bildirim

Uygulamanız bildirim alıyorsa, bu senaryoyu destekleme yönergeleri için notificationPolicyIntuneMAMPolicy.h içindeki yorumlarını okuduğunuzdan emin olun. Uygulamaların içinde IntuneMAMPolicyManager.haçıklanan için IntuneMAMPolicyDidChangeNotification kaydolması ve bu değeri anahtarlık aracılığıyla kendilerine UNNotificationServiceExtension iletmesi önerilir.

Safari web uzantıları

Uygulamanızın safari web uzantısı varsa ve uzantı ile üst uygulama arasında veri göndermeyi destekliyorsa, bazı senaryolarda uygulamanızın verilerin engellenmesini desteklemesi gerekebilir. Verileri engellemek için, üst uygulamada API'yi içinde IntuneMAMPolicy.hçağırın isAppSharingAllowed ve ardından web uzantısını engelleyin.

Derleme sonrası betiği

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

Önemli

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

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 INTUNE MAM Framework Patcher'ı yüklemeyi, kaldırmayı veya doğrulamayı seçmenizi sağlar.
  • path: uygulamanın path.app dizininin kökü olmalıdır.
  • resign: seçeneği, resign araçta ikili dosyaya düzeltme eki uygulamadan önce geçerli bir imzaya sahip olan ikili dosyaları bırakmasını emreder. Proje, son uygulama imzalamadan önce çalıştırıldığında veya araç son uygulama imzalamadan sonra çalıştırıldığında bile Ekle ve İmzala seçeneğine sahip çerçeve bağımlılıkları veya eklentiler içeriyorsa bu seçenek kullanılmalıdır.
  • verbose: Bu verbose seçenek, aracın düzeltme eki yapılan her ikili dosya hakkında bilgi vermesine neden olur.

Diğer kullanımlar:

  • Düzeltme ekini kaldırın:

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

  • Düzeltme ekini doğrulayın:

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

Örnek betik:

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 Uygulama SDK'sını kullanmaya başlama.

Çıkış Ölçütleri

Kısıtlamaların kaydedilip açılması doğrulanıyor

Farklı kaydetme ve açma denetimleri uygulamadıysanız atlayın.

Uygulamanızın bulut depolamalarına veya yerel konumlara veri kaydedebildiği ve bulut depolamalarından veya yerel konumlardan veri açabildiği her senaryoyla kendinizi yeniden öğrenin.

Kolaylık olması için bu testlerde uygulamanızın yalnızca uygulama içindeki tek bir konumdan OneDrive İş verileri kaydetme ve açma desteği içerdiği varsayılır. Ancak, her birleşimi doğrulamanız gerekir: uygulamanızın veri kaydetmeye izin verdiği her yerde desteklenen her kaydetme konumu ve uygulamanızın verileri açmaya izin verdiği her yerde desteklenen her açık konum.

Bu testler için uygulamanızı yükleyin, SDK ile tümleştirin 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", "İlkeyle yönetilen uygulamalar".
    • "Diğer uygulamalardan veri alma" için "İlkeyle yönetilen uygulamalar" seçeneğine gidin.
Senaryo Önkoşulları Adımlar
Kaydetmeye, tam olarak izin verilir "Kuruluş verilerinin kopyalarını kaydet" ilkesi "İzin Ver" olarak ayarlandı - Uygulamanızın verileri OneDrive İş kaydedebileceği yere gidin.
- Belgeyi uygulamanızda oturum açmış olan yönetilen hesaba OneDrive İş kaydetmeyi deneme.
- Kaydetmeye izin verildiğinden emin olarak.
Kaydedilecek, muaf tutulacak - "Kuruluş verilerinin kopyalarını kaydet" ilkesi "Engelle" olarak ayarlandı
- "Kullanıcının seçili hizmetlere kopya kaydetmesine izin ver" ilkesi yalnızca "OneDrive İş" olarak ayarlanmış
- Uygulamanızın verileri OneDrive İş kaydedebileceği yere gidin.
- Belgeyi uygulamanızda oturum açmış olan yönetilen hesaba OneDrive İş kaydetmeyi deneme.
- Kaydetmeye izin verildiğinden emin olarak.
- Uygulamanız izin veriyorsa dosyayı farklı bir bulut depolama konumuna kaydetmeyi ve engellendiğini onaylamayı dener.
Kaydet, engellendi "Kuruluş verilerinin kopyalarını kaydet" ilkesi "Engelle" olarak ayarlandı - Uygulamanızın verileri OneDrive İş kaydedebileceği yere gidin.
- Belgeyi uygulamanızda oturum açmış olan yönetilen hesaba OneDrive İş kaydetmeyi deneme.
- Kaydetmenin engellendiğini onaylayın.
- Uygulamanız izin veriyorsa dosyayı farklı bir bulut depolama konumuna kaydetmeyi ve engellendiğini onaylamayı dener.
Açık, tam olarak izin verilen "Verileri Kuruluş belgelerinde aç" ilkesi "İzin Ver" olarak ayarlandı - Uygulamanızın verileri OneDrive İş açabileceği yere gidin.
- Uygulamanızın depolama alanına oturum açmış olan yönetilen hesaptan OneDrive İş bir belge açmayı deneme.
- Açma izninin olduğunu onaylayın.
Açık, muaf - "Verileri Kuruluş belgelerine aç" ilkesi "Engelle" olarak ayarlandı
- "Kullanıcıların seçili hizmetlerden veri açmasına izin ver" ilkesi yalnızca "OneDrive İş" olarak ayarlanır
- Uygulamanızın verileri OneDrive İş açabileceği yere gidin.
- Uygulamanızın depolama alanına oturum açmış olan yönetilen hesaptan OneDrive İş bir belge açmayı deneme.
- Açma izninin olduğunu onaylayın.
- Uygulamanız izin veriyorsa farklı bir bulut depolama konumundan başka bir dosya açmayı deneyin ve engellendiğini onaylayın.
Açık, engellenmiş "Verileri Kuruluş belgelerine aç" ilkesi "Engelle" olarak ayarlandı - Uygulamanızın verileri OneDrive İş açabileceği yere gidin.
- Uygulamanızın depolama alanına oturum açmış olan yönetilen hesaptan OneDrive İş bir belge açmayı deneme.
- Açmanın 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.

Kolaylık olması için bu testlerde uygulamanızın yalnızca Microsoft Word, Excel gibi Microsoft Office uygulamalarına veri kopyalama desteği içerdiği varsayılır. Ancak her bileşimi doğrulamanız gerekir: uygulamanızın veri kopyalamaya izin verdiği her yerde desteklenen her kopya konumu.

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

Ayrıca:

  • Microsoft Word için Eylem Uzantısı ile 'Kopyala' eylemlerinin tümleştirme adımları tamamlandı ve uygulamayı başarıyla derleyip çalıştırın.
  • Yönetilen hesabın ilkesini şu şekilde ayarlayın:
    • "Kuruluş verilerini diğer uygulamalara gönder", "İlkeyle yönetilen uygulamalar".
Senaryo Önkoşulları Adımlar
Muaf tutulacak uygulamaları seçin, Yok "Kuruluş verilerini diğer uygulamalara gönder" ilkesi "İlkeyle yönetilen uygulamalar" olarak ayarlandı - Uygulamanızın Microsoft Word'a veri kopyalayabileceği yere gidin ve bu veriler için paylaşım seçeneğini başlatın.
- Bir seçenek olarak "Word Kopyala" seçeneğini görmek yerine onaylayın, "Word'da aç" ifadesini görebilirsiniz.
- "Word'de aç" düğmesine basın ve aynı yönetilen hesapla oturum Word belgenin başarıyla kopyalanıp görüntülendiğini onaylayın.

Yazdırma eylemlerini doğrulama

Yazdırma uygulamadıysanız atlayın.

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

Ayrıca:

  • Uygulamayı yazdırma ve derleme ve çalıştırma ile ilgili tümleştirme adımları başarıyla tamamlandı.
  • Uygulamanız, APP BT yöneticisinden yazdırmaya izin verilmediğinde olayı işlemek için zaten uyarılar/eylem öğeleri uyguluyor. Bu testte, yazdırma engellendiğinde uygulamanızın son kullanıcılara bir uyarı soracağını varsayarsak.
Senaryo Adımlar
Kuruluş verilerini yazdırma, Engelle - Uygulamanızın verileri görüntüleyebileceği yere gidin ve bu veriler için paylaşım seçeneğini başlatın.
- "Yazdır" düğmesine basın.
- Blok 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şım seçeneğini başlatın.
- "Yazdır" düğmesine basın.
- "Yazdır" görünümünün göründüğünü onaylayın ve bir yazıcı seçip eylemi başarıyla tamamlayabilirsiniz.

Uygulama Yapılandırmalarını alma doğrulama

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

Intune, uygulama yapılandırma ilkesi değerlerini uygulamanıza teslim etmekle sorumludur; daha sonra, uygulama içindeki davranışı veya kullanıcı arabirimini değiştirmek için bu değerleri kullanmak uygulamanızdan sorumludur. Kapsamlı uçtan uca test 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. uygulamasını çağıran IntuneMAMAppConfigManagerher kod yolu için uygulamanızda gezinin appConfigForIdentity.
    • Arama sonuçlarını günlüğe appConfigForIdentity kaydetmek, hangi ayarların teslim edildiklerini 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ışı veya kullanıcı arabirimini nasıl değiştireceğini nasıl doğrulayabileceğinizi 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 ele alınmasını sağlama.
  • Her ayar için farklı değerlerle birden çok test uygulaması yapılandırma ilkesi oluşturarak uygulamanızın çakışma çözümleme mantığını doğrulama.

Sonraki Adımlar

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

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