Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.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
如何在OSX上为python应用程序启用应用程序沙盒(python应用程序针对Mac App Store)_Python_Sandbox_Mac App Store_Plist_Xcode4 - Fatal编程技术网

如何在OSX上为python应用程序启用应用程序沙盒(python应用程序针对Mac App Store)

如何在OSX上为python应用程序启用应用程序沙盒(python应用程序针对Mac App Store),python,sandbox,mac-app-store,plist,xcode4,Python,Sandbox,Mac App Store,Plist,Xcode4,首先,python应用程序是针对Mac app Store的。 苹果给我发电子邮件说我的应用程序没有启用沙盒 详情如下: 尊敬的开发商: 我们发现您最近交付的“InternetWorks”存在一个或多个问题。要处理您的交付,必须纠正以下问题: 应用程序沙盒未启用-以下可执行文件必须包括“com.apple.security.App sandbox”权限,在权限属性列表中布尔值为true。请参阅应用程序沙盒页面,了解有关沙盒应用程序的更多信息 InternetWorks.app/Contents/

首先,python应用程序是针对Mac app Store的。 苹果给我发电子邮件说我的应用程序没有启用沙盒

详情如下:

尊敬的开发商:

我们发现您最近交付的“InternetWorks”存在一个或多个问题。要处理您的交付,必须纠正以下问题:

应用程序沙盒未启用-以下可执行文件必须包括“com.apple.security.App sandbox”权限,在权限属性列表中布尔值为true。请参阅应用程序沙盒页面,了解有关沙盒应用程序的更多信息

InternetWorks.app/Contents/MacOS/InternetWorks

更正这些问题后,请转到版本详细信息页面,单击“准备上载二进制文件”。继续提交过程,直到应用程序状态为“等待上载”。然后,您可以交付更正的二进制文件

问候,

应用商店团队

因为我的应用程序是用Python编写的,所以我不知道如何为它创建权利属性列表

根据苹果的文档,授权属性列表是在一个Xcode项目中创建的,并且以某种方式与可执行文件相关。但同样,我的应用程序是用Python编写的,它只是essential中的两个*.py文件,我使用py2app/cx\u冻结工具将其打包到一个“my_app_name.app”可执行文件中

因此,可以手动为我已经打包好的python应用程序(my_app_name.app文件)创建/制作一个授权属性列表文件吗?如果没有XCode项目,我怎么做


提前感谢。

对于某些上下文,在中配置您的
权利的界面如下所示

它会自动在
$(SOURCE\u ROOT)
中创建一个名为
AppName.authorights
的文件

.plist
s是苹果用于“传统”unix上几乎所有文本配置文件的XML文件。如果您在OSX上使用Python进行开发,您可能会发现Python非常有用。编辑它们的方法是使用XCode本身()

在这种情况下,他们想要的默认值仅包含:

<?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/>
</dict>
</plist>

com.apple.security.app-sandbox

我怀疑如果你简单地把它粘贴到一个名为
InternetWorks.authentications
的文件中,你就能解决它们的问题。尽管您可能需要请求更多。

谢谢您的回答。这和我做的差不多。我最终通过以下步骤解决了这个问题:\n 1)手动创建InternetWorks-Authentications.plist文件;(是的,那只是一个xml文件)2)发出以下命令:
codesign--authorigents./InternetWorks-authorigents.plist-s“我的证书在这里”。/InternetWorks.app
无论如何,我通过了验证。还是谢谢你。