2016-07-17 6 views
2

Je suis nouveau à l'application dekstop par l'électron. Cependant, j'ai construit une application de bureau en utilisant this source code et en changeant simplement les liens vers mon site. Maintenant, j'ai une application de bureau fonctionnelle pour mac.Protocole personnalisé d'url pour l'application de bureau OSX en utilisant l'électron par atome

Mais je veux ouvrir mon application avec un lien dire appName: // et une liaison- suit

Comment puis-je mettre en œuvre le schéma URL personnalisé pour ouvrir l'application dekstop chaque fois que je clique appName:// ....

par exemple: Je veux faire quelque chose comme application de bureau Slack qui ouvre en cliquant jeu: // et une liaison

Toute aide s'il vous plaît. Coincé ici pendant 2 jours. Merci d'avance.

Répondre

0

Je l'ai trouvé.

  1. compilons pour votre application
  2. clic droit -> Contenu de l'emballage show
  3. En info.plist ajouter le
  4. suivant

Can't pase code. So in image

  1. Ouvrez l'application une fois pour enregistrer customURL dans le système.

dans le terminal entrer /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -dump | egrep "(fixations *: $.)" | Sorte pour vérifier wheather vôtre est dans la liste.

+0

J'ai réussi à passer myapp: // param avec 'url-event, sur une instance en cours d'exécution. Mais n'ont pas encore fait pour démarrer myapp en entrant myapp: // param URL de Safari/Chrome etc! – oikonomopo

+0

Fondamentalement mon application commence juste mais sans passer le schéma d'URL! Lorsque l'instance d'application existe, elle passe le schéma! – oikonomopo

2

Aujourd'hui, j'ai fait face à une chose similaire et en faisant des recherches, j'ai trouvé this useful tutorial sur la façon de le faire. Il explique tout à fond et je pense que cela pourrait être utile pour d'autres personnes confrontées au même problème. Ce sont les faits saillants:

const electron = require('electron') 
const protocol = electron.protocol 
// handles links `todo2://<something>` 
const PROTOCOL_PREFIX = 'todo2' 
function createWindow() { 
    mainWindow = new BrowserWindow({width: 1000, height: 800}) 
    protocol.registerHttpProtocol(PROTOCOL_PREFIX, (req, cb) => { 
    const fullUrl = formFullTodoUrl(req.url) 
    devToolsLog('full url to open ' + fullUrl) 
    mainWindow.loadURL(fullUrl) 
    }) 

} 

Aussi il y a un guide sur la façon de construire pour les OSX et de Windows à la fin du poste I lié.

Pour ceux qui aimeraient lire un peu plus, voici un lien vers le official docs.