Objective c 如何将文件复制到Obj-C或C中需要特殊权限的位置?

Objective c 如何将文件复制到Obj-C或C中需要特殊权限的位置?,objective-c,privileges,file-manager,Objective C,Privileges,File Manager,我非常了解特权助手工具以及部署它们的目的和技术。我还成功地创建并安装了它们——但我找不到一个示例来说明如何简单地将文件复制到需要特殊权限的位置。我认为FSPathCopyObjectSync将允许我实现这一点 以下是我到目前为止的发现: •(已弃用) •(基本上什么都不做) •(不在下面安装命令行工具) 这是上例中的方法: if (pFilename) { // Base command minus cert name and file namem is 76 characters, 1

我非常了解特权助手工具以及部署它们的目的和技术。我还成功地创建并安装了它们——但我找不到一个示例来说明如何简单地将文件复制到需要特殊权限的位置。我认为FSPathCopyObjectSync将允许我实现这一点

以下是我到目前为止的发现:

•(已弃用)

•(基本上什么都不做)

•(不在下面安装命令行工具)

这是上例中的方法:

if (pFilename)
{
    // Base command minus cert name and file namem is 76 characters, 1 for NULL
    char* valCodeSignCmd = 0;
    // asprintf allocates & never overflows
    if (asprintf(&valCodeSignCmd, "codesign -v -R=\"certificate leaf[subject.CN] = \\\"%s\\\" and anchor apple generic\" \"%s\"", kSigningCertCommonName, pFilename) != -1)
    {
        if (system(valCodeSignCmd) == 0)
        {
            // Passed codesign validation
            // OK to copy now - overwrite if present
            OSStatus fsret = FSPathCopyObjectSync(pFilename, "/usr/local/bin", toolName, NULL, kFSFileOperationOverwrite);
            if (fsret != noErr)
                success = false;
        }

        // Clean up
        free(valCodeSignCmd);

    }
    else
        success = false;
}

以史蒂夫·乔布斯的名义,这里发生了什么事?

可能是重复的否,因为我已经提到了它不会起作用。这是我的建议