Tôi đang phát triển một ứng dụng Electron cho Mac OS X. Tôi đang cố gắng thử nghiệm tính năng tự động cập nhật của nó trong khi phát triển cục bộ, trước khi gói nó dưới dạng .app
.Làm cách nào để mã ký một ứng dụng Electron trước khi gói nó (cho Mac)?
Tôi có một phiên bản ban đầu của ứng dụng, Foo.app
, cùng với .dmg
và .zip
, sử dụng mô-đun electron-builder
, để sử dụng làm bản cập nhật. Tôi đã lưu trữ các tệp này. Tôi đã xác minh rằng họ cài đặt và chạy đúng. Và tôi có một máy chủ Squirrel, chạy cục bộ, sẽ trả về một tải trọng JSON chính xác trỏ đến số .zip
đó.
Để phát triển ứng dụng của mình cục bộ, tôi đang sử dụng Webpack để chuyển đổi nội dung web của mình và sử dụng [email protected]
để khởi chạy các nội dung đó trong Electron. Nói cách khác, khi phát triển cục bộ, tôi không khởi chạy gói kèm theo .app
; Tôi đang khởi chạy một máy chủ dev và phục vụ các tài sản đó trong Electron. Quá trình này tương tự như chạy $ electron .
.
Vấn đề xảy ra khi móc tự động cập nhật được gọi là, tại dòng này:
autoUpdater.setFeedURL(feedURL)
Dòng này đặt ra một lỗi điện tử nói rằng:
"Could not get code signature for running application."
OK, vì vậy tôi thực hiện tìm kiếm và thấy rằng có một số hướng dẫn giải thích cách mã ký một ứng dụng:
- http://jbavari.github.io/blog/2015/08/14/codesigning-electron-applications/
- https://github.com/electron-userland/electron-osx-sign/wiki/1.-Getting-Started
- https://discuss.atom.io/t/electron-app-signing-procedure/19124
Nhưng, những chỉ ra rằng tôi nên mã ký .app
. Như tôi đã nói, tôi đang cố gắng kiểm tra tự động cập nhật trước khi Tôi nhóm nó dưới dạng .app
. Tôi không muốn xây dựng lại một lần nữa và một lần nữa cho đến khi tôi nhận được tự động cập nhật làm việc một cách chính xác.
Vì vậy, tôi làm một tìm kiếm khác và xem có một số câu hỏi diễn đàn mà có nhiều hoặc ít hơn giống như những gì tôi yêu cầu:
- https://discuss.atom.io/t/problem-with-auto-updater/14537
- https://discuss.atom.io/t/could-not-get-code-signature-for-running-application/30405
- https://github.com/electron/electron/issues/7476
Tôi đang gặp khó khăn khi giải quyết các giải pháp đào từ các chủ đề này. Tôi hy vọng một người nào đó có thể cho tôi một giải pháp rõ ràng để ký một ứng dụng Electron trước khi gói nó.
Đối với một câu trả lời, tôi hy vọng để có được một câu trả lời rõ ràng về tất cả những:
- Có thể mã hóa ký ứng dụng điện tử của tôi trước khi bundling nó như là một
.app
? Tức là, các tệp mà tôi sẽ khởi chạy với$ electron .
? - Nếu có, làm cách nào?
- Nếu không, tại sao? Và có cách nào để tăng tốc độ thử nghiệm này?
Niềm tin hiện tại của tôi là * không thể * để ký mã trước khi gói ứng dụng. Nếu bạn muốn thử nghiệm một tính năng như tự động cập nhật, bạn sẽ chỉ cần đóng gói ứng dụng, ký hiệu mã và sau đó kiểm tra tính năng trong ứng dụng được nhóm. Tôi không biết điều này cho một thực tế; Tôi chỉ cần đặt nó ra có trong trường hợp những người khác nhìn thấy câu hỏi này và muốn một số loại thay thế khả thi (mặc dù bực bội). – GladstoneKeep
Tôi vừa gặp sự cố tương tự. Bực bội ... – lazlojuly