Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 苹果Mac应用商店的应用程序沙盒问题_Python_Macos_Sandbox_Code Signing_Entitlements - Fatal编程技术网

Python 苹果Mac应用商店的应用程序沙盒问题

Python 苹果Mac应用商店的应用程序沙盒问题,python,macos,sandbox,code-signing,entitlements,Python,Macos,Sandbox,Code Signing,Entitlements,我正在为我的应用程序的沙盒创建授权密钥。我的授权密钥com.apple.security.temporary exception.sbpl有一些问题。我需要向该键添加五个例外,它们是ipc posix sem,文件发行扩展名,马赫查找,文件写入创建,以及文件读取数据。因为我在Xcode之外创建这个应用程序(我使用的是Python),所以我必须手动创建授权文件。我已经“成功”,但苹果似乎不喜欢我的格式 以下是原始代码: <?xml version="1.0" encoding="UTF-8"

我正在为我的应用程序的沙盒创建授权密钥。我的授权密钥
com.apple.security.temporary exception.sbpl
有一些问题。我需要向该键添加五个例外,它们是
ipc posix sem
文件发行扩展名
马赫查找
文件写入创建
,以及
文件读取数据
。因为我在Xcode之外创建这个应用程序(我使用的是Python),所以我必须手动创建授权文件。我已经“成功”,但苹果似乎不喜欢我的格式

以下是原始代码:

<?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>
我的问题是:我的新格式是使用
.sbpl
权限的正确方式吗?在试用了我的应用程序后,它与这个新的授权文件一起工作,现在我只需要知道它是否适合苹果


我从和中找到了两个授权文件示例,我相信在查看它们后,我的文件设置正确。

我找到了另一个沙盒授权,您的格式在我看来是正确的


我认为另一个问题可能是,您需要在诸如“
mach lookup
”之类的命令之后提供参数。我正在查看。

我明白您在命令后面添加参数的意思<代码>马赫数查找我找到了答案。我阅读了您链接到我的非官方文档,我对我的命令及其参数有两个问题;1.我是否需要在ipc posix sem之后添加参数?当密钥处于非活动状态时,我的控制台会打印此信息:
拒绝ipc posix sem/mp-qfg08qha
。2.对于
文件读取数据
文件写入创建
,它们需要路径吗?我不知道如何才能做到这一点,因为它们会根据用户选择的文件路径或用户计算机上的文件位置而变化(例如
/Users/myname/Desktop/filename.png
<?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>