Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在app store上发布Electron应用程序?_Javascript_Xcode_Macos_Electron_Electron Builder - Fatal编程技术网

Javascript 如何在app store上发布Electron应用程序?

Javascript 如何在app store上发布Electron应用程序?,javascript,xcode,macos,electron,electron-builder,Javascript,Xcode,Macos,Electron,Electron Builder,我已将应用程序打包到mas文件,以便上载到应用程序商店。但是 从Xcode 11开始,它们不再提供应用程序加载程序 电子不会产生XCode项目 在这种情况下,最好的解决方案是什么。我们需要在developer.apple.com上生成证书,还需要导入我们的密钥链。 苹果开发证书 苹果分销证书 Mac应用程序分发证书(用于公证) Mac安装程序分发证书(用于公证) (第三方)开发者ID应用程序证书(用于发布到应用商店) (第三方)开发者ID安装程序证书(用于发布到应用商店) 然后,您需要从a

我已将应用程序打包到mas文件,以便上载到应用程序商店。但是

  • 从Xcode 11开始,它们不再提供应用程序加载程序
  • 电子不会产生XCode项目
  • 在这种情况下,最好的解决方案是什么。我们需要在developer.apple.com上生成证书,还需要导入我们的密钥链。

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

    然后,您需要从app store connect下载应用程序的配置文件。(把它放在你想去的地方,但需要在配置中指出)

    您可以在此处找到创建和下载应用程序的配置文件

    2。需要配置您的
    electron builder。
    以下是配置。

    构建/授权。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>
    
    <?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>
    
    
    com.apple.security.app-sandbox
    com.apple.security.application-groups
    [前缀(在应用商店连接上)]。[应用程序绑定ID EX:com.desktop.app]
    com.apple.security.cs.allow-jit
    com.apple.security.cs.allow-unsigned-executable-memory
    com.apple.security.cs.allow-dyld-environment-variables
    
    构建/授权.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.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>
    
    <?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>
    
    
    com.apple.security.app-sandbox
    com.apple.security.inherit
    
    (由于此权利列表是基本列表,您可以根据需要进行配置,但发布应用商店时必须使用上面的权利列表。尤其是,
    sand box
    必须按照苹果的要求设置)

    运行后
    npm运行构建
    ,这意味着(electron builder.) Electron builder将生成
    mas
    mac
    pkg
    ,然后

    3。将应用上载到Mac应用商店。我使用了Mac App Store上提供的
    Transporter
    。(正如我之前在问题中提到的,在Xcode11中,他们不再支持应用程序加载器)

    重要提示:Electron builder已修复v22.5.0中的签名问题 因此,您需要使用更高版本。

    最后,这里是与当前electron builder配合良好的项目结构

    参考:

    希望这对你有很大帮助~


    (不幸的是:当沙箱启用时,应用程序停止工作。Electron团队正在执行此任务。因此,请相信此问题将很快得到解决。)

    对此有任何更新吗?电子方面是否仍然存在阻塞问题?