SFSafariPage プロパティは、次のように値を取得します
class SafariExtensionHandler: SFSafariExtensionHandler {
var somePage: SFSafariPage?
override func messageReceived(withName messageName: String, from page: SFSafariPage, userInfo: [String : Any]?) {
// This method will be called when a content script provided by your extension calls safari.extension.dispatchMessage("message").
if messageName == "script injected successfully" {
somePage = page
NSLog(String(describing: somePage))
}
}
しかし、私はそれを使用しようとすると
func performPlayerAction(_ action: PlayerAction) {
NSLog("page %@", String(describing: somePage))
somePage?.dispatchMessageToScript(withName: action.rawValue, userInfo: nil)
}
プロパティ somePage の値は nil です。なぜこれが起こったのですか?どうもありがとう!