首先,python应用程序是针对Mac App Store的。 Apple通过电子邮件告诉我,我的应用程序未启用沙箱。
如下:
亲爱的开发人员,
我们发现您最近为“ InternetWorks ”投放了一个或多个问题。要处理您的交付,必须纠正以下问题:
应用沙箱未启用 - 以下可执行文件必须包含“ com.apple.security.app-sandbox ”权利,其中布尔值为true >权利属性列表。有关沙盒化应用程序的更多信息,请参阅App Sandbox页面。
InternetWorks.app/Contents/MacOS/InternetWorks
更正这些问题后,请转到“版本详细信息”页面,然后点击“准备上传二进制文件”。继续完成提交过程,直到应用状态为“等待上传”。然后,您可以提供更正的二进制文件。
此致
App Store团队
由于我的应用程序是用Python编写的,我不知道如何为它制作权利属性列表。
从Apple的文档中,授权属性列表是在Xcode项目中创建的,并且以某种方式与可执行文件相关。但同样,我的应用程序是用Python编写的,它只需要几个* .py文件,我已经使用py2app / cx_Freeze工具将它打包到“my_app_name.app”可执行文件中。
那么,是否可以手动为我已经打包的python应用程序(My_App_name.app文件)创建/创建权利属性列表文件,如何在没有XCode项目的情况下执行此操作?
提前致谢。
答案 0 :(得分:0)
对于某些上下文,在plist中配置.entitlements
xcode4的界面如下。
它会自动在$(SOURCE_ROOT)
AppName.entitlements
中创建一个文件。
.plist
是Apple用于几乎所有“传统”unix上的文本配置文件的XML文件。如果您在OSX上使用Python进行开发,您可能会发现Python plistlib很有帮助。 Apple有幸使用XCode编辑它们(before XCode4 there was a stand-alone Property List Editor.app)。
在这种情况下,他们想要的默认值只包含:
<?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>
我怀疑如果您只是将其粘贴到名为InternetWorks.entitlements
的文件中,您就可以解决他们的问题。虽然您可能需要更多the available permissions。