【发布时间】:2015-05-20 10:48:42
【问题描述】:
我正在考虑使用 Qt 为 iOS 和 Android 开发一个跨平台应用程序。
以前有人做过吗?
我的应用包含 3 样东西:
一个简单的计步器
一个简单网站的网络视图
连接到 Apple Health 的 API
我想知道 Qt 在技术上是否可行,以及这样的简单应用程序是否会被应用商店接受(我听说过发布非本地编码的应用程序有困难)。
【问题讨论】:
我正在考虑使用 Qt 为 iOS 和 Android 开发一个跨平台应用程序。
以前有人做过吗?
我的应用包含 3 样东西:
一个简单的计步器
一个简单网站的网络视图
连接到 Apple Health 的 API
我想知道 Qt 在技术上是否可行,以及这样的简单应用程序是否会被应用商店接受(我听说过发布非本地编码的应用程序有困难)。
【问题讨论】:
来自 Qt;
用于 iOS 应用程序的编译器 Clang 允许混合 C++ 和 Objective-C 代码。要启用此模式,请将源文件添加到 .c mm 后缀,并将它们添加到 OBJECTIVE_SOURCES 而不是 .pro 文件中的 SOURCES。这使得在 Qt 应用程序中使用 Apple 的 iOS 开发人员库中的框架成为可能。最有用的可能是使用 StoreKit 框架添加应用内购买的可能性。
连接到 Apple Health 的 API 后,您必须使用 Objective-C/Swift 代码。这是一个混合 C++ 和 Objective-C 的代码示例https://github.com/richardmg/qtdd13_qmlapp
对于发布非原生编码的应用程序,Clang 是前端,LLVM 是编译 C、C++、Objective-C 和 swift 代码的后端。如果编译器编译用这些语言编写的代码,或者如果您能够测试运行您在操作系统上编写的应用程序,那么发布它们应该没有问题。除非有一些问题,例如您的应用程序的安全性。您可能面临的唯一问题是能够在您的应用程序中使用操作系统的特定功能,例如 Apple health kit API 或用 python 或 C++ 或任何可用于编写 iOS/Android 应用程序的语言编写的应用程序内购买 API。在这种情况下,您必须使用他们的原始 API。 iOS/Android 应用商店中的某些应用不是以其母语编写的。
【讨论】: