Qt 编程那些事

Qt在IOS平台编译配置以及打包发布

2019-12-28  本文已影响0人  devstone

在此期间,有幸接触到IOS,所以对Qt 在 IOS上的开发部署有了一些了解,今天拿出笔记记录下简单的过程。

Xcode安装

MAC上面安装软件很方便也很烦,需要打开App Store进行搜索安装.

xcode

安装好之后会看到如下欢迎界面:

xcode home

表示安装成功,接下来可以安装Qt了(这里貌似要先安装xcode在安装Qt!)

Qt的安装

比如下载Qt5.7版本,地址http://download.qt.io/archive/qt/5.7/5.7.0/,为了以后方便尽量下载比较全的安装包:qt-opensource-mac-x64-android-ios-5.7.0.dmg,直接包含了三个构建套件(MAC,IOS,Android)

download

下载完成直接按照默认安装提示安装(傻瓜式安装).

安装好后就可以看到比较熟悉的界面了,主要有看三个套件:

测试

创建一个helloworld工程,这里套件要选择 iphoneos-clang Qt 5.7.1 for iOS,因为是在真机跑,如果选择模拟器,那么要选择iphonesimulartor套件.

编译后会生成xcode工程文件,若要在真机运行,需要使用xcode进行编译打包调试.

工程文件: xxx.xcodeproj

iOS证书和签名

证书

singal

证书分为:开发证书和发布证书.

证书生成

开发者在申请iOS开发证书时,需要通过keychain生成一个CSR文件(Certificate Signing Request),提交给苹果的 Apple Worldwide Developer Relations Certification Authority(WWDR)证书认证中心进行签名,最后从苹果官网下载并安装使用。这个过程中还会产生一个私钥。

签名

Xcode在打包生成ipa文件的过程中,利用当前证书的私钥进行代码、资源文件的数字签名,并且将其放在ipa文件夹的_CodeSignature文件夹下。
当APP安装到iOS系统上时,系统首先通过描述文件找到数字证书,通过证书里面的苹果数字签名,验证证书的有效性,如果证书有效,则取出证书中的开发者公钥,解密APP的数字签名,如果发现摘要一致。则验证通过,APP成功安装到手机上。如果其中某一个验证环节出现问题,验证工作就会失败。

证书有效期

iOS打包时需要一个证书和该证书对应的描述文件。描述文件过期后,续费后需要重新生成描述文件,然后重新对ipa进行签名打包才可以,过期后的app是无法使用的,会提示无法信任的企业级应用.

导出P12证书

导出P12证书是为了给其他MAC电脑开发用的,因为一个证书只能最多只能在2台电脑上开发。通过导出.p12证书文件可以供给所以的mac设备使用,使设备不需要在苹果开发者网站重新申请和发布证书就能使用。
导出的.p12证书必须和对应的描述文件一起使用才可以。
将导出的.p12文件拷贝到其他mac设备上,直接双击进行安装即可,这样直接就可以安装到钥匙串中了。以后在xcode调试或者重新签名打包时选择刚才安装的证书和对应的描述文件即可。
描述文件是为了让xcode知道我们开发的合法性。

APP多语言名称设置

参考文章地址http://www.jianshu.com/p/88c1b65e3ddb.

使用xcode打开项目工程,在项目名称上面单击鼠标右键,在弹出的对话框中选择"New File..

app language

在弹出的对话框中选择Strings File,如下图所示:

app language

接着选择路径以及文件名称,文件名称这里为”InfoPlist.strings”,路径选择默认即可.

创建完成后鼠标点击该文件,添加如下内容:
CFBundleDisplayName =”应用程序”;
在xcode右边属性栏中选择Locakuze…

app language

完成后在工程的信息属性栏中,选择Localizations,点击下面的+号,添加中文简体名称,如下图所示:

app language

在弹出的对话框中选择上面新建的文件“InfoPlist.strings”。添加完毕后可以看看到”InfoPlist.strings”文件旁边多了一个小三角,点击后可以看到展成2部分,就是刚才添加的中文还有一个默认的英文,点击对应文件进行修改对应名称。

app language

APP名称修改

app name

APP图标设置

通过项目images.xcassets文件实现

在工程属性“General”选项中找到“App Icons and Launch Images”项

app icon app icon

击该文件,可以看到有2项,第一个是App图标设置,第二个是启动图标

点击后会出现好几种尺寸的icon选择,这里需要提前准备好对应尺寸的icon图标,然后按照尺寸拖到对应位置上即可。
图标的命名:
注意区分倍图@2x 和@3x 的后缀,如AppIcon57x57.png 和AppIcon57x57@2x.png
AppIcon57x57.png代表图标尺寸为:5757
AppIcon57x57@2x.png代表图标尺寸为:114
114

上述图标大小需要提前准备好,然后手动拖到匹配位置即可.

启动图标的设置

启动图标和APP图标类似,分为横屏和竖屏.

app launch

关于iphone上下边黑屏问题

参考文章https://www.jianshu.com/p/5090fc45c271

添加http访问权限

在iOS 9之后,苹果默认要求App访问的url必须为https的安全链接,http链接确实是不安全的,如果在开发过程中请求失败,控制台显示http不安全要用https之类的信息的话,那就是由于这个原因了。但是由于并非所有开发者都会去申请HTTPS证书来支持HTTPS访问,所以还是可以进行设置来正常访问HTTP的,方法如下:

app language

Archive打包

app language

接着会进行编译,如果没有错误,则会弹出一个对话框—Archive Information:

app language

选择Export进行导出,这个时候会弹出对话框,让你选择方式:

app language

注明:真机连接Xcode进行调试,需要使用development描述文件及code sign用Developer证书,如果使用production描述文件及code sign用Distribution证书,不能改运行调试,报:process launch failed: failed to get the task for process 10487(数字)错误提示!

企业发布的话一般选择第三个:Save for Enterprise Deployment.

接着会让你选择自己的Team:

app language

接着一路next

app language

最后会让你选择一个存放路径,最后会生成一个对应的xxx.ipa文件了.

app language

xxx.ipa文件其实就是一个压缩文件,我们可以将其重新命名为xxx.zip,解压后可以看到里面的一些基本内容.

IPA文件组成

iOS程序最终都会以.ipa文件导出,先来了解一下ipa文件的结构:

app language

支持文件共享(读取app的log日志)

info.plist里设置UIFileSharingEnabled = YES;

然后打开iTunes ,找到app,即可看到日志文件

IOS App在后台运行不退出

因为IOS系统机制吧,锁屏后app的网络会断开连接,所以如果你的app需要一直保持数据通信,则很麻烦,不过短暂的方法可以这样设置:

程序打包时在Info.plist添加如下两个字段即可:

app language

参考文章地址https://www.jianshu.com/p/174fd2673897

上一篇下一篇

猜你喜欢

热点阅读