本文将手把手教你如何使用Qt编译出iOS应用程序。

Qt是一个优秀的跨平台开发工具。我们利用Qt可以很方便地将一次编写的应用,多次编译到不同平台上,如Windows、Linux、MAC、Android、iOS、Windows Phone等。开发者只需掌握Qt的C++编程与界面制作方法,即可制作出包括手机APP在内的跨平台应用。

需要注意的是,Qt对Android与iOS、UWP等平台的支持目前还不是很完美。使用Qt来进行手机应用开发,制作出来的成品无论是界面、系统资源调用还是稳定性,肯定不如使用原生开发环境开发的要好。使用Qt来进行APP开发主要适合非软件专业的学生、非APP开发行业的开发人员(如电子设计爱好者)用来开发调试用的APP,相较重新学习一个甚至多个系统下的软件开发,这无疑是十分节省时间和精力的。

1.    搭建macOS环境

想要编译iOS软件,首先你需要一个macOS。如果你有Mac那就最好啦,否则的话,可以选择安装黑苹果或者使用虚拟机。笔者使用的是macOS S10.12懒人包+VMware12最新版虚拟机+unlocker208的方法(懒人包会减少不少麻烦)(macOS版本越新的话,需要越新的VMware和unlocker)。

2.    安装Xcode

在Mac App Store中搜索Xcode下载安装即可。XCode十分庞大,你可以先继续下面的步骤。

3.    安装Qt Creator for macOS

https://info.qt.io/zh-cn/download-qt-for-application-development

注册并点击“获取开源包”,再点击绿色“View All Downloads - Qt Online Installerfor macOS”链接下载最新版的Qt在线安装器。

4.    新建或打开一个Qt工程,在工程配置页面中勾选“iphonesimulator-clang-…”环境。

5.    点击左下角的锤子编译按钮,编译成功后即可关闭Qt Creator。

6.    编译完成后,在输出文件夹内会有一个“Info.plist”文件,使用Xcode打开。

删除如图所示Launch screen interface一行,否则APP开启时启动画面是一个特别难看的白底黑字画面。

7.    双击打开.xcodeproj工程文件,选中如图箭头所指工程,在右方可进行应用名称等配置,具体可百度。

8.    如图点击如图的“Use Asset Catalog”按钮可创建图标、启动画面图片库。

将制作好的不同分辨率的图标拖入相应的位置即可,启动画面同理。这样就不会有Qt内置的启动画面了。

9.    现在工程已经配置完毕了,我们可以开始编译软件。这需要你对软件进行签名。

如果你是Apple开发者,你可以绑定你的开发者账户,编译后直接发布ipa等,这就已经完成了iOS应用的生成。对于没有开发者账户(这并不是免费的)业余玩家,请继续往下看。

我们可以用Apple ID注册成为开发者,利用Xcode提供的真机测试功能将软件安装到设备上。具体操作过程很简单,只需按照提示完成就行。这种方法有安装设备数量的限制,且安装的软件只有7天的生命,但过期后可以重新编译下载。

10.  登录、绑定完成后,我们将Apple设备插入电脑(如果你选择了使用虚拟机,不要忘记在虚拟机设置中将插入的设备提供给虚拟机)。连接好设备后,点击菜单栏的“Product-Destination”,选中你的Apple设备。

之后编译目标将会变成你选择的设备,如下图。

11.  此时Xcode将会获取你的设备信息并联网下载一些资料,过程需要几分钟。等待适配完毕后,点击三角形运行按钮,将会进行程序的编译与生成,并自动安装到你的设备上。第一次安装运行需要你从设备的“设置-通用-描述文件”中选择信任开发者。至此,软件就可以在设备上运行了。

https://blog.csdn.net/weixin_37773766/article/details/80824248

利用Qt开发跨平台APP(二)(iOS,使用Qt5.9,很详细,有截图)的更多相关文章

  1. 利用Qt开发跨平台APP

    本文将手把手教你如何在Windows环境下,使用Qt编译出安卓应用程序. Qt是一个优秀的跨平台开发工具.我们利用Qt可以很方便地将一次编写的应用,多次编译到不同平台上,如Windows.Linux. ...

  2. 带你从零学ReactNative开发跨平台App开发(二)

    ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...

  3. 带你从零学ReactNative开发跨平台App开发[react native SqlLite 终极运用](十二)

    ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...

  4. 带你从零学ReactNative开发跨平台App开发(一)

    ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...

  5. 带你从零学ReactNative开发跨平台App开发(十一)

    ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...

  6. 带你从零学ReactNative开发跨平台App开发(九)

    ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...

  7. 带你从零学ReactNative开发跨平台App开发[expo 打包发布](八)

    ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...

  8. 带你从零学ReactNative开发跨平台App开发-[react native 仿boss直聘](十三)

    ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...

  9. 带你从零学ReactNative开发跨平台App开发(十)

    ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...

随机推荐

  1. 基于swoole扩展实现真正的PHP数据库连接池

    转自:  http://rango.swoole.com/archives/265 PHP的数据库连接池一直以来都是一个难题,很多从PHP语言转向Java的项目,大多数原因都是因为Java有更好的连接 ...

  2. SSL 证书配置nginx

    ssl.conf文件: server { listen 443; server_name www.domain.com; # 改为绑定证书的域名 ssl on; ssl_certificate 1_w ...

  3. iOS 注冊本地通知(推送)

    注:按Home键让App进入后台执行时.方可查看通知. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithO ...

  4. Java类的设计----访问控制

    访问控制 可以对Java类中定义的属性和方法进行访问控制----规定不同的保护等级: public.protected.default.private //仅在类的内部可以访问. private St ...

  5. Effective C++ Item 15 Provide access to raw resources in resource-managing classes

    In last two item, I talk about resource-managing using RAII, now comes to the practical part. Often, ...

  6. html5 file 自定义文件过滤

    使用 acctpe属性即可 示例: gif,jpg <input type="file" name="pic" accept="image/gi ...

  7. Redis(三)-- 主从同步

    一.主从同步的工作原理 redis主从复制过程: 当配置好slave后,slave与master建立连接,然后发送sync命令.无论是第一次连接还是重新连接,master都会启动一个后台进程,将 数据 ...

  8. Qt5的cmake文件位置

    D:\APICenter\Qt\Qt5.8.0\5.8\msvc2015\lib\cmake\Qt5\Qt5Config.cmake

  9. cocos2d-x游戏引擎核心之五——触摸事件和触摸分发器机制

    一.触摸事件 为了处理屏幕触摸事件,Cocos2d-x 提供了非常方便.灵活的支持.在深入研究 Cocos2d-x 的触摸事件分发机制之前,我们利用 CCLayer 已经封装好的触摸接口来实现对简单的 ...

  10. VC++ 6.0创建MFC工程时的初级备要点(二)

        在看到一个MFC工程时,可能根据上一篇文章已经知道了哪些是重要的,那些是在创建工程的时候已经被初始化的!!下面介绍一下在看代码的过程的策略!!这里假设创建的基于多对话框的MFC工程名为test ...