本文将手把手教你如何使用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. MultiplyVector方法

    该方法的功能是用来对方向向量v进行矩阵变换,当矩阵与v进行变换时,只是对v的方向进行转换.那么系统就会对参与变换的Matrix4x4矩阵M进行特殊处理. 例如:经过系统处理后就变为 其中n002 + ...

  2. 【Java面试题】2 Java中使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?超详细解析

    /* * 问题:使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变 * 答: * 使用final关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的 ...

  3. JavaSE(八)集合之Set

    今天这一篇把之前没有搞懂的TreeSet中的比较搞得非常的清楚,也懂得了它的底层实现.希望博友提意见! 一.Set接口 1.1.Set集合概述 Set集合:它类似于一个罐子,程序可以依次把多个对象 “ ...

  4. 大型web系统数据缓存设计-l转载

    原文地址:http://www.wmyouxi.com/a/60368.html#ixzz3tGYG9JwC 1. 前言 在高访问量的web系统中,缓存几乎是离不开的:但是一个适当.高效的缓存方案设计 ...

  5. js时间转化

    const defaultTicks = 621355968000000000; export function convertDateToTicks(date = new Date()) { ret ...

  6. Jquery实现$.fn.extend和$.extend函数

    $.fn.extend(   {      method:function(){   }   })   $.extend(   {      method:function(){   }   })

  7. javascript测试框架 Mocha 实例教程

    http://www.ruanyifeng.com/blog/2015/12/a-mocha-tutorial-of-examples.html

  8. ios 气泡聊天

    最近做的项目里面,有几个模块用到了聊天功能和评论回复的功能,使用的频率还是很高的,所以抽时间做了这个博客,希望能给自己和别人带来方便, 具体代码如下: 1,创建model, #import <F ...

  9. SVN常用命令与分支操作

    1.基本操作 1.0 创建版本库: Svnadmin create /data/repos 2.0 修改配置文件 Auth文件   [groups]   admin=shguo   [/]   @ad ...

  10. rpm源码安装mysql

    1)访问官网(mysql社区服务器) http://downloads.mysql.com/archives/community/ 2)选择自己需要的版本和对应服务器(例如 服务器是centos 6. ...