【问题标题】:Qt applications on new Mac App Store新 Mac App Store 上的 Qt 应用程序
【发布时间】:2011-05-19 06:44:28
【问题描述】:

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

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

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

对于纯粹的 ObjC,这似乎仍然是一个冒险的提议。有其他人动心吗?

【问题讨论】:

  • 您的实际问题是什么? Qt 应用程序是否会被接受?我在指南中看到的唯一内容是 HIG 和 API 限制,这可能需要使用基于 Qt 的应用程序进行一些调整。
  • 这是对问题的正确解释。这也是我所看到的——假设我没有忽略任何其他细则。还有很多其他“小”的东西,例如无法安装 kexts、没有许可证密钥或“自己的”复制保护、升级到 root 权限等,但这些限制与所有应用程序相关,即它是一个严密的沙箱。

标签: c++ macos qt app-store


【解决方案1】:

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

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

关于将文件写入本地硬盘,它不会向bundle目录写入任何内容,而是写入该目录:

~/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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-15
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多