利用Qt开发跨平台APP(二)(iOS,使用Qt5.9,很详细,有截图)
本文将手把手教你如何使用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,很详细,有截图)的更多相关文章
- 利用Qt开发跨平台APP
本文将手把手教你如何在Windows环境下,使用Qt编译出安卓应用程序. Qt是一个优秀的跨平台开发工具.我们利用Qt可以很方便地将一次编写的应用,多次编译到不同平台上,如Windows.Linux. ...
- 带你从零学ReactNative开发跨平台App开发(二)
ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...
- 带你从零学ReactNative开发跨平台App开发[react native SqlLite 终极运用](十二)
ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...
- 带你从零学ReactNative开发跨平台App开发(一)
ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...
- 带你从零学ReactNative开发跨平台App开发(十一)
ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...
- 带你从零学ReactNative开发跨平台App开发(九)
ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...
- 带你从零学ReactNative开发跨平台App开发[expo 打包发布](八)
ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...
- 带你从零学ReactNative开发跨平台App开发-[react native 仿boss直聘](十三)
ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...
- 带你从零学ReactNative开发跨平台App开发(十)
ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...
随机推荐
- MySQl安装全解
这是第二次安装MySql了.第一次安装花了几个小时,理解安装的每一个页面,这次光寻找安装包就找了几个.因此感觉有必要做一次全面的安装笔记.(有点浪费时间了,可是感觉非常值得)本人系统是window7. ...
- (38)JS运动之淡入淡出
基本思路:使用样式filter.可是要区分IE浏览器和chrom.firefox的不同,详细也是用定时器来实现. <!DOCTYPE HTML> <!-- --> <ht ...
- Unity使用JsonFX插件进行序列化
孙广东 2015.6.25 Unity and JSON – Quick Guide: 相比較XML的沉重和密集,Json更加高效. Introduction: 什么是 Json ?假设你从未使用过 ...
- c#后台访问接口
直接上代码 后台代码 //接口地址string url = "http://spherefg.topsmoon.com:6666/restapi/Comment/SubmitCommentF ...
- php中获取网站访客来源的关键词方法
php中获取网站访客来源的关键词方法,收集了 <?php class keyword{ public function getKeyword($referer){ if(strpos($refe ...
- 远程数据库备份到本地出现“Access denied for user 'root'@localhost(using password: YES)”的问题
由于另外一个人在用远程的server做测试,导致我访问这个远程机器的mysql提示“too many connections”的问题,于是想到干脆把数据库当下来做测试好了,结果用heidiSQLs进行 ...
- _T("D:\\122.txt")【字符集问题】或【类型转换问题】
项目->属性->常规->字符集->使用多字节字符集!时用_T("Filename"), 貌似不是字符集的问题! 1.使用替换,,,后, _T(" ...
- 超全面的JavaWeb笔记day06<Schema&SAX&dom4j>
1.Schema的简介和快速入门(了解) 2.Schema文档的开发流程(了解) 3.Schema文档的名称空间(了解) 4.SAX解析原理分析(*********) 5.SAX解析xml获得整个文档 ...
- POJ 2229 Sumsets(技巧题, 背包变形)
discuss 看到有人讲完全背包可以过, 假如我自己做的话, 也只能想到完全背包了 思路: 1. 当 n 为奇数时, f[n] = f[n-1], 因为只需在所有的序列前添加一个 1 即可, 所有的 ...
- ZooKeeper(五)-- Curator使用
前言 Curator是Netflix开源的一套ZooKeeper客户端框架: 1.封装ZooKeeper client与ZooKeeper server之间的连接处理; 2.提供了一套Fluent风格 ...