Aracılığıyla paylaş


App Center Distribute – iOS Uygulama içi güncelleştirmeleri

Önemli

Visual Studio App Center 31 Mart 2025'te kullanımdan kaldırılıyor. Tamamen kullanımdan kaldırılana kadar Visual Studio App Center'ı kullanmaya devam edebilirsiniz ancak geçiş yapmayı düşünebileceğiniz birkaç önerilen alternatif vardır.

Destek zaman çizelgeleri ve alternatifleri hakkında daha fazla bilgi edinin.

App Center Distribute, app Center aracılığıyla dağıttığınızda kullanıcılarınızın uygulamanın yeni bir sürümünü yüklemesine olanak verir. Uygulamanın yeni bir sürümü kullanıma sunulduğunda SDK, kullanıcılara yeni sürümü indirmeleri veya ertelemeleri için bir güncelleştirme iletişim kutusu sunar. Sdk, güncelleştirmeyi seçtikten sonra uygulamanızı güncelleştirmeye başlar.

Not

Uygulama içi güncelleştirmeleri kullanırken dikkate alınması gereken birkaç şey vardır:

  1. Uygulamanızı App Store yayımladıysanız, uygulama içi güncelleştirmeler devre dışı bırakılır.
  2. Otomatik kullanıcı arabirimi testleri çalıştırıyorsanız, uygulama içi güncelleştirmeler app Center arka uçta kimlik doğrulaması yapmaya çalışacakları için otomatik ui testlerinizi engeller. Ui test hedefiniz için App Center Distribute'ı etkinleştirmemenizi öneririz.

Not

4.0.0 App Center sürümünde hataya neden olan değişiklikler kullanıma sunulmuştur. App Center'ı önceki sürümlerden geçirmek için App Center SDK 4.0.0 ve üzeri sürümlere geçiş bölümünü izleyin.

Önemli

App Center SDK'sı, iOS 13'te tanıtılan birden çok pencere uygulamasını desteklemez.

Uygulamanıza uygulama içi güncelleştirmeler ekleme

Uygulamanızda SDK'yı yapılandırmadıysanız Başlarken bölümünü izleyin.

1. App Center Distribute modülünü ekleme

App Center SDK modüler bir yaklaşımla tasarlanmıştır; yalnızca ilgilendiğiniz hizmetlerin modüllerini tümleştirmeniz gerekir.

Cocoapods ile tümleştirme

App Center'ı Cocoapods aracılığıyla uygulamanıza tümleştiriyorsanız, pod dosyanıza aşağıdaki bağımlılığı ekleyin ve komutunu çalıştırın pod install.

pod 'AppCenter/Distribute'

Kartaj aracılığıyla tümleştirme

  1. App Center Distribute'ı dahil etmek için aşağıdaki bağımlılığı ekleyin Cartfile .

    # Use the following line to get the latest version of App Center
    github "microsoft/appcenter-sdk-apple"
    
    # Use the following line to get the specific version of App Center
    github "microsoft/appcenter-sdk-apple" ~> X.X.X
    
  2. carthage update öğesini çalıştırın.

  3. Uygulama hedefinizin Genel ayarlar sekmesini açın. AppCenterDistribute.framework dosyasını Carthage/Build/iOS klasöründen XCode'dakiBağlı Çerçeveler ve Kitaplıklar bölümüne sürükleyip bırakın.

  4. AppCenterDistributeResources.bundle dosyasınıAppCenterDistribute.framework'ten XCode'un Proje Gezgini'ne sürükleyip bırakın.

  5. Bir iletişim kutusu görüntülenir ve uygulama hedefinizin işaretli olduğundan emin olun. Ardından, Son'a tıklayın.

Swift Paket Yöneticisi aracılığıyla tümleştirme

  1. Xcode menüsünde Dosya > Swift Paketleri > Paket Bağımlılığı Ekle'ye tıklayın.
  2. Görüntülenen iletişim kutusuna depo URL'sini girin: https://github.com/microsoft/appcenter-sdk-apple.git.
  3. Sürüm'deSonraki Ana Seçeneğe Kadar'ı seçin ve varsayılan seçeneği kullanın.
  4. Paket Ürünü sütununda AppCenterDistribute öğesini seçin.

İkili dosyaları projenize kopyalayarak tümleştirme

Cocoapods kullanmak istemiyorsanız, ikili dosyaları projenize kopyalayarak modülleri tümleştirebilirsiniz. Aşağıdaki adımları izleyin:

Not

App Center SDK'sı XCframeworkkullanımını destekler. XCframeworks'i projenizle tümleştirmek istiyorsanız yayınlar sayfasındanAppCenter-SDK-Apple-XCFramework.zip indirin ve sıkıştırmasını açın. Sonuçta elde edilen klasör içeriği platforma özgü değildir, bunun yerine her modül için XCframeworks içerir. Bunlar aşağıda açıklandığı gibi her zamanki çerçevelerle aynı şekilde tümleştirilebilir.

  1. Zip dosyası olarak sağlanan App Center SDK çerçevelerini indirin.

  2. Dosyanın sıkıştırmasını açtığınızda, her App Center hizmeti için farklı çerçeveler içeren AppCenter-SDK-Apple/iOS adlı bir klasör görürsünüz. Adlı AppCenter çerçeve, farklı modüller arasında paylaşılan kodu içerdiğinden projede gereklidir.

  3. [İsteğe bağlı] Üçüncü taraf kitaplıkları için bir alt dizin oluşturun.

    • En iyi uygulama olarak, 3. taraf kitaplıkları genellikle Genellikle Satıcı olarak adlandırılan bir alt dizinin içindedir. Projeniz kitaplıklar için bir alt dizinle düzenlenmiyorsa, şimdi bir Vendor alt dizini oluşturun.
    • Disk üzerindeki dosya yapısını taklit etmek için Xcode projenizde Vendor adlı bir grup oluşturun.
  4. Finder'ı açın ve sıkıştırması açılmış AppCenter-SDK-Apple/iOS klasörünü projenizin istediğiniz konumdaki klasörüne kopyalayın.

  5. SDK çerçevesini Xcode'da projeye ekleyin:

    • Proje Gezgini'nin görünür olduğundan emin olun (⌘+1).
    • Şimdi AppCenter.framework, AppCenterDistribute.framework ve AppCenterDistributeResources.bundle'ı Bulucu'dan ( Vendor klasörünün içindekiler) Xcode'un Proje Gezgini'ne sürükleyip bırakın. SDK'nın başlatılması için AppCenter.framework gereklidir. Projenize eklendiğinden emin olun, aksi takdirde diğer modüller çalışmaz ve projeniz başarıyla derlenmez.
    • Bir iletişim kutusu görüntülenir ve uygulama hedefinizin işaretli olduğundan emin olun. Ardından, Son'a tıklayın.

2. App Center Dağıtımını Başlat

App Center yalnızca uygulamanızda çağırdığınız belirli modülleri kullanır. SDK'yı başlatırken bunların her birini açıkça çağırmanız gerekir.

2.1 App Center Distribute için içeri aktarmayı ekleme

Projenin AppDelegate.m dosyasını Objective-C'de veya AppDelegate.swift dosyasını Swift'te açın ve aşağıdaki içeri aktarma deyimlerini ekleyin:

@import AppCenter;
@import AppCenterDistribute;
import AppCenter
import AppCenterDistribute

2.2 Yöntemini ekleme start:withServices:

App Center Distribute hizmetini başlatmak için yönteminize start:withServices: ekleyinDistribute.

Aşağıdaki satırı ekleyerek projenin Objective-C için AppDelegate.m sınıfına veya yönteminde Swift için AppDelegate.swift sınıfına SDK'yi didFinishLaunchingWithOptions başlatın.

[MSACAppCenter start:@"{Your App Secret}" withServices:@[[MSACDistribute class]]];
AppCenter.start(withAppSecret: "{Your App Secret}", services: [Distribute.self])

Yukarıdaki kod örneğinde uygulama gizli dizinizle değiştirdiğinizden {Your App Secret} emin olun. Sdk'yi uygulamanızda yapılandırmadıysanız Kullanmaya başlama bölümüne de göz atın.

2.3 Projenin Info.plist dosyasını değiştirme

  1. Projenin Info.plist dosyasında, üstteki "Bilgi Özellik Listesi" öğesinin yanındaki '+' düğmesine tıklayarak için URL types yeni bir anahtar ekleyin. Xcode Info.plist dosyanızı kaynak kodu olarak görüntülüyorsa aşağıdaki ipucuna bakın.
  2. Anahtar türünü Dizi olarak değiştirin.
  3. DiziyeItem 0 () yeni bir giriş ekleyin ve türü Sözlük olarak değiştirin.
  4. altında Item 0bir URL Schemes anahtar ekleyin ve türü Dizi olarak değiştirin.
  5. Anahtarınızın URL Schemes altına yeni bir girdi ()Item 0 ekleyin.
  6. altında URL Schemes>Item 0değerini olarak appcenter-{APP_SECRET} değiştirin ve değerini uygulamanızın Uygulama Gizli Anahtarı ile değiştirin {APP_SECRET} .

İpucu

Info.plist dosyasını doğru değiştirdiğinizden emin olmak istiyorsanız kaynak kod olarak açın. Bunun yerine Uygulama Gizli Anahtarınızla birlikte aşağıdaki girişi içermesi {APP_SECRET}gerekir:

<key>CFBundleURLTypes</key>
<array>
  <dict>
  	<key>CFBundleURLSchemes</key>
  	<array>
  		<string>appcenter-{APP_SECRET}</string>
  	</array>
  </dict>
</array>

Özel dağıtım grubunu kullanma

Varsayılan olarak, Distribute bir genel dağıtım grubu kullanır. Özel bir dağıtım grubu kullanmak istiyorsanız, bunu özellik aracılığıyla updateTrack açıkça ayarlamanız gerekir.

MSACDistribute.updateTrack = MSACUpdateTrackPrivate;
Distribute.updateTrack = .private

Not

UpdateTrack.public varsayılan değerdir. Bu özellik yalnızca yöntem çağrısından AppCenter.start önce güncelleştirilebilir. Uygulama işlemi yeniden başlatıldığında güncelleştirme izlemesindeki değişiklikler kalıcı olmaz, bu nedenle özellik çağrıdan önce AppCenter.start her zaman güncelleştirilmezse varsayılan olarak genel olur.

Bu çağrıdan sonra, kullanıcının kimliğini doğrulamak için bir tarayıcı penceresi açılır. Sonraki tüm güncelleştirme denetimleri, özel parçada en son sürümü alır.

Bir kullanıcı özel yoldaysa, başarılı kimlik doğrulamasından sonra üyesi olduğu tüm özel dağıtım gruplarından en son sürümü alacakları anlamına gelir. Bir kullanıcı genel yoldaysa, herhangi bir genel dağıtım grubundan en son sürümü edinebilecekleri anlamına gelir.

Güncelleştirme için Otomatik Denetimi Devre Dışı Bırak

Varsayılan olarak, SDK yeni sürümleri otomatik olarak denetler:

  • Uygulama başlatıldığında.
  • Uygulama arka plana geçtiğinde yeniden ön planda olur.
  • Daha önce devre dışı bırakılmışsa Dağıt modülünü etkinleştirirken.

Yeni sürümleri el ile denetlemek istiyorsanız, güncelleştirme için otomatik denetimi devre dışı bırakabilirsiniz. Bunu yapmak için SDK başlamadan önce aşağıdaki yöntemi çağırın:

[MSACDistribute disableAutomaticCheckForUpdate];
Distribute.disableAutomaticCheckForUpdate()

Not

Bu yöntem, yöntem çağrısından AppCenter.start önce çağrılmalıdır.

Ardından, aşağıdaki bölümde açıklanan API'yi kullanabilirsiniz checkForUpdate .

El ile Güncelleştirme Denetimi

[MSACDistribute checkForUpdate];
Distribute.checkForUpdate()

Bu, App Center'a bir istek gönderir ve yeni bir sürüm olması durumunda bir güncelleştirme iletişim kutusu görüntüler.

Not

Otomatik güncelleştirmeler etkinleştirildiğinde bile el ile güncelleştirme araması denetimi çalışır. Başka bir denetim zaten yapılıyorsa el ile güncelleştirme denetimi yoksayılır. Kullanıcı güncelleştirmeleri ertelediyse el ile güncelleştirme denetimi işlenmez (en son sürüm zorunlu bir güncelleştirme olmadığı sürece).

Uygulama içi güncelleştirme iletişim kutusunu özelleştirme veya yerelleştirme

1. Metni özelleştirme veya yerelleştirme

Güncelleştirme iletişim kutusunda görüntülenen metni yerelleştirmek istiyorsanız kendi kaynak dizelerinizi kolayca sağlayabilirsiniz. Bu dizeler dosyasına bakın. Aynı dize adını/anahtarını kullanın ve kendi uygulama dizeleri dosyalarınızdaki iletişim kutusuna yansıtılacak yerelleştirilmiş değeri belirtin.

2. Güncelleştirme iletişim kutusunu özelleştirme

Protokolü uygulayarak DistributeDelegate varsayılan güncelleştirme iletişim kutusunun görünümünü özelleştirebilirsiniz. Aşağıdaki örnekte gösterildiği gibi SDK'ya başlamadan önce temsilciyi kaydetmeniz gerekir:

[MSACDistribute setDelegate:self];
Distribute.delegate = self;

SDK iletişim kutusunu özel bir uygulamayla değiştiren temsilci uygulaması örneği aşağıda verilmiştir:

- (BOOL)distribute:(MSACDistribute *)distribute releaseAvailableWithDetails:(MSACReleaseDetails *)details {

  // Your code to present your UI to the user, e.g. an UIAlertController.
  UIAlertController *alertController = [UIAlertController
      alertControllerWithTitle:@"Update available."
                       message:@"Do you want to update?"
                preferredStyle:UIAlertControllerStyleAlert];

  [alertController
      addAction:[UIAlertAction actionWithTitle:@"Update"
                                         style:UIAlertActionStyleCancel
                                       handler:^(UIAlertAction *action) {
                                         [MSACDistribute notifyUpdateAction:MSACUpdateActionUpdate];
                                       }]];

  [alertController
      addAction:[UIAlertAction actionWithTitle:@"Postpone"
                                         style:UIAlertActionStyleDefault
                                       handler:^(UIAlertAction *action) {
                                         [MSACDistribute notifyUpdateAction:MSACUpdateActionPostpone];
                                       }]];

  // Show the alert controller.
  [self.window.rootViewController presentViewController:alertController animated:YES completion:nil];
  return YES;
}
func distribute(_ distribute: Distribute, releaseAvailableWith details: ReleaseDetails) -> Bool {

  // Your code to present your UI to the user, e.g. an UIAlertController.
  let alertController = UIAlertController(title: "Update available.",
                                        message: "Do you want to update?",
                                 preferredStyle:.alert)

  alertController.addAction(UIAlertAction(title: "Update", style: .cancel) {_ in
    Distribute.notify(.update)
  })

  alertController.addAction(UIAlertAction(title: "Postpone", style: .default) {_ in
    Distribute.notify(.postpone)
  })

  // Show the alert controller.
  self.window?.rootViewController?.present(alertController, animated: true)
  return true;
}

Yukarıdaki yöntemde dönmeniz YES/true durumunda uygulamanız kullanıcının seçimini almalı ve aşağıdaki API'yi kullanarak sonucu SDK'ya göndermelidir.

// Depending on the user's choice, call notifyUpdateAction: with the right value.
[MSACDistribute notifyUpdateAction:MSACUpdateActionUpdate];
[MSACDistribute notifyUpdateAction:MSACUpdateActionPostpone];
// Depending on the user's choice, call notify() with the right value.
Distribute.notify(.update);
Distribute.notify(.postpone);

Yukarıdaki yöntemi çağırmazsanız uygulamanız releaseAvailableWithDetails:ön plana her girdiğinde -method yinelenir.

3. Güncelleştirme bulunamazsa kodu yürüt

SDK güncelleştirmeleri denetlediğinde ve şu anda kullanılandan daha yeni kullanılabilir güncelleştirmeler bulamadığında, distributeNoReleaseAvailable:MSACDistributeDelegate temsilci geri çağırması çağrılır. Bu, bu tür senaryolarda özel kod yürütmenize olanak tanır.

Güncelleştirme bulunamadığında uyarı kullanıcı arabiriminin nasıl görüntüleneceğini gösteren örnekler aşağıda verilmiştir:

- (void)distributeNoReleaseAvailable:(MSACDistribute *)distribute {
  UIAlertController *alert = [UIAlertController alertControllerWithTitle:nil
                                                                 message:NSLocalizedString(@"No updates available", nil)
                                                          preferredStyle:UIAlertControllerStyleAlert];
  [alert addAction:[UIAlertAction actionWithTitle:NSLocalizedString(@"OK", nil) style:UIAlertActionStyleDefault handler:nil]];
  [self.window.rootViewController presentViewController:alert animated:YES completion:nil];
}
  func distributeNoReleaseAvailable(_ distribute: Distribute) {
    let alert = UIAlertController(title: nil, message: "No updates available", preferredStyle: .alert)
    alert.addAction(UIAlertAction(title: "OK", style: .default, handler: nil))
    self.window?.rootViewController?.present(alert, animated: true)
  }

Çalışma zamanında App Center Distribute'ı etkinleştirme veya devre dışı bırakma

App Center Distribute'ı çalışma zamanında etkinleştirebilir ve devre dışı bırakabilirsiniz. Devre dışı bırakırsanız SDK, uygulama içi güncelleştirme işlevi sağlamaz, ancak App Center portalında Dağıtma hizmetini kullanmaya devam edebilirsiniz.

[MSACDistribute setEnabled:NO];
Distribute.enabled = false

App Center Distribute'ı yeniden etkinleştirmek için aynı API'yi kullanın ancak parametre olarak geçirin YES/true .

[MSACDistribute setEnabled:YES];
Distribute.enabled = true

Durum, uygulama başlatmaları arasında cihazın depolama alanında kalıcı hale geldi.

Not

Bu yöntem yalnızca başlatıldıktan sonra Distribute kullanılmalıdır.

App Center Distribute'ın etkin olup olmadığını denetleyin

App Center Distribute'ın etkinleştirilip etkinleştirilmediğini de de de kontrol edebilirsiniz:

BOOL enabled = [MSACDistribute isEnabled];
var enabled = Distribute.enabled

Not

Bu yöntem yalnızca başlatıldıktan sonra Distribute kullanılmalıdır, her zaman başlamadan önce döndürülecektir false .

Geliştirme sırasında App Center Distribute'ı başlatma

Özel moddaysa App Center Distribute, uygulama başlangıcında kullanıcı arabirimini/tarayıcısını açar. Bu, son kullanıcılarınız için beklenen bir davranış olsa da, uygulamanızın geliştirme aşamasında sizin için kesintiye neden olabilir. Yapılandırmanız için başlatmanızı DistributeDEBUG önermeyiz.

#if DEBUG
    [MSACAppCenter start:@"{Your App Secret}" withServices:@[[MSACAnalytics class], [MSACCrashes class]]];
#else
    [MSACAppCenter start:@"{Your App Secret}" withServices:@[[MSACAnalytics class], [MSACCrashes class], [MSACDistribute class]]];
#endif
#if DEBUG
    AppCenter.start(withAppSecret: "{Your App Secret}", services: [Analytics.self, Crashes.self])
#else
    AppCenter.start(withAppSecret: "{Your App Secret}", services: [Analytics.self, Crashes.self, Distribute.self])
#endif

Uygulama güncelleştirme için kapanmadan hemen önce temizleme işlemi gerçekleştirin

DistributeDelegate Protokolü uygulayın ve aşağıdaki örnekte gösterildiği gibi temsilciyi kaydedin:

[MSACDistribute setDelegate:self];
Distribute.delegate = self;

Güncelleştirme distributeWillExitApp: yüklemesi için uygulama sonlandırılmadan hemen önce temsilci yöntemi çağrılır:

- (void)distributeWillExitApp:(MSACDistribute *)distribute {
  // Perform the required clean up here.
}
func distributeWillExitApp(_ distribute: Distribute) {
  // Perform the required clean up here.
}

Uygulama içi güncelleştirmeler nasıl çalışır?

Not

Uygulama içi güncelleştirmelerin çalışması için bağlantıdan bir uygulama derlemesi indirilmelidir. IDE'den veya el ile yüklenirse çalışmaz.

Uygulama içi güncelleştirmeler özelliği aşağıdaki gibi çalışır:

  1. Bu özellik YALNIZCA App Center Distribute hizmeti kullanılarak dağıtılan derlemelerle çalışır. Hata ayıklayıcı eklendiğinde veya iOS Destekli Erişim özelliği açık olduğunda çalışmaz...

  2. SDK'yı tümleştirdikten, uygulamanızın bir yayın sürümünü derleyip App Center'a yükledikten sonra, bu dağıtım grubundaki kullanıcılara yeni sürüm için bir e-posta yoluyla bildirim gönderilir.

  3. Her kullanıcı bağlantıyı e-postasında açtığında, uygulama kendi cihazına yüklenir. Uygulamayı yüklemek için e-posta bağlantısını kullanmaları önemlidir- App Center Distribute, diğer kaynaklardan yüklenmiş uygulamalar için uygulama içi güncelleştirmeleri desteklemez (örneğin, uygulamayı e-posta ekinden indirme). Bağlantıdan bir uygulama indirildiğinde SDK, güncelleştirmeleri daha sonra denetlemek için tanımlama bilgilerinden önemli bilgileri kaydeder, aksi takdirde SDK'da bu anahtar bilgiler bulunmaz.

  4. Uygulama izlemeyi özel olarak ayarlarsa, kullanıcının kimliğini doğrulamak ve uygulama içi güncelleştirmeleri etkinleştirmek için bir tarayıcı açılır. Genel parçaya geri dönüp daha sonra tekrar özele geçerken bile kimlik doğrulama bilgileri geçerli olduğu sürece tarayıcı yeniden açılmaz. Tarayıcı kimlik doğrulaması başarılı olursa, kullanıcı otomatik olarak uygulamaya yeniden yönlendirilir. Parça genel ise (varsayılan değerdir), bir sonraki adım doğrudan gerçekleşir.

    • iOS 9 ve 10'da, kullanıcının kimliğini doğrulamak için uygulama içinde bir örneği SFSafariViewController açılır. Kimlik doğrulaması başarılı olduktan sonra otomatik olarak kapanır.
    • iOS 11'de kullanıcı deneyimi iOS 9 ve 10'a benzer, ancak iOS 11 kullanıcıdan oturum açma bilgilerine erişim izni ister. Bu bir sistem düzeyi iletişim kutusudur ve özelleştirilemiyor. Kullanıcı iletişim kutusunu iptal ederse, test ettikleri sürümü kullanmaya devam edebilir, ancak uygulama içi güncelleştirmeleri alamaz. Bir sonraki sefer uygulamayı başlattıklarında oturum açma bilgilerine yeniden erişmeleri istenir.
  5. Uygulamanın yeni bir sürümünde, aşağıdaki durumlarda kullanıcıların uygulamanızı güncelleştirmesini isteyen uygulama içi güncelleştirme iletişim kutusu gösterilir:

    • veya değerinin daha yüksek bir CFBundleShortVersionString değeri
    • değerine eşit CFBundleShortVersionString ancak değeri daha yüksektir CFBundleVersion.
    • sürümleri aynıdır, ancak derleme benzersiz tanımlayıcısı farklıdır.

İpucu

Aynı ipa'yı ikinci kez yüklerseniz, ikili dosyalar aynı olduğundan iletişim kutusu GÖRÜNTÜLENMEZ . Aynı sürüm özelliklerine sahip yeni bir derlemeyi karşıya yüklerseniz güncelleştirme iletişim kutusu gösterilir. Bunun nedeni , farklı bir ikili olmasıdır.

Uygulama içi güncelleştirmeleri test Nasıl yaparım??

Uygulama içi güncelleştirmeleri test etmek için sürüm derlemelerini (App Center SDK'sının Dağıtma modülünü kullanan) App Center Portalı'na yüklemeniz ve her seferinde sürüm numaralarını artırmanız gerekir.

  1. Henüz yapmadıysanız uygulamanızı App Center Portalı'nda oluşturun.
  2. Uygulama içi güncelleştirme özelliğini test etme amaçlı olduğunu fark edebilmeniz için yeni bir dağıtım grubu oluşturun ve bunu adlandırın.
  3. Kendinizi (veya uygulama içi güncelleştirme özelliğini testinize dahil etmek istediğiniz tüm kişileri) ekleyin. Bunun için App Center'da bu uygulama için kullanılmayan yeni veya atmış bir e-posta adresi kullanın. Bu, deneyiminizin gerçek testçilerinizin deneyimine yakın olmasını sağlar.
  4. Uygulamanızın App Center Distribute'ı içeren ve aşağıda açıklandığı gibi kurulum mantığını içeren yeni bir derleme oluşturun. Grup özelse updateTrack özelliğini kullanmaya başlamadan önce özel uygulama içi güncelleştirme izlemesini ayarlamayı unutmayın.
  5. Portalda Yeni sürümü dağıt düğmesine tıklayın ve uygulama derlemenizi karşıya yükleyin.
  6. Karşıya yükleme tamamlandıktan sonra İleri'ye tıklayın ve bu uygulama dağıtımının Hedefi olarak oluşturduğunuz Dağıtım grubunu seçin.
  7. Dağıtım'ı gözden geçirin ve derlemeyi uygulama içi test grubunuzla dağıtın.
  8. Bu gruptaki Kişiler, uygulamanın test edicileri olmak için bir davet alır. Daveti kabul ettikten sonra uygulamayı mobil cihazlarından App Center Portalı'ndan indirebilirler. Uygulama içi güncelleştirmeler yüklendikten sonra, uygulama içi güncelleştirmeleri test etmeye hazırsınız demektir.
  9. Uygulamanızın sürüm adını (CFBundleShortVersionString) çarpın.
  10. Uygulamanızın yayın sürümünü derleyin ve önceki adımda yaptığınız gibi uygulamanızın yeni bir derlemesini karşıya yükleyin ve bunu daha önce oluşturduğunuz Dağıtım Grubuna dağıtın. Dağıtım Grubu üyelerinden, uygulama bir sonraki başlatılışında yeni bir sürüm istenir.

İpucu

Dağıtım Grupları vb. hakkında daha ayrıntılı bilgi için App Center Distribute'ın nasıl kullanıldığına ilişkin bilgilere göz atın. Herhangi bir kod eklemeden uygulamanızın yeni bir sürümünü dağıtmak için App Center Distribute'ı kullanmak mümkün olsa da, uygulamanızın koduna App Center Distribute eklemek, uygulama içi güncelleştirme deneyimini elde eden test kullanıcılarınız ve kullanıcılarınız için daha sorunsuz bir deneyime neden olur.

Uygulama temsilcisinin yöntem çağrılarının App Center hizmetlerine iletilmesi devre dışı bırak

App Center SDK'sı, uygulama temsilcisinin yöntem çağrılarından bazılarını ileterek tümleştirmesini geliştirmek için kaydırmayı kullanır. Yöntem kaydırma, çalışma zamanında yöntemlerin uygulanmasını değiştirmenin bir yoludur. Herhangi bir nedenle kaydırma kullanmak istemiyorsanız (örneğin, belirli bir ilke nedeniyle) aşağıdaki adımları izleyerek bu iletmeyi tüm App Center hizmetleri için devre dışı bırakabilirsiniz:

  1. Projenin Info.plist dosyasını açın.
  2. anahtarı ekleyin AppCenterAppDelegateForwarderEnabled ve değerini olarak 0ayarlayın. Bu, tüm App Center hizmetleri için uygulama temsilcisi iletmeyi devre dışı bırakır.
  3. Geri çağırmayı openURL projenin AppDelegate dosyasına ekleyin.
- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication
         annotation:(id)annotation {

  // Pass the url to MSACDistribute.
  return [MSACDistribute openURL:url];
}
func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {

  // Pass the URL to App Center Distribute.
  return Distribute.open(url)
}