2

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

如下:

亲爱的开发者,

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

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

InternetWorks.app/Contents/MacOS/InternetWorks

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

问候,

应用商店团队

由于我的应用程序是用 Python 编写的,因此我不知道如何为其创建权利属性列表

根据 Apple 的文档,权利属性列表是在 Xcode 项目中创建的,并且与可执行文件有某种关联。但同样,我的应用程序是用 Python 编写的,它只是几个 *.py 文件,我使用 py2app/cx_Freeze 工具将其打包到“my_app_name.app”可执行文件中。

那么,是否可以手动为我已经打包的 python 应用程序(My_App_name.app 文件)创建/制作一个权利属性列表文件,如果没有 XCode 项目我怎么能做到呢?

提前致谢。

4

1 回答 1

0

对于某些上下文,在.entitlements 的界面如下所示。截屏

它会自动在您$(SOURCE_ROOT)调用的AppName.entitlements.

.plists 是 Apple 用于几乎所有“传统”unix 上的文本配置文件的 XML 文件。如果您在 OSX 上使用 Python 进行开发,您可能会发现 Python plistlib很有帮助。Apple 有幸编辑它们的方法是使用 XCode 本身(在 XCode4 之前有一个独立的 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您将解决他们的问题。尽管您可能需要请求更多可用权限

于 2013-04-17T05:48:24.777 回答