我已将应用打包为mas文件,以上传到App Store。但是
在这种情况下,最佳解决方案是什么?
答案 0 :(得分:4)
1。我们需要在developer.apple.com上生成证书,也需要导入到我们的钥匙串中。
然后,您需要从App Store Connect下载应用的配置文件。 (将其放置在您想放置的任何地方,但需要在配置中指出)
您可以在 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"
},
}
build / 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>
build / entitlements.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
后,这意味着(电子生成器。)
电子生成器将生成mas
,mac
,pkg
,然后
3。将应用程序上载到Mac App Store。我使用了Transporter
,它可以在Mac App Store中使用。 (正如我之前提到的那样。从Xcode11开始,它们不再支持应用程序加载器了)
重要提示:Electron-builder已修复v22.5.0版中的签名问题 因此,您需要使用替代版本。
参考:
https://github.com/electron/electron-osx-sign/issues/188
https://github.com/electron/electron/issues/22656
希望这对您有很大帮助〜
(不幸的是:启用沙箱后,应用程序停止运行。Electron团队正在执行此任务。因此,相信此问题将很快得到解决。https://github.com/electron/electron/issues/24936)