首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >电子MacOS应用程序在试飞中“不可用于测试”

电子MacOS应用程序在试飞中“不可用于测试”
EN

Stack Overflow用户
提问于 2022-05-11 02:50:37
回答 1查看 469关注 0票数 1

我正在开发一个通用的电子MacOS应用程序,虽然我已经走得很远了,但我似乎不知道如何让它在测试中进行测试。

无论我做什么,我都会在中遇到以下错误:

我在用:

  • electron-builder: 23.0.8
  • electron: 17.4.3
  • electron-builder-notarize: 1.4.0

我正在建造一个M1 Macbook Air,蒙特利12.3.1。

我发现了各种各样有用的东西:

我的圈套

package.json

代码语言:javascript
复制
    "build": {
        "appId": "com.xxxxx.xxxxxx",
        "afterSign": "electron-builder-notarize",
        "mac": {
            "category": "public.app-category.entertainment",
            "darkModeSupport": true,
            "hardenedRuntime": true,
            "gatekeeperAssess": false,
            "entitlements": "build/entitlements.mac.plist",
            "entitlementsInherit": "build/entitlements.mac.plist",
            "icon": "build/icon.icns",
            "target": [
                {
                    "target": "mas",
                    "arch": "universal"
                },
                "dmg"
            ]
        },
        "mas": {
            "type": "distribution",
            "hardenedRuntime": false,
            "provisioningProfile": "embedded.provisionprofile",
            "entitlements": "build/entitlements.mas.plist",
            "entitlementsInherit": "build/entitlements.mas.inherit.plist"
        }
    }

entitlements.mas.plist

代码语言:javascript
复制
<?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>TEAMID.com.app.appname</string>
        <key>com.apple.application-identifier</key>
        <string>TEAMID.com.app.appname</string>
        <key>com.apple.developer.team-identifier</key>
        <string>TEAMID</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>

entitlements.mas.inherit.plist

代码语言:javascript
复制
<?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>
EN

回答 1

Stack Overflow用户

发布于 2022-05-11 20:51:37

在查看了所有这些之后,只需在添加不同的权利时,就可以使用以下设置解决。老实说,我不知道在这一点上哪一个是相关的,经过几天的调试,我已经超出了关心的范围。但对于那些发现自己陷入困境的未来网络旅行者来说,以下是我的经历:

package.json相关部分(添加了loginhelper!)

代码语言:javascript
复制
"build": {
    "appId": "com.xxxxxx.xxxxxx",
    "afterSign": "electron-builder-notarize",
    "mac": {
        "category": "public.app-category.entertainment",
        "darkModeSupport": true,
        "hardenedRuntime": true,
        "gatekeeperAssess": false,
        "entitlements": "build/entitlements.mac.plist",
        "entitlementsInherit": "build/entitlements.mac.plist",
        "icon": "build/icon.icns",
        "target": [
            {
                "target": "mas",
                "arch": "universal"
            },
            "dmg"
        ]
    },
    "mas": {
        "type": "distribution",
        "hardenedRuntime": false,
        "provisioningProfile": "embedded.provisionprofile",
        "entitlements": "build/entitlements.mas.plist",
        "entitlementsInherit": "build/entitlements.mas.inherit.plist",
        "entitlementsLoginHelper": "build/entitlements.mas.loginhelper.plist"
    }
}

entitlements.mas.plist

代码语言:javascript
复制
<?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>TEAMID.com.app.appname</string>
        <key>com.apple.application-identifier</key>
        <string>TEAMID.com.app.appname</string>
        <key>com.apple.developer.team-identifier</key>
        <string>TEAMID</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/>
        <key>com.apple.security.network.client</key>
        <true/>
        <key>com.apple.security.files.user-selected.read-only</key>
        <true/>
        <key>com.apple.security.files.user-selected.read-write</key>
        <true/>
    </dict>
</plist>

entitlements.mas.inherit.plist

代码语言:javascript
复制
<?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/>
        <key>com.apple.security.cs.allow-jit</key>
        <true/>
        <key>com.apple.security.cs.allow-unsigned-executable-memory</key>
        <true/>
    </dict>
</plist>

entitlements.mas.loginhelper.plist

代码语言:javascript
复制
<?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/>
    </dict>
</plist>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72194861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档