NotificationCenter Почтовый запрос никогда не получен - PullRequest
0 голосов
/ 03 марта 2020

Я пытаюсь опубликовать сообщение для наблюдаемого в моем приложении, но по какой-то причине оно не работает вообще, и единственное, что я могу отнести к этому, это установка https://bugfender.com/ Может кто-нибудь сказать мне, что не так с этим код или как отследить причину root, поскольку сообщений об ошибках вообще нет

Оба фрагмента были перемещены в AppDelegate

  func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {


     NotificationCenter.default.post(name: Notification.Name("TestPost"), object: nil)
     NotificationCenter.default.addObserver(self, selector: #selector(onDidReceiveData(_:)), name: Notification.Name("TestPost"), object: nil)

    return true
  }

, а функции получателя

    @objc func onDidReceiveData(_ notification:Notification) {
        // Do something now
        print("XXXXXX received")
    }

===== Обновление с моим фактическим кодом для пользовательского плагина конденсатора =======

  func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

    ... code for receiving notification starts here

     NotificationCenter.default.post(name: Notification.Name("TestPost"), object: nil)

    ... code for receiving notification ends here


    return true
  }
import Foundation
import Capacitor

@objc(myHelpers)
public class myHelpers: CAPPlugin {

    public override func load() {
        print("PluginLoaded")

       let nc = NotificationCenter.default
            nc.addObserver(self, selector: #selector(handleSignal), name: Notification.Name("TestPost"), object: nil)

    }

    @objc func handleSignal()
    {
    print("XX WE RECEIVED AN EVENT AT handleSignal")
        notifyListeners(
            "myPluginEvent",
            data: [:],
            retainUntilConsumed: true
        )
    }    


}

1 Ответ

0 голосов
/ 03 марта 2020

Вам необходимо зарегистрировать своего наблюдателя, прежде чем публиковать уведомление.

...