Это мой AppDelegate:
import UIKit
import AppCenter
import AppCenterDistribute
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, MSDistributeDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
MSDistribute.setDelegate(self)
MSAppCenter.start("...", withServices: [MSDistribute.self])
return true
}
func distribute(_ distribute: MSDistribute!, releaseAvailableWith details: MSReleaseDetails!) -> 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
MSDistribute.notify(.update)
})
alertController.addAction(UIAlertAction(title: "Postpone", style: .default) {_ in
MSDistribute.notify(.postpone)
})
// Show the alert controller.
self.window?.rootViewController?.present(alertController, animated: true)
return true;
}
}
Поэтому, когда я произнесу, скажем, сборку 1, с этим кодом, а затем опубликую sh новую сборку для участников (или внутренней или опубликованной c группы тестеры), и когда они пытаются открыть свое текущее приложение (сборка 1), этот код не запускается.
Я следовал за примерами в Центре приложений для этого, и среди прочего я добавил это в свой info.plist :
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>"appcenter-..."</string>
</array>
</dict>
</array>
Но ничего не происходит. Я не понимаю, как это должно работать? Я подумал, что браузер должен открыть ссылку, которая приведет нас на страницу обновления, а затем мы вернемся к обновленному приложению.
Я что-то упустил? Как это отладить?