gpt4 book ai didi

javascript - 如何将 Electron 应用发布到应用商店?

转载 作者:行者123 更新时间:2023-12-03 12:21:08 25 4
gpt4 key购买 nike

我已将应用程序打包为 mas 文件以上传到 App Store。但

  • 从 Xcode 11 开始,他们不提供 应用程序加载器 了。
  • Electron 不会生成 XCode 项目。

  • 在这种情况下,最好的解决方案是什么?

    最佳答案

    1.我们需要在developer.apple.com上生成证书,还需要导入到我们的keychain中。

  • 苹果开发证书
  • 苹果经销证书
  • Mac 应用分发 证书(公证)
  • Mac 安装程序分发 证书(公证)
  • (第三方)开发者ID申请证书(用于发布到应用商店)
  • (第三方)开发者 ID 安装程序 证书(用于发布到应用商店)

  • enter image description here
    然后你需要下载你应用的 配置文件从应用商店连接。 (将其放置在您想要的任何位置,但需要在配置中指明)
    您可以在此处找到创建和下载应用程序的配置文件 https://developer.apple.com/account/resources/profiles/list
    2.需要配置你的electron-builder.这是配置。
    {
    "productName": "your product",
    "appId": "com.my.first.app", //which can be found on your app store connect
    "directories": {
    "buildResources": "buildResources",
    "output": "release"
    },
    "files": ["main.js", "node_modules", "build" ], // include other necessary resources.
    "mac": {
    "type": "distribution",
    "target": ["mas", "pkg", "dmg"],
    "artifactName": "${productName}-${version}-${os}.${ext}",
    "category": "public.app-category.utilities",
    "provisioningProfile": "embedded.provisionprofile"
    },
    "mas": {
    "hardenedRuntime" : false, //IMPORTANT!!!!
    "type": "distribution",
    "category": "public.app-category.utilities",
    "entitlements": "build/entitlements.mas.plist",
    "entitlementsInherit": "build/entitlements.mas.inherit.plist"
    },
    }
    构建/entitlements.mas.plist
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>com.apple.security.app-sandbox</key>
    <true/>
    <key>com.apple.security.application-groups</key>
    <string>[prefix (on your app store connect)].[app bundleID EX: com.desktop.app]</string>
    <key>com.apple.security.cs.allow-jit</key>
    <true/>
    <key>com.apple.security.cs.allow-unsigned-executable-memory</key>
    <true/>
    <key>com.apple.security.cs.allow-dyld-environment-variables</key>
    <true/>
    </dict>
    </plist>
    构建/权利.mas.inherit.plist
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>com.apple.security.app-sandbox</key>
    <true/>
    <key>com.apple.security.inherit</key>
    <true/>
    </dict>
    </plist>
    (因为这个权限列表是基本的,你可以根据自己的需要进行配置,但以上是发布应用商店时必须的。特别是 sand-box必须设置为Apple的要求)
    运行后 npm run build这意味着( Electron 生成器。)
    Electron 生成器将生成 mas , mac , pkg接着
    3. 将应用程序上传到 Mac App Store。我用过Transporter可在 Mac App Store 上找到。 (正如我之前提到的问题。从 Xcode11 开始,它们不再支持应用程序加载器)

    IMPORTANT: Electron-builder has fixed the signing issue from v22.5.0So you need to use later version.


    最后,这是与当前 Electron 构建器配合良好的项目结构。 enter image description here
    引用:
    https://medium.com/@jondot/shipping-electron-apps-to-mac-app-store-with-electron-builder-e960d46148ec
    https://github.com/electron/electron-osx-sign/issues/188
    https://github.com/electron/electron/issues/22656
    希望对你有很大帮助~
    (不幸的是:当启用沙盒时,应用程序停止工作。Electron 团队正在处理此任务。所以相信这将很快得到解决。 https://github.com/electron/electron/issues/24936)

    关于javascript - 如何将 Electron 应用发布到应用商店?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63216569/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com