新 Mac App Store 上的 Qt 应用程序

发布于 2024-10-06 05:08:11 字数 427 浏览 1 评论 0原文

我有一个在 OS X 上运行的 Qt 应用程序,有可能出现在新的 Mac App Store 上。

我已查看 https://developer.apple.com/appstore 中的指南/mac/resources/approval/guidelines.html。我还在这里看到了一篇关于 Java 和 AppStore 的帖子。

有没有其他人在自己的应用程序中考虑过这一点,以及 Qt 框架是否会与应用程序警察发生冲突?您仍然必须留在 Apple HIG 内,即没有主题并且不能使用私有 API。

与纯粹的 ObjC 相比,这似乎仍然是一个冒险的提议。还有人受诱惑吗?

I have a Qt app that runs on OS X that has potential to go on the new Mac App Store.

I have reviewed the guidelines at https://developer.apple.com/appstore/mac/resources/approval/guidelines.html. I also saw a post here on SO about Java and the AppStore.

Has anyone else considered this with their own apps and whether or not the Qt framework will run afoul of the App police? You still have to stay within the Apple HIG, i.e. no theming and cannot use private APIs.

Still seems like a risky proposition over pure ObjC. Anyone else tempted?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

李白 2024-10-13 05:08:11

我的 Qt 应用程序今天已被接受并可在 App Store 上使用。所以答案是肯定的,苹果将接受基于Qt的应用程序。

这是有关我的申请的一些信息。它用 C++ 编写,并在 LGPL 许可下使用 Qt v4.7.2。 Qt 框架包含在应用程序包中(显然,因为 LGPL 要求我使用动态链接而不是静态链接)。还有一些来自 Nikon 和 Canon 的其他框架,因为它是用于远程控制 DSLR 相机的应用程序 - 请参阅 http:www.hartcw.com 。这些仅适用于 Intel 32 位编译,因此这迫使我的应用程序也以 32 位为目标,因此我必须使用 Qt 的 32 位 Carbon 版本。

关于将文件写入本地硬盘,它不会向捆绑目录写入任何内容,但会写入此目录:

~/Application Support/Hart/Smart Shooter

它还将 Qt GUI 状态写入此文件(通过 QSettings 类)

~/Library/Perferences/com.hartcw.SmartShooter.plist

“Hart”是注册的公司名称对于 Apple,“com.hartcw.SmartShooter”是应用程序标识符名称,所以我认为这是 Apple 进行检查的内容。

另外,关于 plist 文件,我还必须做一些事情,请参阅 http://hartcw.com/francis/qt-and-the-mac-app-store

事实上它是第一次被苹果接受!它处于“等待审核”阶段约10天,然后过渡到“审核中”约4小时,然后在应用商店上线。

My Qt app has today been accepted and is available on the App Store. So the answer is yes, Apple will accept Qt based applications.

Here's some information about my application. It written in C++ and uses Qt v4.7.2 under the LGPL license. The Qt frameworks are included in the app bundle (obviously, as LGPL requires I use dynamic linking instead of static). There are also some other frameworks, from Nikon and Canon, because its an app for remote control of DSLR cameras - see http:www.hartcw.com . These are only available compiled for Intel 32bit, hence this forces my app to also target 32bit, and so I have to use the 32bit Carbon build of Qt.

Regarding writing files to the local hard disk, it does not write anything to the bundle directory, but does write to this directory:

~/Application Support/Hart/Smart Shooter

It also writes Qt GUI state to this file (via the QSettings class)

~/Library/Perferences/com.hartcw.SmartShooter.plist

'Hart' is the company name as registered with Apple, and 'com.hartcw.SmartShooter' is the app identifier name, so I think this is what Apple checks against.

Also there were a couple of things I had to do regarding the plist file, see http://hartcw.com/francis/qt-and-the-mac-app-store

Infact it was accepted first time by Apple! It was in the 'waiting for review' stage for about 10 days, then transitioned to 'in review' for about 4 hours, and then went live on the app store.

指尖微凉心微凉 2024-10-13 05:08:11

使用 Qt 为 App Store 创建应用程序完全没有问题。您所要做的就是确保您使用的是用 Cocoa 而不是 Carbon 编译的 Qt。

编辑:我刚刚发现,如果您的应用程序使用 Qt 插件,则可能会出现问题(因为这显然会使 Qt 写入位于 ' 之外的 ~/Library/Preferences/com.trolltech.plist ) App Store 应用程序的域。)

Using Qt is no problem at all for creating an app for the App Store. All you have to do is to make sure that you are using Qt compiled with Cocoa and not Carbon.

EDIT: I've just found that there may be an issue if your application uses Qt plugins (as this apparently makes Qt write to ~/Library/Preferences/com.trolltech.plist which is outside the 'domain' of an App Store application.)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文