Ich entwickle eine Electron-Anwendung für Mac OS X. Ich versuche, die automatische Update-Funktion bei der lokalen Entwicklung zu testen, vor der Bündelung als .app
.
Ich habe eine erste Version meiner Anwendung erstellt, Foo.app
, zusammen mit .dmg
und .zip
, die das electron-builder
-Modul verwenden, um es als Update zu verwenden. Ich habe diese Dateien gehostet. Ich habe überprüft, dass sie korrekt installiert und ausgeführt werden. Und ich habe einen Squirrel-Server, der lokal läuft, der eine korrekte JSON-Nutzlast zurückgibt, die auf dieses .zip
zeigt.
Um meine Anwendung lokal zu entwickeln, verwende ich Webpack, um meine Web-Assets zu übertragen und [email protected]
zum Starten dieser Assets in Electron zu verwenden. Mit anderen Worten, wenn ich mich lokal entwickle, starte ich nicht das gebündelte .app
; Ich starte einen Dev-Server und serviere diese Assets in Electron. Der Prozess ähnelt dem Ausführen von $ electron .
.
Das Problem tritt auf, wenn der Hook für automatische Aktualisierung in dieser Zeile aufgerufen wird:
%Vor%Diese Zeile löst einen Elektronenfehler aus, der besagt:
%Vor%OK, also mache ich eine Suche und sehe, dass es einige Handbücher gibt, die erklären, wie man eine Anwendung signiert:
Aber diese geben an, dass ich das .app
signieren soll. Wie ich bereits erwähnt habe, versuche ich die automatische Aktualisierung zu testen, bevor ich sie als .app
bündle. Ich würde es vorziehen, nicht immer wieder neu zu erstellen, bis ich Auto-Update richtig funktioniert.
Also mache ich eine andere Suche und sehe, dass es mehrere Forum-Fragen gibt, die mehr oder weniger die gleichen sind wie das, was ich frage:
Ich habe Probleme, die Lösung zu graben, um durch diese Threads zu graben. Ich hoffe, dass jemand mir eine klare Lösung geben kann, eine Electron-App zu signieren, bevor ich sie bündle.
Für eine Antwort hoffe ich, eine klare Antwort zu all diesen Fragen zu bekommen:
.app
zu signieren? Das heißt, die Dateien, die ich mit $ electron .
? Long shot und ich habe das nicht verifiziert.
Squirrel.Mac überprüft das Signieren der aktuell laufenden Anwendung [ 1 ], dies ist die ausführbare Datei AppName.app/Contents/MacOS/AppName
, wenn Sie eine gepackte App ausführen. Was grundsätzlich ein umbenanntes Elektron ist ausführbar.
Aber wenn Sie electron .
ausführen, wird die ausführbare Datei von Ihrem node/bin
-Verzeichnis ausgeführt. Electron ist nicht standardmäßig signiert. Wenn Sie es signieren, wird der automatische Updater möglicherweise mit der Zertifikatsprüfung erfolgreich sein.
Also im Grunde:
which electron
codesign -s "Developer ID Application: YourCompanyName" electron
codesign -dvvv electron
Hoffentlich sollte das es schneiden.
Tags und Links javascript macos electron