Unity构建App上传至Mac App Store时提示Sandbox(沙盒)错误的解决

Unity上传Mac App Store遇到Sandbox沙盒问题,会提示如下错误:

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:…”

iOS下沙盒是自动配置的,不需要Entitlements,而macOS下的App则需要配置.Unity构建出的Xocde项目编译后上传AppStore,会提示App sandbox not enabled,这需要手工加入Entitlements(授权机制)文件.

首先要创建一个缺省的Entitlements文件,有两种方法,可以用Xcode使用macOS模板新建项目并转到Capabilities栏启用AppSandbox就可以看到自动生成的Entitlements文件或者复制下面文本到txt文件,保存文件后将后缀.txt改成.entitlements:

<?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>

然后打开Unity构建的Xcode项目,转到Build Settings选项,将刚才生成的Entitlements文件拖到Code Signing Entitlements字段或手动输入文件路径,如下图:

接下来再次编译该Xcode项目提交Mac App Store就可以了.回见!

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注