簡體   English   中英

導出的 Electron APP 無法在 MacOS 上運行

[英]Exported Electron APP doesn't work on MacOS

我創建了我的第一個電子應用程序,我准備發布它。 我能夠為這兩個平台導出它而沒有錯誤:

  • Linux Debian
  • 窗戶

但是當我為 MacOS 導出它時, test.app不起作用。

我正在使用 MacOS HighSierra 並且我測試了我能想到的所有內容,但無法讓我的應用程序在 MacOS 上運行。

我不確定在執行之前是否必須將其轉換為dmg文件,因此我使用本指南測試了將我的應用程序轉換為.dmg情況:

https://kb.parallels.com/en/123895

但是當我運行dmg並嘗試安裝該應用程序時,我再次遇到相同的錯誤。 我真的嘗試了一切,但沒有運氣。 我希望這里有人知道如何為 MacOS 導出它。

為了導出應用程序,我使用了electron-packager ,這是我的package.json

   {
  "name": "test",
  "version": "1.0.0",
  "description": "",
  "main": "app.js",
  "scripts": {
    "start": "electron .",
    "package-mac": "electron-packager . --overwrite --platform=darwin --arch=x64 --icon=assets/icons/mac/icon.icns --prune=true --out=release-builds --app-copyright=\"test",
    "package-win": "electron-packager . test --overwrite --asar=true --platform=win32 --arch=ia32 --icon=assets/icons/win/icon.ico --prune=true --out=release-builds --version-string.CompanyName=CE --version-string.FileDescription=CE --version-string.ProductName=\"test\" --app-copyright=\"test\"",
    "package-linux": "electron-packager . test --overwrite --asar=true --platform=linux --arch=x64 --icon=assets/icons/png/icon.png --prune=true --out=release-builds --app-copyright=\"test"
  },
  "dependencies": {},
  "devDependencies": {
    "electron": "1.8.4",
    "electron-packager": "^9.0.1"
  }
}

這是我嘗試在 Mac 上運行test.app文件時的錯誤日志,這是我從 Electron 導出的:

Process:               test [657]
Path:                  /Volumes/*/test.app/Contents/MacOS/test
Identifier:            com.electron.test
Version:               1.1.1 (1.1.1)
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           test [657]
User ID:               501

Date/Time:             2018-04-11 13:23:39.858 -0700
OS Version:            Mac OS X 10.13 (17A291j)
Report Version:        12
Anonymous UUID:        0CF5BE48-84D7-4216-9DC6-58685E649DDD


Time Awake Since Boot: 550 seconds

System Integrity Protection: enabled

Crashed Thread:        0

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    DYLD, [0x1] Library missing

Application Specific Information:
dyld: launch, loading dependent libraries

Dyld Error Message:
  Library not loaded: @rpath/Electron Framework.framework/Electron Framework
  Referenced from: /Volumes/*/test.app/Contents/MacOS/test
  Reason: no suitable image found.  Did find:
    /Volumes/VMware Shared Folders/dev/test.app/Contents/MacOS/../Frameworks/Electron Framework.framework/  Electron Framework: file too short
    /Volumes/VMware Shared Folders/dev/app/release/test-darwin-x64/test.app/Contents/MacOS/../Frameworks/   Electron Framework.framework/Electron Framework: stat() failed with errno=1

Binary Images:
       0x103f99000 -        0x103f99ff7 +com.electron.test (1.1.1 - 1.1.1) <    C11B8E11-EDD2-37B9-9AB5-5FE9E97FFFFB> /Volumes/*/test.app/Contents/MacOS/test
       0x10d97a000 -        0x10d9c237f  dyld (513.2) <CEB3F2DA-93CF-3991-AD98-582FAF7023AB> /usr/lib/dyld

如果源代碼在 mac 機器上使用npm start正常運行,那么這是一個電子包裝器問題。 我建議您嘗試使用electron-builder 進行構建

注意:您需要一台 mac 機器來制作 .dmg 版本。

查看zulip/zulip-electron的配置

在 Mac 上啟動應用程序時,我反復面臨崩潰問題。

崩潰的原因原來是某些 Electron 框架文件夾的權限問題。 文件夾有 744 權限, root作為所有者,因此登錄用戶無法執行框架文件。 將文件夾的權限更改為 755 為我解決了這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM