Intune App Wrapping Tool ile iOS Uygulamalarını Uygulama Koruma İlkeleri için Hazırlama

Uygulamanın kodunu değiştirmeden şirket içi iOS uygulamaları için Intune uygulama koruma ilkelerini etkinleştirmek için iOS için Microsoft Intune App Wrapping Tool kullanın.

Araç, bir uygulamanın çevresinde sarmalayıcı oluşturan bir macOS komut satırı uygulamasıdır. Bir uygulama işlendikten sonra uygulama koruma ilkelerini dağıtarak uygulamanın işlevselliğini değiştirebilirsiniz.

Aracı indirmek için bkz. GitHub'da iOS için Microsoft Intune App Wrapping Tool.

Not

Uygulamalarınızla Intune App Wrapping Tool kullanma konusunda sorun yaşıyorsanız GitHub'da yardım isteği gönderin.

App Wrapping Tool için genel önkoşullar

App Wrapping Tool çalıştırmadan önce bazı genel önkoşulları yerine getirmeniz gerekir:

  • GitHub'dan iOS için Microsoft Intune App Wrapping Tool indirin.

  • Xcode araç takımı sürüm 16.0 veya üzeri yüklü bir macOS bilgisayar.

  • Şirketinizin veya bağımsız bir yazılım satıcısının (ISV) giriş iOS uygulamasını geliştirmesi ve imzalaması gerekir.

    • Dosya .ipa veya .app uzantısına sahip olmalıdır.

    • iOS 16.0 veya üzeri için derlenmelidir.

    • şifrelenemez.

    • Genişletilmiş dosya özniteliği yok.

    • Uygulamayı Intune App Wrapping Tool işlemeden önce yetkilendirmeleri ayarlayın. Yetkilendirmeler , uygulamaya normalde verilen izinlerin ötesinde daha fazla izin ve özellik sağlar. Yönergeler için bkz. Uygulama yetkilendirmelerini ayarlama .

  • Sistem anahtar zincirinizde geçerli imzalama sertifikaları olduğundan emin olun. Uygulama kod imzalama sorunlarınız varsa çözmek için aşağıdaki adımları kullanın:
    • Tüm ilgili sertifikalar için güven ayarlarını sıfırlama
    • Ara sertifikaları sistem anahtar zincirine yükleme ve oturum açma anahtar zinciri
    • tüm ilgili sertifikaları kaldırma ve yeniden yükleme

Uygulamanızı Microsoft Entra ID kaydetme

  1. Uygulamalarınızı Microsoft Entra ID kaydedin. Daha fazla bilgi için bkz. Uygulamayı Microsoft kimlik platformu kaydetme.
  2. Uygulama ayarlarınıza özel yeniden yönlendirme URL'sini ekleyin. Daha fazla bilgi için bkz . MSAL'yi yapılandırma.
  3. Uygulamanızın Intune MAM hizmetine erişmesini sağlayın. Daha fazla bilgi için bkz. Uygulamanızın Intune Mobil Uygulama Yönetimi hizmetine erişmesini sağlama.
  4. Yukarıdaki değişiklikler tamamlandıktan sonra Intune Uygulama Sarmalama aracının en son sürümünü çalıştırın. Uygulamalarınızı Microsoft Kimlik Doğrulama Kitaplığı (MSAL) için yapılandırma: Intune App Wrapping Tool ile komut satırı parametrelerine Microsoft Entra uygulama istemci kimliğini ekleyin. Daha fazla bilgi için bkz. Komut satırı parametreleri.

Not

ve -ar parametreleri -ac gerekli parametrelerdir. Her uygulamanın bu parametrelerin benzersiz bir kümesine ihtiyacı vardır. -aa yalnızca tek kiracılı uygulamalar için gereklidir.

  1. Uygulamayı dağıtın.

App Wrapping Tool için Apple Geliştirici önkoşulları

Sarmalanmış uygulamaları yalnızca kuruluşunuzun kullanıcılarına dağıtmak için , Apple Geliştirici Kurumsal Programı'na ve Apple Geliştirici hesabınıza bağlı uygulama imzalamaya yönelik çeşitli varlıklara sahip bir hesaba ihtiyacınız vardır.

iOS uygulamalarını kuruluşunuzun kullanıcılarına dahili olarak dağıtma hakkında daha fazla bilgi edinmek için Apple Geliştirici Kurumsal Program Uygulamalarını Dağıtma resmi kılavuzunu okuyun.

Intune tarafından sarmalanan uygulamaları dağıtmak için aşağıdakilere ihtiyacınız vardır:

  • Apple Geliştirici Kurumsal Programı ile bir geliştirici hesabı.

  • Geçerli Takım Tanımlayıcısı ile şirket içi ve geçici dağıtım imzalama sertifikası.

    • Intune App Wrapping Tool parametresi olarak imzalama sertifikasının SHA1 karması gerekir.
  • Şirket içi dağıtım sağlama profili.

Apple Developer Enterprise hesabı oluşturma

  1. Apple Developer Enterprise Program sitesine gidin.

  2. Sayfanın sağ üst kısmında Kaydet'i seçin.

  3. Kaydetmeniz gerekenler denetim listesini okuyun. Sayfanın alt kısmındaki Kaydınızı Başlat'ı seçin.

  4. Kuruluşunuzun Apple Hesabı ile oturum açın. Hesabınız yoksa Apple Hesabı Oluştur'u seçin.

  5. Varlık Türünüzü seçin ve Devam'ı seçin.

  6. Formu kuruluşunuzun bilgileriyle doldurun. Devam'ı seçin. Bu noktada Apple, kuruluşunuzu kaydetme yetkinizin olduğunu doğrulamak için sizinle iletişim kurar.

  7. Doğrulamadan sonra Lisansı Kabul Et'i seçin.

  8. Lisans kabul ettikten sonra , programı satın alarak ve etkinleştirerek tamamlayın.

  9. Ekip aracısıysanız (kuruluşunuz için Apple Geliştirici Kurumsal Programı'na katılan kişi), ekip üyelerini davet edin ve ekibinizi oluşturmak için roller atayın. Ekibinizin nasıl yönetileceğini öğrenmek için Geliştirici Hesabı Ekibinizi Yönetme hakkındaki Apple belgelerini okuyun.

Apple imzalama sertifikası oluşturma

  1. Apple Geliştirici portalına gidin.

  2. Sayfanın sağ üst kısmında Hesap'ı seçin.

  3. Kuruluş Apple Hesabınızla oturum açın.

  4. Sertifikalar, Kimlikler & Profiller'i seçin.

    Apple Geliştirici portalı - Sertifikalar, kimlikler & Profilleri

  5. Apple Geliştirici portalı ve sağ üst köşedeki oturum açma seçeneğini belirleyin. Bu eylem bir iOS sertifikası ekler.

  6. Üretim altında şirket içi ve geçici sertifika oluşturmayı seçin.

    In-House ve Geçici sertifikayı seçin

    Not

    Uygulamayı dağıtmayı planlamıyorsanız ve yalnızca dahili olarak test etmek istiyorsanız, Üretim sertifikası yerine bir iOS Uygulama Geliştirme sertifikası kullanabilirsiniz. Geliştirme sertifikası kullanıyorsanız, mobil sağlama profilinin uygulamayı yüklemeyi planladığınız cihazları içerdiğinden emin olun.

  7. Sayfanın alt kısmındaki İleri'yi seçin.

  8. macOS bilgisayarınızda AnahtarLık Erişimi uygulamasını kullanarak Sertifika İmzalama İsteği (CSR) oluşturma yönergelerini okuyun.

    CSR oluşturma yönergelerini okuma

  9. Sertifika İmzalama İsteği oluşturmak için önceki yönergeleri izleyin. macOS bilgisayarınızda AnahtarLık Erişimi uygulamasını başlatın.

  10. Ekranın üst kısmındaki macOS menüsünde Anahtarlık Erişim > Sertifika Yardımcısı > Sertifika Yetkilisinden Sertifika İste'ye gidin.

    Anahtar Zinciri Erişimi'nde Sertifika Yetkilisinden sertifika isteme

  11. Sertifika imzalama isteği (CSR) dosyası oluşturmak için Apple geliştirici sitesi yönergelerini izleyin. CSR dosyasını macOS bilgisayarınıza kaydedin.

    İstediğiniz sertifikanın bilgilerini girin

  12. Apple geliştirici sitesine dönün. Devam'ı seçin. Ardından CSR dosyasını karşıya yükleyin.

  13. Apple, imzalama sertifikanızı oluşturur. İndirin ve macOS bilgisayarınızda unutulmaz bir konuma kaydedin.

    İmzalama sertifikanızı indirme

  14. Sertifikayı anahtarlığa eklemek için indirdiğiniz sertifika dosyasına çift tıklayın.

  15. Anahtarlık Erişimi'ni yeniden açın. Sağ üst arama çubuğunda adını arayarak sertifikanızı bulun. Menüyü açmak için öğeye sağ tıklayın ve Bilgi Al'ı seçin. Örnek ekranlarda üretim sertifikası yerine geliştirme sertifikası kullanıyoruz.

    Sertifikanızı anahtarlığa ekleme

  16. Bilgilendirici bir pencere görüntülenir. Ekranı aşağı kaydırın ve Parmak İzleri etiketinin altına bakın. App Wrapping Tool için "-c" bağımsız değişkeni olarak kullanmak üzere SHA1 dizesini (bulanık) kopyalayın.

    iPhone bilgileri - Parmak İzleri SHA1 dizesi

In-House Dağıtım Sağlama profili oluşturma

  1. Apple Geliştirici hesabı portalına Geri dön ve kurumsal Apple Hesabınızla oturum açın.

  2. Sertifikalar, Kimlikler & Profiller'i seçin.

  3. Apple Geliştirici portalı ve sağ üst köşedeki oturum açma seçeneğini belirleyin. Bu eylem bir iOS sağlama profili ekler.

  4. Dağıtım altında Bir Şirket İçi sağlama profili oluşturmayı seçin.

    Evde sağlama profilini seçin

  5. Devam'ı seçin. Önceden oluşturulan imzalama sertifikasını sağlama profiline bağladığından emin olun.

  6. Profilinizi (uzantılı .mobileprovision) macOS bilgisayarınıza indirmek için adımları izleyin.

  7. Dosyayı akılda kalıcı bir konuma kaydedin. Bu dosya App Wrapping Tool kullanılırken -p parametresi için kullanılır.

App Wrapping Tool indirme

  1. App Wrapping Tool dosyalarını GitHub'dan macOS bilgisayara indirin.

  2. iOS.dmg için Microsoft Intune Uygulama Kısıtlamaları Paketleyicisi'ne çift tıklayın. Son Kullanıcı Lisans Sözleşmesi'ni (EULA) içeren bir pencere görüntülenir. Belgeyi dikkatle okuyun.

  3. Paketi bilgisayarınıza bağlayan EULA'yı kabul etmek için Kabul Et'i seçin.

App Wrapping Tool çalıştırma

Önemli

Intune güncelleştirmeleri düzenli olarak Intune App Wrapping Tool yayınlar. Güncelleştirmeler için iOS Intune App Wrapping Tool düzenli olarak denetleyin ve uygulamalarınızın en son Uygulama Koruma İlkesi ayarlarını desteklediğinden emin olmak için yazılım geliştirme yayın döngünüze dahil edin.

Terminali kullanma

macOS Terminali'ni açın ve aşağıdaki komutu çalıştırın:

/Volumes/IntuneMAMAppPackager/IntuneMAMPackager/Contents/MacOS/IntuneMAMPackager -i /<path of input app>/<app filename> -o /<path to output folder>/<app filename> -p /<path to provisioning profile> -c <SHA1 hash of the certificate> -ac <client ID of input app> -ar <redirect URI of input app> [-aa <authority URI of input app>] [-b [<output app build string>]] [-v] [-e] [-x /<array of extension provisioning profile paths>] [-dt] [-dl] [-ds]

Not

Aşağıdaki tabloda gösterildiği gibi bazı parametreler isteğe bağlıdır.

Örnek: Aşağıdaki örnek komut, MyApp.ipa adlı uygulamada App Wrapping Tool çalıştırır. İmzalama sertifikasının sağlama profili ve SHA-1 karması belirtilir ve sarmalanan uygulamayı imzalamak için kullanılır. Çıkış uygulaması (MyApp_Wrapped.ipa) oluşturulur ve Masaüstü klasörünüzde depolanır.

./IntuneMAMPackager/Contents/MacOS/IntuneMAMPackager -i ~/Desktop/MyApp.ipa -o ~/Desktop/MyApp_Wrapped.ipa -p ~/Desktop/My_Provisioning_Profile_.mobileprovision -c "12 A3 BC 45 D6 7E F8 90 1A 2B 3C DE F4 AB C5 D6 E7 89 0F AB" -ac "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ar "msauth.myAppsBundleID://auth" -v

Komut satırı parametreleri

App Wrapping Tool ile aşağıdaki komut satırı parametrelerini kullanabilirsiniz:

Örnek: Aşağıdaki örnek komut, bir uygulamayı tek bir kiracı içinde kullanmak üzere sarmalarken gerekli komutları birleştiren App Wrapping Tool çalıştırır.

./IntuneMAMPackager/Contents/MacOS/IntuneMAMPackager -i ~/Desktop/MyApp.ipa -o ~/Desktop/MyApp_Wrapped.ipa -p ~/Desktop/My_Provisioning_Profile_.mobileprovision -c "12 A3 BC 45 D6 7E F8 90 1A 2B 3C DE F4 AB C5 D6 E7 89 0F AB" -aa https://login.microsoftonline.com/<tenantID> -ac "Client ID of the input app if the app uses the Microsoft Authentication Library" -ar "Redirect/Reply URI of the input app if the app uses the Microsoft Authentication Library"  -v
Özellik Nasıl kullanılır?
-i <Path of the input native iOS application file>. Dosya adı .app veya .ipa ile bitmelidir.
-o <Path of the wrapped output application>
-p <Path of your provisioning profile for iOS apps>
-c <SHA1 hash of the signing certificate>
-h App Wrapping Tool için kullanılabilir komut satırı özellikleri hakkında ayrıntılı kullanım bilgilerini gösterir.
-ac <Client ID of the input app if the app uses the Microsoft Authentication Library> Bu, uygulamanızın Uygulama Kaydı'ndaki listesinde yer alan İstemci Kimliği alanındaki GUID'dir.
-ar <Redirect/Reply URI of the input app if the app uses the Microsoft Authentication Library> Bu, Uygulama Kaydınızda yapılandırılan Yeniden Yönlendirme URI'dir. Genellikle Microsoft Authenticator uygulamasının aracılı kimlik doğrulamasından sonra döndüreceği uygulamanın URL protokolü olur.
-aa (Tek kiracılı uygulamalar için gereklidir) <Authority URI of the input app> Yani https://login.microsoftonline.com/<tenantID>/
-v (İsteğe bağlı) Konsola ayrıntılı iletilerin çıkışını alır. Hata ayıklamak için bu bayrağı kullanın.
-e (İsteğe bağlı) App Wrapping Tool uygulamayı işlerken eksik yetkilendirmeleri kaldırmasını sağlamak için bu bayrağı kullanın. Daha fazla bilgi için bkz . Uygulama yetkilendirmelerini ayarlama.
-xe (İsteğe bağlı) Uygulamadaki iOS uzantıları ve bunları kullanmak için gereken yetkilendirmeler hakkındaki bilgileri yazdırır. Daha fazla bilgi için bkz . Uygulama yetkilendirmelerini ayarlama.
-x (İsteğe bağlı) <An array of paths to extension provisioning profiles>. Uygulamanızın uzantı sağlama profillerine ihtiyacı varsa bu özelliği kullanın.
-b (İsteğe bağlı) Sarmalanan çıkış uygulamasının giriş uygulamasıyla aynı paket sürümüne sahip olmasını istiyorsanız bağımsız değişken olmadan -b kullanın (önerilmez).

Sarmalanan uygulamanın özel bir CFBundleVersion'a sahip olmasını istiyorsanız kullanın -b <custom bundle version> . Özel bir CFBundleVersion belirtmeyi seçerseniz, yerel uygulamanın CFBundleVersion değerini 1.0.0 -> 1.0.1 gibi en az önemli bileşene kadar artırmak iyi bir fikirdir.
-f (İsteğe bağlı) <Path to a plist file specifying arguments.> -i, -o ve - p gibi IntuneMAMPackager özelliklerinin geri kalanını belirtmek için plist şablonunu kullanmayı seçerseniz plist dosyasının önünde bu bayrağı kullanın. Bkz. Bağımsız değişkenleri giriş yapmak için plist kullanma.
-dt (İsteğe bağlı) Microsoft Intune istemci verilerinin toplanmasını devre dışı bırakın.
-dl (İsteğe bağlı) MSAL ile tümleştirilmiş uygulamalar için Intune günlüklerinden MSAL günlüklerini devre dışı bırakın ve kendi MSAL günlük geri çağırmasını uygulayın.
-ds (İsteğe bağlı) SFSafariViewController, SFAuthSession ve ASWebAuthenticationSession için Intune korumalarını devre dışı bırakın.
-mp (İsteğe bağlı) <Path to a plist file containing MAM settings to merge into the wrapped app>. Sarmalama işlemi sırasında uygulamanın IntuneMAMSettings sözlüğüyle birleştirilecek özel Intune MAM SDK ayarlarını sağlamak için bu özelliği kullanın. Not: , , MAMPolicyRequiredAutoEnrollOnLaunchve ContainingAppBundleId ayarları MultiIdentityApp Wrapping Tool tarafından otomatik olarak yapılandırıldığından -mp aracılığıyla desteklenmez. Kimlik doğrulama ayarları (ADALAuthority, ADALClientId, ADALRedirectUri) -mp aracılığıyla da desteklenmez ve -aa, -ac ve -ar komut satırı parametreleri kullanılarak yapılandırılmalıdır.

Bağımsız değişkenleri giriş yapmak için plist kullanma

App Wrapping Tool çalıştırmanın kolay bir yolu, tüm komut bağımsız değişkenlerini bir plist dosyasına yerleştirmektir. Plist, komut satırı bağımsız değişkenlerinizi form arabirimi kullanarak giriş yapmak için kullanabileceğiniz XML'e benzer bir dosya biçimidir.

IntuneMAMPackager/Contents/MacOS klasöründe metin düzenleyicisi veya Xcode ile açın Parameters.plist (boş bir plist şablonu). Aşağıdaki anahtarlar için bağımsız değişkenlerinizi girin:

Plist tuşu Tür Varsayılan Değer Notlar
Giriş Uygulama Paketi Yolu Dize Boş -i ile aynı
Çıkış Uygulama Paketi Yolu Dize Boş -o ile aynı
Profil Yolu Sağlama Dize Boş -p ile aynı
SHA-1 Sertifika Karması Dize Boş -c ile aynı
MSAL Yetkilisi Dize Boş -aa ile aynı
MSAL İstemci Kimliği Dize Boş -ac ile aynı
MSAL Yanıt URI'si Dize Boş -ar ile aynı
Ayrıntılı Etkin Boole False -v ile aynı
Eksik Yetkilendirmeleri Kaldır Boole False -e ile aynı
Varsayılan Derleme Güncelleştirmesini Engelle Boole False Bağımsız değişkenler olmadan -b kullanmaya eşdeğer
Derleme Dizesini Geçersiz Kılma Dize Boş Sarmalanan çıkış uygulamasının özel CFBundleVersion
Uzantı Sağlama Profili Yolları Dize dizisi Boş Uygulama için bir uzantı sağlama profilleri dizisi.
Telemetriyi Devre Dışı Bırak Boole False -dt ile aynı
MSAL Günlüğünü Geçersiz Kılmayı Devre Dışı Bırak Boole False -dl ile aynı
MAM Ayarları Plist Yolu Dize Boş -mp ile aynı

IntuneMAMPackager'ı tek bağımsız değişken olarak plist ile çalıştırın:

./IntuneMAMPackager –f Parameters.plist

Sarmalama sonrası

Sarmalama işlemi tamamlandıktan sonra "Uygulama başarıyla sarmalandı" iletisi görüntülenir. Bir hata oluşursa yardım için hata iletileri bölümüne bakın.

Sarmalanan uygulama daha önce belirttiğiniz çıkış klasörüne kaydedilir. Uygulamayı Intune yönetim merkezine yükleyebilir ve bir mobil uygulama yönetimi ilkesiyle ilişkilendirebilirsiniz.

Önemli

Sarmalanmış bir uygulamayı karşıya yüklerken, daha eski bir (sarmalanmış veya yerel) sürüm zaten Intune dağıtıldıysa uygulamanın eski bir sürümünü güncelleştirmeyi deneyebilirsiniz. Bir hatayla karşılaşırsanız uygulamayı yeni bir uygulama olarak karşıya yükleyin ve eski sürümü silin.

Artık uygulamayı kullanıcı gruplarınıza, hedef uygulama koruma ilkelerini de uygulamaya dağıtabilirsiniz. Uygulama, belirttiğiniz uygulama koruma ilkelerini kullanarak cihazda çalışır.

iOS uygulamamı Intune App Wrapping Tool ile ne sıklıkta yeniden yazmam gerekir?

Uygulamalarınızı yeniden yazmanız gereken ana senaryolar şunlardır:

  • Uygulamanın kendisi yeni bir sürüm yayımladı. Uygulamanın önceki sürümü kaydırıldı ve Intune yönetim merkezine yüklendi.
  • iOS için Intune App Wrapping Tool, önemli hata düzeltmelerini veya yeni, belirli Intune uygulama koruma ilkesi özelliklerini etkinleştiren yeni bir sürüm yayımladı. Yeni bir sürümün sürümü, iOS için Microsoft Intune App Wrapping Tool gitHub deposu aracılığıyla 6-8 haftada bir gerçekleşir.

iOS/iPadOS için, uygulamayı ilk olarak imzalamak için kullanılandan farklı bir sertifika veya sağlama profiliyle sarmalayabilirsiniz. Ancak, yeni sağlama profili uygulamada belirtilen yetkilendirmeleri içermiyorsa sarmalama işlemi başarısız olur. Uygulamadan eksik yetkilendirmeleri kaldıran "-e" komut satırı seçeneğini kullanırsanız, sarmalamanın bu senaryoda başarısız olmaması için zorlamak uygulamada işlevselliğin bozulmasına neden olabilir.

Yeniden yazma için en iyi uygulamalardan bazıları şunlardır:

  • Farklı bir sağlama profilinin önceki herhangi bir sağlama profili gibi gerekli tüm yetkilendirmelere sahip olduğundan emin olmak.

Hata iletileri ve günlük dosyaları

Uygulama sarmalama aracıyla ilgili sorunları gidermek için aşağıdaki bilgileri kullanın.

Yaygın hata iletileri

Uygulama sarmalama aracı başarıyla tamamlayamazsa, konsolda aşağıdaki hata iletilerinden biri görüntülenir:

Hata iletisi Daha fazla bilgi
Geçerli bir iOS sağlama profili belirtmeniz gerekir. Sağlama profiliniz geçerli olmayabilir. Cihazlar için doğru izinlere sahip olduğunuzdan ve profilinizin geliştirme veya dağıtımı doğru şekilde hedeflediğinden emin olun. Sağlama profilinizin süresi de dolmuş olabilir.
Geçerli bir giriş uygulaması adı belirtin. Belirtilen giriş uygulaması adının doğru olduğunu doğrulayın.
Çıkış uygulaması için geçerli bir yol belirtin. Belirttiğiniz çıkış uygulamasının yolunun var olduğundan ve doğru olduğundan emin olun.
Geçerli bir giriş sağlama profili belirtin. Geçerli bir sağlama profili adı ve uzantısı sağladığınıza emin olun. Sağlama profilinizde eksik yetkilendirmeler olabilir veya –p komut satırı seçeneği dahil değildir.
Belirttiğiniz giriş uygulaması bulunamadı. Geçerli bir giriş uygulaması adı ve yolu belirtin. Giriş uygulama yolunuzun geçerli olduğundan ve mevcut olduğundan emin olun. Giriş uygulamasının bu konumda bulunduğundan emin olun.
Belirttiğiniz giriş sağlama profili dosyası bulunamadı. Geçerli bir giriş sağlama profili dosyası belirtin. Giriş sağlama dosyasının yolunun geçerli olduğundan ve belirttiğiniz dosyanın var olduğundan emin olun.
Belirttiğiniz çıkış uygulaması klasörü bulunamadı. Çıkış uygulaması için geçerli bir yol belirtin. Çıkış yolunun geçerli olduğundan ve mevcut olduğundan emin olun.
Çıkış uygulamasında .ipa uzantısı yoktur. Yalnızca .app ve .ipa uzantılarına sahip uygulamalar App Wrapping Tool tarafından kabul edilir. Çıkış dosyanızın geçerli bir uzantısı olduğundan emin olun.
Geçersiz bir imzalama sertifikası belirtildi. Geçerli bir Apple imzalama sertifikası belirtin. Apple geliştirici portalından doğru imzalama sertifikasını indirdiğinizden emin olun. Sertifikanızın süresi dolmuş veya ortak veya özel anahtar eksik olabilir. Apple sertifikanız ve sağlama profiliniz Xcode'da bir uygulamayı doğru şekilde imzalamak için kullanılabiliyorsa, App Wrapping Tool için geçerlidir. Ayrıca, imzalama sertifikasının konak macOS makinesinin anahtar zincirinde benzersiz bir ada sahip olduğunu doğrulayın. Anahtarlıkta aynı sertifikanın birden çok sürümü varsa, araç bu hatayı döndürür.
Belirttiğiniz giriş uygulaması geçersiz. Geçerli bir uygulama belirtin. Geçerli iOS uygulamanızın veya .ipa dosyası olarak .app derlendiğinden emin olun.
Belirttiğiniz giriş uygulaması şifrelenir. Geçerli bir şifrelenmemiş uygulama belirtin. App Wrapping Tool şifrelenmiş uygulamaları desteklemez. Şifrelenmemiş bir uygulama sağlayın.
Belirttiğiniz giriş uygulaması, Konumdan Bağımsız Yürütülebilir (PIE) biçiminde değil. PIE biçiminde geçerli bir uygulama belirtin. Konum Bağımsız Yürütülebilir (PIE) uygulamaları çalıştırıldığında rastgele bir bellek adresine yüklenebilir. Bu özellik güvenlik avantajları sağlayabilir. Güvenlik avantajları hakkında daha fazla bilgi için Apple Geliştirici belgelerinize bakın.
Belirttiğiniz giriş uygulaması sarmalanmış. Geçerli bir sarmalanmamış uygulama belirtin. Araç uygulamayı zaten işlediyse, uygulamayı işleyemezsiniz. Bir uygulamayı yeniden işlemek istiyorsanız, uygulamanın özgün sürümünü kullanarak aracı çalıştırın.
Belirttiğiniz giriş uygulaması imzalı değil. Geçerli bir imzalı uygulama belirtin. Uygulama sarmalama aracı, uygulamaların imzalı olmasını gerektirir. Sarmalanmış bir uygulamayı imzalamayı öğrenmek için geliştirici belgelerinize bakın.
Belirttiğiniz giriş uygulaması .ipa veya .app biçiminde olmalıdır. Uygulama sarmalama aracı yalnızca ve .ipa uzantılarını kabul eder.app. Giriş dosyanızın geçerli bir uzantısı olduğundan ve veya .ipa dosyası olarak .app uyumlu olduğundan emin olun.
Belirttiğiniz giriş uygulaması sarmalanmış ve en son ilke şablonu sürümünde. App Wrapping Tool, mevcut sarmalanmış bir uygulamayı en son ilke şablonu sürümüyle yeniden sarmalamıyor.
UYARI: SHA1 sertifika karması belirtmediyseniz. Dağıtmadan önce sarmalanan uygulamanızın imzalandığından emin olun. Komut satırı bayrağını izleyerek geçerli bir SHA1 karması belirttiğinizden –c emin olun.

Cihazdan sarmalanmış uygulamalarınız için günlükleri toplama

Sorun giderme sırasında sarmalanan uygulamalarınız için günlükleri almak için aşağıdaki adımları kullanın.

  1. Cihazınızdaki iOS Ayarları uygulamasına gidin ve LOB uygulamanızı seçin.
  2. Microsoft Intune'ı seçin.
  3. Tanılama Konsolunu Görüntüle ayarını Açık olarak değiştirin.
  4. LOB uygulamanızı başlatın.
  5. "Başlarken" bağlantısını seçin.
  6. Artık günlükleri doğrudan Microsoft'a gönderebilir veya cihazdaki başka bir uygulama aracılığıyla paylaşabilirsiniz.

Not

Günlüğe kaydetme işlevi, Intune App Wrapping Tool sürüm 7.1.13 veya üzeri ile sarmalanan uygulamalar için etkinleştirilir.

Sistemden kilitlenme günlüklerini toplama

Uygulamanız, yararlı bilgileri iOS istemci cihaz konsoluna günlüğe kaydedilebilir. Bu bilgiler, uygulamayla ilgili sorun yaşıyorsanız ve sorunun App Wrapping Tool veya uygulamanın kendisiyle ilgili olup olmadığını belirlemeniz gerektiğinde yararlıdır. Bu bilgileri almak için aşağıdaki adımları kullanın:

  1. Uygulamayı çalıştırarak sorunu yeniden oluşturun.

  2. Apple'ın Dağıtılan iOS Uygulamalarında Hata Ayıklama yönergelerini izleyerek konsol çıkışını toplayın.

Sarmalanan uygulamalar ayrıca kullanıcılara uygulama kilitlendikten sonra günlükleri doğrudan cihazdan e-postayla gönderme seçeneği sunar. Kullanıcılar gerekirse günlükleri incelemeniz ve Microsoft'a iletmeniz için size gönderebilir.

Sertifika, sağlama profili ve kimlik doğrulama gereksinimleri

iOS için App Wrapping Tool, tam işlevselliği garanti etmek için karşılanması gereken bazı gereksinimlere sahiptir.

Gereksinim Ayrıntılar
iOS sağlama profili Eklemeden önce sağlama profilinin geçerli olduğundan emin olun. App Wrapping Tool, bir iOS uygulamasını işlerken sağlama profilinin süresinin dolup dolmadığını denetlemez. Süresi dolmuş bir sağlama profili belirtirseniz, uygulama sarmalama aracı bunu içerir. Uygulama bir iOS cihazına yüklenemediği sürece bir sorun görmezsiniz.
iOS imzalama sertifikası İmzalama sertifikasını belirtmeden önce geçerli olduğundan emin olun. Araç, iOS uygulamalarını işlerken sertifikanın süresinin dolup dolmadığını denetlemez. Süresi dolmuş bir sertifikanın karması sağlanırsa, araç uygulamayı işler ve imzalar, ancak cihazlara yüklenemez.

Sarmalanan uygulamayı imzalamak için sağlanan sertifikanın sağlama profilinde bir eşleşme olduğundan emin olun. Araç, sağlama profilinin sarmalanan uygulamayı imzalamak için sağlanan sertifikayla eşleşip eşleşmediğini doğrulamaz.
Kimlik Doğrulama Şifrelemenin çalışması için bir cihazın PIN'i olmalıdır. Sarmalanmış bir uygulamayı dağıtmış olduğunuz cihazlarda, cihazdaki durum çubuğuna dokunmak kullanıcının bir iş veya okul hesabıyla yeniden oturum açmasını gerektirir. Sarmalanan bir uygulamadaki varsayılan ilke , yeniden başlatıldığı zaman kimlik doğrulamasıdır. iOS, uygulamadan çıkıp yeniden başlatarak tüm dış bildirimleri (telefon araması gibi) işler.

Uygulama yetkilendirmelerini ayarlama

Uygulamanızı sarmalamadan önce, uygulamaya bir uygulamanın normalde yapabileceklerini aşan ek izinler ve yetenekler verme yetkisi verebilirsiniz. Uygulamanızda özel izinler belirtmek için kod imzalama sırasında bir yetkilendirme dosyası kullanılır (örneğin, paylaşılan anahtar zincirine erişim). Özellik olarak adlandırılan belirli uygulama hizmetleri, uygulama geliştirme sırasında Xcode içinde etkinleştirilir. Etkinleştirildikten sonra özellikler yetkilendirme dosyanıza yansıtılır. Yetkilendirmeler ve özellikler hakkında daha fazla bilgi için bkz. iOS Geliştirici Kitaplığı'nda Özellik Ekleme . Desteklenen özelliklerin tam listesi için bkz . Desteklenen özellikler.

iOS için App Wrapping Tool için desteklenen özellikler

Özellik Açıklama Önerilen kılavuz
Uygulama grupları Birden çok uygulamanın paylaşılan kapsayıcılara erişmesine izin vermek ve uygulamalar arasında daha fazla işlem arası iletişime izin vermek için uygulama gruplarını kullanın.

Uygulama gruplarını etkinleştirmek için Özellikler bölmesini açın ve Uygulama Grupları'ndaAÇIK'ı seçin. Uygulama grupları ekleyebilir veya mevcut grupları seçebilirsiniz.
Uygulama Gruplarını yapılandırırken ters Etki Alanı Adı Sistemi (DNS) gösterimini kullanın:

group.com.companyName.AppGroup
Arka plan modları Arka plan modlarını etkinleştirmek, iOS uygulamanızın arka planda çalışmaya devam etmesini sağlar.
Veri koruması Veri koruması, iOS uygulamanız tarafından diskte depolanan dosyalara bir güvenlik düzeyi ekler. Veri koruma, dosyaları diskte şifrelenmiş bir biçimde depolamak için belirli cihazlarda bulunan yerleşik şifreleme donanımını kullanır. Veri korumasını kullanmak için uygulamanızın sağlanması gerekir.
Uygulama içi satın alma Uygulama içi satın alma işlemi, mağazaya bağlanmanızı ve kullanıcıdan gelen ödemeleri güvenli bir şekilde işlemenizi sağlayarak mağazayı doğrudan uygulamanıza ekler. Gelişmiş işlevsellik veya uygulamanız tarafından kullanılabilir daha fazla içerik için ödeme toplamak için uygulama içi satın alma özelliğini kullanabilirsiniz.
Anahtarlık paylaşımı Anahtarlık paylaşımını etkinleştirmek, uygulamanızın anahtarlıktaki parolaları ekibiniz tarafından geliştirilen diğer uygulamalarla paylaşmasına olanak tanır. Anahtarlık paylaşımını kullanırken ters DNS gösterimini kullanın:

com.companyName.KeychainGroup
Kişisel VPN Uygulamanızın Ağ Uzantısı çerçevesini kullanarak özel bir sistem VPN yapılandırması oluşturmasına ve denetlemesine izin vermek için kişisel VPN'i etkinleştirin.
Anında iletme bildirimleri Apple Anında İletme Bildirimi hizmeti (APN' ler), ön planda çalışmayan bir uygulamanın kullanıcıya, kullanıcıya bilgi içerdiğini bildirmesini sağlar. Anında iletme bildirimlerinin çalışması için uygulamaya özgü bir sağlama profili kullanmanız gerekir.

Apple geliştirici belgelerindeki adımları izleyin.
Kablosuz aksesuar yapılandırması Kablosuz aksesuar yapılandırmasının etkinleştirilmesi, Dış Donatı çerçevesini projenize ekler ve uygulamanızın iPhone için (MFi) Wi-Fi donatıları ayarlamasını sağlar.

Yetkilendirmeleri etkinleştirme adımları

  1. Uygulamanızda özellikleri etkinleştirin:

    a. Xcode'da uygulamanızın hedefine gidin ve Özellikler'i seçin.

    b. Uygun özellikleri açın. Her özellik ve doğru değerlerin nasıl belirleneceği hakkında ayrıntılı bilgi için bkz. iOS Geliştirici Kitaplığı'nda Özellik Ekleme .

    c. İşlem sırasında oluşturduğunuz tüm kimlikleri not edin. Bu kimlikler değerler olarak AppIdentifierPrefix anılabilir.

    d. Sarmalanacak uygulamanızı derleyin ve imzalayın.

  2. Sağlama profilinizde yetkilendirmeleri etkinleştirin:

    a. Apple Geliştirici Üye Merkezi'nde oturum açın.

    b. Uygulamanız için bir sağlama profili oluşturun. Yönergeler için bkz. iOS için Intune App Wrapping Tool Önkoşullarını Alma.

    c. Sağlama profilinizde, uygulamanızda sahip olduğunuz yetkilendirmelerin aynısını etkinleştirin. Uygulamanızın geliştirilmesi sırasında belirttiğiniz kimlikleri ( AppIdentifierPrefix değerler) sağlamanız gerekir.

    d. Sağlama profili sihirbazını tamamlayın ve dosyanızı indirin.

  3. Tüm önkoşulları karşıladığınızdan emin olun ve ardından uygulamayı sarmalayın.

Yetkilendirmelerle ilgili yaygın hataları giderme

iOS için App Wrapping Tool yetkilendirme hatası gösteriyorsa aşağıdaki sorun giderme adımlarını deneyin.

Sorun Neden Çözüm
Giriş uygulamasından oluşturulan yetkilendirmeler ayrıştırılamadı. App Wrapping Tool, uygulamadan ayıklanan yetkilendirmeler dosyasını okuyamıyor. Yetkilendirmeler dosyası yanlış biçimlendirilmiş olabilir. Uygulamanızın yetkilendirmeler dosyasını inceleyin. Aşağıdaki yönergelerde bunun nasıl yapılacağı açıklanmaktadır. Yetkilendirmeler dosyasını incelerken, yanlış biçimlendirilmiş söz dizimini denetleyin. Dosya XML biçiminde olmalıdır.
Sağlama profilinde yetkilendirmeler eksik (eksik yetkilendirmeler listelenir). Uygulamayı bu yetkilendirmelere sahip bir sağlama profiliyle yeniden paketleyin. Sağlama profilinde etkinleştirilen yetkilendirmeler ile uygulamada etkinleştirilen özellikler arasında bir uyuşmazlık vardır. Bu uyuşmazlık, belirli özelliklerle (uygulama grupları ve anahtarlık erişimi gibi) ilişkili kimlikler için de geçerlidir. Genel olarak, uygulamayla aynı özellikleri sağlayan yeni bir sağlama profili oluşturabilirsiniz. Profil ve uygulama arasındaki kimlikler eşleşmediğinde, mümkünse App Wrapping Tool kimliklerin yerini alır. Yeni bir sağlama profili oluşturduktan sonra da bu hatayı alıyorsanız, parametresini kullanarak –e yetkilendirmeleri uygulamadan kaldırmayı deneyebilirsiniz (bkz. Uygulamadan yetkilendirmeleri kaldırmak için parametreyi kullanma –e bölümü).

İmzalı bir uygulamanın mevcut yetkilendirmelerini bulma

İmzalı bir uygulamanın ve sağlama profilinin mevcut yetkilendirmelerini gözden geçirmek için:

  1. .ipa dosyasını bulun ve uzantısını .zip olarak değiştirin.

  2. .zip dosyasını genişletin. Bu eylem, .app paketinizi içeren bir Payload klasörü oluşturur.

  3. .app paketinizin gerçek adı olan YourApp.app .app paketindeki yetkilendirmeleri denetlemek için birlikte tasarlama aracını kullanın.

    codesign -d --entitlements :- "Payload/YourApp.app"
    
  4. Uygulamanın ekli sağlama profilinin yetkilendirmelerini denetlemek için güvenlik aracını kullanın; burada YourApp.app .app paketinizin gerçek adıdır.

    security cms -D -i "Payload/YourApp.app/embedded.mobileprovision"
    

–e parametresini kullanarak uygulamadan yetkilendirmeleri kaldırma

Bu komut, uygulamadaki yetkilendirme dosyasında olmayan tüm etkin özellikleri kaldırır. Uygulama tarafından kullanılan özellikleri kaldırırsanız uygulamanızı bozabilir. Eksik özellikleri kaldırabileceğiniz bir örnek, varsayılan olarak tüm özelliklere sahip satıcı tarafından üretilen bir uygulamadadır.

./IntuneMAMPackager/Contents/MacOS/IntuneMAMPackager –i /<path of input app>/<app filename> -o /<path to output folder>/<app filename> `–p` /<path to provisioning profile> –c <SHA1 hash of the certificate> -ac <client ID of input app> -ar <redirect URI of input app> -e

App Wrapping Tool için güvenlik ve gizlilik

App Wrapping Tool kullanırken aşağıdaki en iyi güvenlik ve gizlilik uygulamalarını kullanın.

  • İmzalama sertifikası, sağlama profili ve belirttiğiniz iş kolu uygulaması, uygulama sarmalama aracını çalıştırmak için kullandığınız macOS makinesinde olmalıdır. Dosyalar bir UNC yolundaysa macOS makinesinin bunlara erişebildiğinden emin olun. Yol IPsec veya SMB imzalama yoluyla güvenli hale getirilmelidir.

    Yönetim merkezine içeri aktarılan sarmalanmış uygulama, aracı çalıştırdığınız bilgisayarda olmalıdır. Dosya bir UNC yolundaysa, yönetim merkezini çalıştıran bilgisayarda erişilebilir olduğundan emin olun. Yol IPsec veya SMB imzalama yoluyla güvenli hale getirilmelidir.

  • App Wrapping Tool GitHub deposundan indirildiği ortamın IPsec veya SMB imzalama yoluyla güvenliği sağlanmalıdır.

  • İşlediğiniz uygulamanın, saldırılara karşı koruma sağlamak için güvenilir bir kaynaktan gelmesi gerekir.

  • özellikle uzak bir klasörse, App Wrapping Tool belirttiğiniz çıkış klasörünün güvenliğinin sağlandığından emin olun.

  • Dosya karşıya yükleme iletişim kutusu içeren iOS uygulamaları, kullanıcıların uygulamaya uygulanan kısıtlamaları aşmasına, kesmesine, kopyalamasına ve yapıştırmasına olanak sağlayabilir. Örneğin, bir kullanıcı uygulama verilerinin ekran görüntüsünü karşıya yüklemek için dosya karşıya yükleme iletişim kutusunu kullanabilir.

  • Cihazınızdaki belgeler klasörünü sarmalanmış bir uygulamanın içinden izlediğinizde adlı .msftintuneapplauncherbir klasör görebilirsiniz. Bu dosyayı değiştirir veya silerseniz, kısıtlanmış uygulamaların doğru çalışmasını etkileyebilir.

  • Özel URL düzenlerinin kaydedilmesi belirli URL'lerin uygulamanıza yeniden yönlendirilmesini sağlar. iOS ve iPadOS, birden çok uygulamanın aynı özel URL düzenini kaydetmesine izin verir ve işletim sistemi hangi uygulamanın çağrıldığını belirler. Hatalı biçimlendirilmiş URL'leri işlemeye yönelik özel URL düzeni çakışmalarını ve güvenlik yönergelerini önlemeye yardımcı olacak öneriler için uygulamanız için özel bir URL şeması tanımlama apple belgelerine bakın.

Ek kaynaklar