gpt4 book ai didi

xcode - 如何使用Xcode5在Mac应用程序中对签名的可执行文件进行代码签名

转载 作者:行者123 更新时间:2023-12-04 05:31:01 24 4
gpt4 key购买 nike

我有一个用xCode 5创建的应用程序,其中包含捆绑的可执行文件。我正在尝试将应用程序提交到Mac App Store,但是当我提交应用程序时,它失败并显示以下消息:

未启用应用沙箱-以下可执行文件必须在权利属性列表中包括“com.apple.security.app-sandbox”权利,其 bool 值为true。请参阅“应用程序沙箱”页面,以获取有关对应用程序进行沙箱处理的更多信息。

我创建了一个授权文件(EXECUTABLE_NAME.entitlements),其中包含值为'true'的'com.apple.security.app-sandbox'键。

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

单独执行该操作实际上无法对文件进行代码签名,所以我做了以下工作:
  • 将应用程序存档
  • 打开xCode的管理器窗口
  • 右键单击存档,然后选择“在Finder中显示”以获取其位置
  • 使用Terminal.app,导航至其位置,然后在应用程序内部
    包/Contents/Resources/
  • 运行以下命令:

    codesign -f -s“$ YOUR_CERTIFICATE_HERE”-权利“$ THE_ENTITLEMENTS_PLIST”“$ THE_EXECUTABLE”

  • 对于 $YOUR_CERTIFICATE_HERE,请使用您的3rd Party Mac Developer应用程序证书

    完成此操作后,该应用程序应上传到iTunes Connect,您将能够在“二进制详细信息”部分下查看相关的代码签名信息。

    关于xcode - 如何使用Xcode5在Mac应用程序中对签名的可执行文件进行代码签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20856864/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com