2017-01-17 3 views
8

私はMac OS X用の電子アプリケーションを開発中です。.appとしてバンドルする前に、のローカルで開発中に自動アップデート機能をテストしようとしています。電子アプリをバンドルする前に(Macの場合)どのように署名するのですか?

私は、アップデートとして使用するために、electron-builderモジュールを使用して、.dmg.zipと一緒に、自分のアプリケーションの構築された一つの初期バージョン、Foo.appを持っています。私はこれらのファイルをホストしています。私は彼らが正しくインストールされ、実行されることを確認しました。そして、私はローカルで実行しているリスサーバーを持っていて、それは正しいJSONペイロードを返すでしょう。それは.zipです。

ローカルで自分のアプリケーションを開発するために、Webpackを使用してWebアセットをトランシルバイルにし、[email protected]を使用してこれらのアセットをElectronで起動します。言い換えれば、現地で開発するときは、同梱の.appを起動しません。私はデベロッパーサーバーを立ち上げ、Electronでそれらの資産を提供しています。このプロセスは、$ electron .の実行と同様です。

自動更新のフックが呼び出されたときに、問題がこのラインでは、発生します。

autoUpdater.setFeedURL(feedURL) 

この行が言う電子エラー発生します

"Could not get code signature for running application." 

OKを、私は検索を行いますアプリケーションにコードを付ける方法を説明するガイドがいくつかあることを確認してください。

  • https://github.com/electron-userland/electron-osx-sign/wiki/1.-Getting-Started
  • しかし、これらは私が.appをコード署名すべきであることを示しています。私が述べたように、の前に自動更新をテストしようとしています。の前に.appとしてバンドルします。自動更新が正しく機能するまで、何度も再構築しないことをお勧めします。

    だから私は別の検索を行うと、私が求めていたものと同じ多かれ少なかれあるいくつかのフォーラムの質問があります参照してください。

    は、

    解決策がこれらのスレッドを掘り下げるのに困っています。私は誰かがそれをバンドルする前に私に電子アプリに署名するための明確な解決策を与えることを望んでいる。答えのために


    、私はこれらのすべてに明確な答えを得るために期待しています:

    • はそれが前.appとしてそれを束ねるに自分の電子アプリをコード署名することは可能ですか?つまり、$ electron .で起動するファイルは?
    • はいの場合、どうですか?
    • そうでない場合、なぜですか?これをテストするスピードを上げる方法はありますか?
    +0

    私の現在の考え方は、*アプリケーションをバンドルする前にコードサインを書くことはできないということです。自動更新などの機能をテストしたい場合は、アプリケーションをバンドルしてコード署名し、バンドルされたアプリ内で機能をテストするだけです。私は事実のためにこれを知らない。他の人がこの質問を見て、何らかの実行可能な(欲求不満ではありますが)代替が必要な場合に備えて、ただそこに置いています。 – GladstoneKeep

    +0

    私はちょうど同じ問題に遭遇しました。挫折している... – lazlojuly

    答えて

    0

    ロングショットと私はこれを確認していません。

    Squirrel.Macは、現在実行中のアプリケーション[1]の署名をチェックします。これは、パッケージ化されたアプリケーションを実行しているときに実行可能なAppName.app/Contents/MacOS/AppNameです。基本的に改名された電子実行可能ファイルです。

    しかし、electron .を実行すると、node/binディレクトリの実行ファイルが実行されます。 Electronはデフォルトでは署名されていないため、署名した場合、自動アップデータは証明書チェックで成功する可能性があります。そこで、基本的

    1. 検索電子:which electron
    2. 電子経路に作業ディレクトリを変更
    3. サイン電子
    4. codesign -s "Developer ID Application: YourCompanyName" electronと検証codesign -dvvv electron
    とのコード署名

    うまくいけばそれはそれを切るべきです。

    関連する問題