MSDistributeDelegate распространять метод не вызывается - PullRequest
0 голосов
/ 20 февраля 2020

Это мой 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>

Но ничего не происходит. Я не понимаю, как это должно работать? Я подумал, что браузер должен открыть ссылку, которая приведет нас на страницу обновления, а затем мы вернемся к обновленному приложению.

Я что-то упустил? Как это отладить?

...