【问题标题】:How to build Sandboxed app without XCode?如何在没有 XCode 的情况下构建沙盒应用程序?
【发布时间】:2012-01-13 04:33:13
【问题描述】:

如何在没有 XCode 的情况下构建沙盒应用程序?我的意思是我正在使用 gcc Make 来构建我的应用程序和自己的系统来创建应用程序包。但是如何在不使用 XCode 和沙盒选项的情况下启用沙盒?

有关于沙盒的 tut,但我找不到任何关于启用沙盒的信息,但仍然没有关于没有 XCode 的 SB 的信息。任何人都可以帮忙吗? http://developer.apple.com/library/mac/#documentation/Security/Conceptual/AppSandboxDesignGuide/AppSandboxQuickStart/AppSandboxQuickStart.html#//apple_ref/doc/uid/TP40011183-CH2

【问题讨论】:

  • 你的应用有 Info.plist 文件吗?

标签: xcode macos gcc sandbox


【解决方案1】:

在 Xcode 之外对您的应用程序进行代码签名非常容易。只需在单独的 plist 文件中创建您的权利,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<plist version="1.0">
    <dict>
        <key>com.apple.security.app-sandbox</key>
        <true/>
    </dict>
</plist>

一旦您拥有它,只需发出此命令即可对您的应用程序包进行代码签名并启用沙盒,方法是使其成为权利的一部分:

codesign -s - -f --entitlements /path/to/entitlement.plist /path/to/YourApp.app/

如果您已经使用证书进行代码签名,只需将上面的 '-s -' 替换为 '-s "3rd Party Macintosh Developer..." 并使用您的开发者证书。

【讨论】:

  • 如果我不希望我的应用程序被沙盒化怎么办?我正在编写的应用程序可能永远不会在应用程序商店中分发,因为它特定于一种特定的硬件产品;此外,它还需要沙盒中可能无法提供的服务/功能。我可以使用我的开发者 ID 对应用程序进行代码设计而不指定任何权利、沙盒等吗?删除“--entitlements
  • 是的。但这个问题是关于沙盒应用的!
  • 问一个一次性的/切题的问题,就像我当时没有犹太洁食的方式那样?我真的需要为它开一个新话题吗?
  • 您最好提出一个新问题,这样我们都会受益,因为它更易于阅读和搜索。干杯!
  • 我尝试了此答案中指示的codesign 命令,但是当我启动签名的应用程序时,活动监视器说该应用程序没有沙盒。会不会是这些信息过时了?
猜你喜欢
  • 2012-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-16
  • 2021-11-17
相关资源
最近更新 更多