我正在为应用的沙箱创建权利密钥。我在权利密钥com.apple.security.temporary-exception.sbpl
上遇到了一些问题。我需要向此密钥添加五个例外,它们是ipc-posix-sem
,file-issue-extension
,mach-lookup
,file-write-create
和file-read-data
。因为我在Xcode之外创建这个应用程序(我使用的是Python),所以我必须手动创建授权文件。我已经“成功”了,但Apple似乎不喜欢我的格式化。
以下是原始代码:
<?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.user-selected.read-write</key>
<true/>
<key>com.apple.security.temporary-exception.sbpl</key>
<string>
(begin
(allow ipc-posix-sem)
(allow file-issue-extension)
(allow mach-lookup)
(allow file-write-create)
(allow file-read-data))
</string>
</dict>
</plist>
在被com.apple.security.temporary-exception.sbpl
拒绝后,我做了以下修订:
<?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.user-selected.read-write</key>
<true/>
<key>com.apple.security.temporary-exception.sbpl</key>
<array>
<string>(allow ipc-posix-sem)</string>
<string>(allow file-issue-extension)</string>
<string>(allow mach-lookup)</string>
<string>(allow file-write-create)</string>
<string>(allow file-read-data)</string>
</array>
</dict>
</plist>
我的问题是:我的新格式是否是使用.sbpl
权利的正确方法?品尝我的应用程序后,它可以使用这个新的权利文件,现在我需要知道的是Apple是否可以接受。
答案 0 :(得分:1)
我找到了另一个Sandbox权利file in GitHub,您的格式看起来正确。
我认为另一个问题可能是您需要在“mach-lookup
”之类的命令之后提供参数。我正在查看Apple Sandbox Guide unofficial documentation found here。