Estoy tratando de crear una extensión web de Safari para mi aplicación nativa. Quiero tener una ventana emergente con un botón que, al hacer clic, se comunicará con mi aplicación nativa:
browser.runtime.sendNativeMessage({message: "Open Main App"}, function(response) { console.log("Received sendNativeMessage response:"); console.log(response); });Sin embargo, la aplicación no recibe el mensaje enviado desde Safari Web Extension:
func beginRequest(with context: NSExtensionContext) { its the function that handles all things then if msg.contains("Open Main App") == true { print("NEED TO OPEN") guard let url = URL(string: "player:Vacation?index=1") else { return } NSWorkspace.shared.open(url) }El registro de Safari mostró este mensaje de error:
ReferenceError: Can't find variable: browser¿Qué está mal?
¿Utilizó browser.runtime.sendNativeMessage del script de fondo? También debe establecer el permiso en el archivo de manifiesto. Así: "permissions": [ "nativeMessaging" ]