新Mac应用商店上的Qt应用程序

14

我有一个运行在OS X上的Qt应用程序,有潜力进入新的Mac App Store。

我已经阅读了 https://developer.apple.com/appstore/mac/resources/approval/guidelines.html 上的指南。我还在 SO 上看到了关于Java和AppStore的帖子。

是否有其他人考虑过他们自己的应用程序,并且Qt框架是否会触犯App Store 规定?您仍然必须遵守Apple HIG,不能使用主题和私有APIs。

与纯ObjC相比,似乎仍然存在风险。是否有其他人心动?


你的实际问题是什么?Qt应用程序是否可能被接受?我在指南中看到的唯一限制是HIG和API限制,这可能需要对基于Qt的应用程序进行一些调整。 - Georg Fritzsche
这是对问题的正确解释。这也是我看到的-假设我没有忽略任何其他细节。还有许多其他“小”事情,例如无法安装kexts、没有许可证密钥或“自己”的版权保护、升级到根权限等,但这些限制对所有应用程序都相关,即它是一个严格的沙盒。 - J Henzel
2个回答

16
我的Qt应用程序今天已经被接受并可在App Store上下载。所以答案是肯定的,苹果会接受基于Qt的应用程序。
以下是关于我的应用程序的一些信息。它是用C++编写的,并使用了LGPL许可下的Qt v4.7.2。Qt框架包含在应用程序包中(显然,因为LGPL要求我使用动态链接而不是静态链接)。还有一些其他的框架,来自尼康和佳能,因为这是一个远程控制DSLR相机的应用程序-请参见http:www.hartcw.com。这些框架只能编译为Intel 32位,因此这迫使我的应用程序也针对32位进行编译,所以我必须使用Qt的32位Carbon版本。
关于将文件写入本地硬盘,它不会写入任何内容到包目录,但会写入到这个目录:
~/Application Support/Hart/Smart Shooter
它还通过QSettings类将Qt GUI状态写入此文件
~/Library/Perferences/com.hartcw.SmartShooter.plist

'Hart'是在苹果公司注册的公司名称,而'com.hartcw.SmartShooter'则是应用程序标识符名称,因此我认为这就是苹果公司所检查的内容。

此外,我还需要对属性列表(plist)文件进行一些操作,请参见http://hartcw.com/francis/qt-and-the-mac-app-store

事实上,它第一次就被苹果公司通过了!它在“等待审核”阶段大约10天,在“审核中”阶段大约4个小时,然后就在应用商店上线了。


4

对于创建一个适用于App Store的应用程序,使用Qt完全没有问题。您需要确保使用已编译为Cocoa而不是Carbon的Qt即可。

编辑:我刚发现如果应用程序使用Qt插件(因为这显然会使Qt写入到~/Library/Preferences/com.trolltech.plist中,而这是在App Store应用程序的“领域”之外),可能会出现问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接