版本 :
dmg
文件工作正常。但是当我尝试通过 Transporter 进行验证时,出现以下错误。错误
构建配置
"build": {
"appId": "<APP_ID>",
"productName": "<PRODUCT_NAME",
"copyright": "<COMPANY_NAME>",
"afterSign": "scripts/notarize.js",
"directories": {
"buildResources": "resources",
"output": "release"
},
"mac": {
"hardenedRuntime": true,
"gatekeeperAssess": false,
"category": "public.app-category.developer-tools",
"target": ["mas"],
"icon": "resources/icon.icns",
"identity": "<IDENTITY>",
"provisioningProfile": "build/mac.provisionprofile",
"type": "distribution",
"electronLanguages": ["en"],
"entitlements": "build/mac.plist",
"entitlementsInherit": "build/mac.plist"
},
"mas": {
"hardenedRuntime": false,
"provisioningProfile": "build/mas.provisionprofile",
"type": "distribution",
"electronLanguages": ["en"],
"entitlements": "build/entitlements.mas.plist",
"entitlementsInherit": "build/entitlements.mas.inherit.plist"
},
"dmg": {
"sign": false,
"contents": [
{
"x": 130,
"y": 220
},
{
"x": 410,
"y": 220,
"type": "link",
"path": "/Applications"
}
]
},
"files": [
"dist/",
"node_modules/",
"app_prod.html",
"main.prod.js",
"main.prod.js.map",
"package.json",
"assets/"
],
"win": {
"target": ["nsis"]
},
"linux": {
"target": ["deb", "AppImage"],
"category": "Development"
}
},
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: process.env.BUNDLE_ID,
appPath: `${appOutDir}/${appName}.app`,
appleId: process.env.APPLE_ID,
appleIdPassword: process.env.APPLE_ID_PASS,
});
};
mac.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.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.network.client</key>
<true/>
<key>com.apple.security.files.user-selected.read-write</key>
<true/>
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
</dict>
</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.application-identifier</key>
<string>APPLICATION_ID</string>
<key>com.apple.developer.team-identifier</key>
<string>TEAM_ID</string>
<key>com.apple.security.application-groups</key>
<array>
<string>BUNDLE_ID</string>
</array>
<key>com.apple.security.network.client</key>
<true/>
<key>com.apple.security.files.user-selected.read-only</key>
<true/>
<key>com.apple.security.files.downloads.read-write</key>
<true/>
<key>com.apple.security.files.user-selected.read-write</key>
<true/>
<key>com.apple.security.files.all</key>
<true/>
<key>com.apple.security.application-groups</key>
<string>security</string>
</dict>
</plist>
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>
我的证书
构建文件夹
配置文件
另外,Notarization步骤也通过了。这里有什么遗漏吗?
最佳答案
我有 same error message with a newer version of electron .对我来说真正的问题是我有多个 x.provisionprofile
s,而不是 embedded.provisionprofile
(如 Electron 构建器文档所述)使用了其他一个,从而导致此错误。您可以在此处查看完整的源代码和build设置:
https://github.com/johannesjo/super-productivity
关于macos - 错误 ITMS-90283 : Invalid Provisioning Profile. bundle 中包含的配置文件无效 [缺少代码签名证书],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59082000/