我必须指定哪些权利才能使用默认值 write com.apple.screencapture in NSTask()
What entitlements must I specify to use defaults write com.apple.screencapture in NSTask()
我的应用程序运行良好,然后提交到应用程序商店并发现了这个叫做沙箱的东西:-p
我一直在阅读文档和开发者论坛,但我无法具体弄清楚我需要添加什么权利才能使其正常工作:
let task = NSTask()
task.launchPath = "/bin/bash"
task.arguments = ["-c",
"defaults write com.apple.screencapture type gif;killall SystemUIServer"]
task.launch()
我想也许 com.apple.screencapture
和 com.apple.security.temporary-exception.shared-preference.read-write
因为 BOOLEAN YES 可以解决问题,但不幸的是
在没有 NSTask 和没有 shell:
的情况下进行
对于默认值,请使用 com.apple.security.temporary-exception.shared-preference.read-write
并添加您要修改的域(例如 com.apple.screencapture),然后使用 CFPreferencesSetValue()
对于 killall
使用 com.apple.security.temporary-exception.apple-events
和 运行 Applescript / 发送 AppleEvents 来终止特定进程。
如您所见,这两项权利都是暂时的,您需要充分的理由才能让它们通过审核。沙盒的目标是应用程序不会干扰其他应用程序。尤其是终止 SystemUIServer 可能会非常麻烦。
我的应用程序运行良好,然后提交到应用程序商店并发现了这个叫做沙箱的东西:-p
我一直在阅读文档和开发者论坛,但我无法具体弄清楚我需要添加什么权利才能使其正常工作:
let task = NSTask()
task.launchPath = "/bin/bash"
task.arguments = ["-c",
"defaults write com.apple.screencapture type gif;killall SystemUIServer"]
task.launch()
我想也许 com.apple.screencapture
和 com.apple.security.temporary-exception.shared-preference.read-write
因为 BOOLEAN YES 可以解决问题,但不幸的是
在没有 NSTask 和没有 shell:
的情况下进行对于默认值,请使用 com.apple.security.temporary-exception.shared-preference.read-write
并添加您要修改的域(例如 com.apple.screencapture),然后使用 CFPreferencesSetValue()
对于 killall
使用 com.apple.security.temporary-exception.apple-events
和 运行 Applescript / 发送 AppleEvents 来终止特定进程。
如您所见,这两项权利都是暂时的,您需要充分的理由才能让它们通过审核。沙盒的目标是应用程序不会干扰其他应用程序。尤其是终止 SystemUIServer 可能会非常麻烦。