如何验证我的Electron应用程序,以避免在macOS上出现“无法验证开发人员”错误?[已关闭]

im9ewurl  于 2023-09-28  发布在  Electron
关注(0)|答案(2)|浏览(285)

已关闭,此问题需要更focused。它目前不接受回答。
**想改善这个问题吗?**更新问题,使其只关注editing this post的一个问题。

上个月关门了。
Improve this question
我开发了一个React Electron应用程序,并使用electron-builder将其打包。在macOS上安装应用程序后,我遇到了一个问题,即尝试打开它会导致错误消息:“我的Electron App打不开,因为开发者无法验证。”
虽然我通过临时调整安全设置并单击“无论如何打开”按钮来绕过这个错误,但我的目标是为应用程序建立适当的验证。我想确保当我与其他人共享应用程序时,他们可以安装和运行它,而无需修改任何设置或禁用安全功能。
有人可以指导我完成验证Electron应用程序的步骤,以便它可以在其他macOS机器上顺利安装和启动,而不会遇到“开发人员无法验证”的障碍吗?您的帮助将不胜感激!
我已经研究了多个来源,他们建议加入苹果开发者计划来解决这个问题。https://developer.apple.com/support/app-account/

kx7yvsdv

kx7yvsdv1#

macOS上的“开发人员无法验证”错误是由于Apple的Gatekeeper安全功能而产生的。为了向用户保证您的应用是安全的,请对其进行代码签名和公证。以下是验证Electron应用程序的分步指南:
1.加入Apple开发者计划:
您需要注册Apple开发者计划才能获得必要的证书和工具。它是有年费的。enroll here
1.获取开发者ID证书:
登录Apple Developer Center
导航到证书、标识符和配置文件。
在macOS下,选择证书,然后单击+按钮以创建新证书。
选择“Developer ID Application(开发人员ID应用程序)”,然后按照屏幕上的说明进行操作。
1.对Electron App进行代码签名:
使用支持代码签名的电子构建器。确保您的Mac上安装了开发者ID应用程序证书。
在你的电子构建器配置中(通常在package.json中),确保你有。

"mac": {
  "category": "your.app.category",
  "entitlements": "./build/entitlements.mac.plist",
  "hardenedRuntime": true,
  "gatekeeperAssess": false,
  "type": "distribution"
},
"dmg": {
  "sign": false
}

plist是一个定义应用权限的文件。对于基本应用程序,这可能不是必需的,但对于使用某些macOS功能的应用程序,您需要指定权限。
1.对应用程序进行公证:
启动macOS Catalina ,应用程序需要经过Apple公证。这是一个自动化的过程,Apple会扫描您的应用程序以查找恶意内容。
调整您的电子构建器配置:

"afterSign": "scripts/notarize.js"

在您的notarize.js中:

require('dotenv').config();
const { notarize } = require('electron-notarize');

exports.default = async function notarizing(context) {
  const { electronPlatformName, appOutDir } = context;
  if (electronPlatformName !== 'darwin') {
    return;
  }

  const appName = context.packager.appInfo.productFilename;

  return await notarize({
    appBundleId: 'your.app.id',
    appPath: `${appOutDir}/${appName}.app`,
    appleId: process.env.APPLE_ID,
    appleIdPassword: process.env.APPLE_ID_PASSWORD,
  });
};

1.分发应用程序:
签署和公证后,将.dmg或.pkg文件分发给用户。他们不应该再看到“开发人员无法验证”的错误。

az31mfrm

az31mfrm2#

你是对的,已识别的开发人员是Apple开发人员计划的付费成员。系统中有许多法律的和财务协议以及Apple开发人员文件,有助于保护在其他用户机器上分发和运行的软件的安全性。确保此安全性的两个组件需要Apple向成员颁发的开发者ID或Appstore分发证书:认证的共同设计和公证。我想最近收费略有增加,但只是象征性的,每年大约100美元左右。
参见https://discussions.apple.com/thread/7488189

相关问题