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:
- Uygulamanızı App Store yayımladıysanız, uygulama içi güncelleştirmeler devre dışı bırakılır.
- 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ızda SDK'yı yapılandırmadıysanız Başlarken bölümünü izleyin.
App Center SDK modüler bir yaklaşımla tasarlanmıştır; yalnızca ilgilendiğiniz hizmetlerin modüllerini tümleştirmeniz gerekir.
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'
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
carthage update
öğesini çalıştırın.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.
AppCenterDistributeResources.bundle dosyasınıAppCenterDistribute.framework'ten XCode'un Proje Gezgini'ne sürükleyip bırakın.
Bir iletişim kutusu görüntülenir ve uygulama hedefinizin işaretli olduğundan emin olun. Ardından, Son'a tıklayın.
- Xcode menüsünde Dosya > Swift Paketleri > Paket Bağımlılığı Ekle'ye tıklayın.
- Görüntülenen iletişim kutusuna depo URL'sini girin:
https://github.com/microsoft/appcenter-sdk-apple.git
. - Sürüm'deSonraki Ana Seçeneğe Kadar'ı seçin ve varsayılan seçeneği kullanın.
- Paket Ürünü sütununda AppCenterDistribute öğesini seçin.
Cocoapods kullanmak istemiyorsanız, ikili dosyaları projenize kopyalayarak modülleri tümleştirebilirsiniz. Aşağıdaki adımları izleyin:
Not
App Center SDK'sı XCframework
kullanı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.
Zip dosyası olarak sağlanan App Center SDK çerçevelerini indirin.
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.[İ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.
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.
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.
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.
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
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.
- 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. - Anahtar türünü Dizi olarak değiştirin.
- Diziye
Item 0
() yeni bir giriş ekleyin ve türü Sözlük olarak değiştirin. - altında
Item 0
birURL Schemes
anahtar ekleyin ve türü Dizi olarak değiştirin. - Anahtarınızın
URL Schemes
altına yeni bir girdi ()Item 0
ekleyin. - altında
URL Schemes
>Item 0
değerini olarakappcenter-{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>
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.
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
.
[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).
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.
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.
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)
}
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 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
.
Ö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ı Distribute
DEBUG
ö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
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.
}
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:
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...
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.
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.
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.
- iOS 9 ve 10'da, kullanıcının kimliğini doğrulamak için uygulama içinde bir örneği
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üksektirCFBundleVersion
. - sürümleri aynıdır, ancak derleme benzersiz tanımlayıcısı farklıdır.
- veya değerinin daha yüksek bir
İ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 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.
- Henüz yapmadıysanız uygulamanızı App Center Portalı'nda oluşturun.
- 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.
- 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.
- 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.
- Portalda Yeni sürümü dağıt düğmesine tıklayın ve uygulama derlemenizi karşıya yükleyin.
- 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.
- Dağıtım'ı gözden geçirin ve derlemeyi uygulama içi test grubunuzla dağıtın.
- 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.
- Uygulamanızın sürüm adını (
CFBundleShortVersionString
) çarpın. - 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.
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:
- Projenin Info.plist dosyasını açın.
- anahtarı ekleyin
AppCenterAppDelegateForwarderEnabled
ve değerini olarak0
ayarlayın. Bu, tüm App Center hizmetleri için uygulama temsilcisi iletmeyi devre dışı bırakır. - Geri çağırmayı
openURL
projeninAppDelegate
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)
}