【发布时间】:2011-06-23 20:10:00
【问题描述】:
Apple 是否接受 Python 应用程序在新的 Mac App Store 上分发?
如果是这样,应用程序应该如何打包? py2app 够用吗?还有什么?
【问题讨论】:
-
开始赏金。有没有人真的这样做过?目前的答案很模糊。
标签: python macos app-store py2app
Apple 是否接受 Python 应用程序在新的 Mac App Store 上分发?
如果是这样,应用程序应该如何打包? py2app 够用吗?还有什么?
【问题讨论】:
标签: python macos app-store py2app
我打包了 Pennywise,它可以在 Mac App Store 上找到。它基于 Virgil 的 moneyGuru,它使用 Python、PyObjC 和 py2app。
您必须关注Apple's process for preparing an application for submission to the Mac App Store。最重要的是,您需要向 Info.plist 添加正确的键,并删除任何自动更新机制,例如火花。这不是严格要求的,但您可能还想implement receipt checking。使用 Xcode 将使提交过程变得更加容易。您可以查看the moneyGuru source code 的示例,了解如何使用 Xcode 作为构建过程的最后一部分。
Py2app 在捆绑包中嵌入了 Python 框架的副本,所以我不知道 Apple 是否会批准只链接到系统框架的应用程序。虽然主二进制文件不支持 PPC,但 Apple 似乎并未检查嵌入式框架中二进制文件的架构。
最后一个警告:我不建议在编写新应用程序时使用此过程。使用 Python、PyObjC 和 py2app 会使构建过程严重复杂化并引入额外的依赖项。
【讨论】:
我知道这是可能的,因为我知道应用商店中至少有一款基于 Python 的应用(“Pennywise”,它基于我自己的应用 moneyGuru,它使用 Python + PyObjc + py2app)。我不是自己做的,所以不清楚细节。
【讨论】:
我写了一篇全面的文章,解释了如何构建 Python 应用程序并将其提交到 Mac App Store。它包括我已成功提交的准系统示例应用程序的源代码和构建脚本。
【讨论】:
是的,只要您遵守全套批准指南,这是可能的。例如,这意味着必须将 python 解释器捆绑到您的应用程序中。
请参阅此处了解完整的要求列表:
https://developer.apple.com/appstore/mac/resources/approval/guidelines.html
【讨论】:
/System/Library/Frameworks/Python.framework 有一位非常出色的口译员
很有可能。我的应用目前已列出:
http://itunes.apple.com/us/app/quickwho/id419483981?mt=12&ls=1#
与 py2app 捆绑在一起,不用担心。
【讨论】:
Apple 为带有 Xcode 的 Python 提供了 Build Applet 工具,因此它应该得到 App Store 的支持。 MacOS X 10.6.6 包括 Python 2.5 和 2.6 作为默认安装的一部分,您可以指定 /usr/bin/python2.5 和 /usr/lib/python2.5。
【讨论】: