辅助应用程序上未启用应用程序沙盒,上传到 Apple 时出错

问题描述

我有一个应用程序目前在 Mac App Store 中。它由主应用程序、PlugIns 文件夹 (/Contents/PlugIns) 中的可加载包以及登录项 (/Contents/Library/LoginItems/) 下的 Luncher 助手组成

使用 Xcode 12.4 我可以构建,但是当我尝试将其上传到 Apple 时出现错误

ERROR ITMS-90296: "App sandBox not enabled. The following executables must include the
"com.apple.security.app-sandBox" entitlement with a Boolean value of true in the
entitlements property list:[("com.mycompany.myapp.mas.pkg/Payload/MyApp.app/
Contents/Library/LoginItems/MyApp Launcher.app/Contents/MacOS/MyApp Launcher")]

Refer to App SandBox page at https://developer.apple.com/documentation/security/app_sandBox
for more information on sandBoxing your app."    

已为 Launcher 启用沙箱。我对所有三个代码部分(应用程序、可加载包和帮助程序)使用相同的权利文件

帮助程序有自己的包标识符,但没有配置文件,因为包 ID 未在我的“证书、标识符和配置文件”中注册,因为它不是用于自行分发的独立应用程序。

这非常令人沮丧,因为它在 Xcode 11 中有效,但在 Xcode 12 中无效。

codesign --verify --deep --verbose /mainapp.app/

valid on disk
satisfies its Designated Requirement

并检查助手的权利:

codesign -d --entitlements :- /mainapp.app/Contents/Library/LoginItems/helper.app

<?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.files.bookmarks.app-scope</key>
    <true/>
    <key>com.apple.security.files.user-selected.read-write</key>
    <true/>
    <key>com.apple.security.network.client</key>
    <true/>
    <key>com.apple.security.temporary-exception.files.absolute-path.read-only</key>
    <array>
        <string>/</string>
    </array>
    <key>com.apple.security.temporary-exception.mach-lookup.global-name</key>
    <array>
        <string>com.apple.testmanagerd</string>
        <string>com.apple.coresymbolicationd</string>
    </array>
</dict>
</plist>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...