带助手应用程序的沙盒应用程序
Sandboxed app with Helper app
我正在尝试从沙盒应用程序执行助手应用程序,但它抛出错误 errAuthorizationDenied (-60005),我以 Apple SMJobBless 为例。目前我有这个
var authItem: AuthorizationItem = AuthorizationItem(name: kAuthorizationRightExecute, valueLength: 0, value: nil, flags: 0)
var authRights: AuthorizationRights = AuthorizationRights(count: 1, items: &authItem)
let authFlags: AuthorizationFlags = AuthorizationFlags.ExtendRights
var result = false
var authRef: AuthorizationRef = nil
let status: OSStatus = AuthorizationCreate(&authRights, nil, authFlags, &authRef)
if status == errAuthorizationSuccess {
result = SMJobBless(kSMDomainSystemLaunchd, "**helperBundleIdentifier**", authRef, nil)
}
我是不是做错了什么,或者在沙盒中是不可能的?
来自沙盒guide
The following app behaviors are incompatible with App Sandbox:
Use of Authorization Services
即使您没有被沙盒化,您编写的代码也会失败,因为 kAuthorizationRightExecute
是请求授权的错误权利。您需要申请 kSMRightBlessPrivilegedHelper
.
我正在尝试从沙盒应用程序执行助手应用程序,但它抛出错误 errAuthorizationDenied (-60005),我以 Apple SMJobBless 为例。目前我有这个
var authItem: AuthorizationItem = AuthorizationItem(name: kAuthorizationRightExecute, valueLength: 0, value: nil, flags: 0)
var authRights: AuthorizationRights = AuthorizationRights(count: 1, items: &authItem)
let authFlags: AuthorizationFlags = AuthorizationFlags.ExtendRights
var result = false
var authRef: AuthorizationRef = nil
let status: OSStatus = AuthorizationCreate(&authRights, nil, authFlags, &authRef)
if status == errAuthorizationSuccess {
result = SMJobBless(kSMDomainSystemLaunchd, "**helperBundleIdentifier**", authRef, nil)
}
我是不是做错了什么,或者在沙盒中是不可能的?
来自沙盒guide
The following app behaviors are incompatible with App Sandbox:
Use of Authorization Services
即使您没有被沙盒化,您编写的代码也会失败,因为 kAuthorizationRightExecute
是请求授权的错误权利。您需要申请 kSMRightBlessPrivilegedHelper
.