前言
Qt开发ios程序,要面临的一个问题就是设置程序图标和启动页的问题,作为一个跨平台开发者,对原生开发本身就不太熟悉,即便是这种小功能也可能会成为阻碍,没办法, 只能硬着头皮上咯。
要设置ios的启动页和程序图标,必须要在xcode中进行设置,之前有文章已经详细的说明了如何将一个Qt工程拿到xcode中进行编译,文章在这里。
接下来直接看如何在xcode中进行设置吧。
环境
我的开发环境:
Qt版本:Qt 5.11.1
Mac系统版本:10.14
xcode版本:10.1
为什么要单独提一下版本呢,因为低版本的xcode设置程序图标和现在最新版本的方法还不太一样,需要提供的图片尺寸也不太一样,主要是为了适配所有的iphone机型。
图标尺寸
关于iphone所有机型的启动页和程序图标的参考,在这里
启动页图片的尺寸
Device | 横屏尺寸 | 竖屏尺寸 |
iPhone XS Max | 1242px × 2688px | 2688px × 1242px |
iPhone XS | 1125px × 2436px | 2436px × 1125px |
iPhone XR | 828px × 1792px | 1792px × 828px |
iPhone X | 1125px × 2436px | 2436px × 1125px |
iPhone 8 Plus | 1242px × 2208px | 2208px × 1242px |
iPhone 8 | 750px × 1334px | 1334px × 750px |
iPhone 7 Plus | 1242px × 2208px | 2208px × 1242px |
iPhone 7 | 750px × 1334px | 1334px × 750px |
iPhone 6s Plus | 1242px × 2208px | 2208px × 1242px |
iPhone 6s | 750px × 1334px | 1334px × 750px |
iPhone SE | 640px × 1136px | 1136px × 640px |
程序图标尺寸
如果只是针对 iOS 移动端来说, 对 iphone 做配置的话, 按照下面指的这五种分别切图即可.
iPad Pro. iPad, iPad Mini 尺寸需另切。
主要包括五种类型图片, 分别是 手机上直接展示的 App Icon,搜索栏 App Icon, 设置栏 App Icon, 通知栏 App Icon, 另一个是 AppStore 上需要的。
Device or context | Icon size |
iPhone App Icon | 180px × 180px(60pt × 60pt @3x) |
iPhone App Icon | 120px × 120px (60pt × 60pt @2x) |
iPhone Spotlight Icon(搜索框下展示图标) | 120px × 120px (40pt × 40pt @3x) |
iPhone Spotlight Icon(搜索框下展示图标) | 80px × 80px (40pt × 40pt @2x) |
iPhone Settings Icon (设置栏里面展示图标) | 87px × 87px (29pt × 29pt @3x) |
iPhone Settings Icon (设置栏里面展示图标) | 58px × 58px (29pt × 29pt @2x) |
iPhone Notification icon | 60px × 60px (20pt × 20pt @3x) |
iPhone Notification icon | 40px × 40px (20pt × 20pt @2x) |
App Store | 1024px × 1024px (1024pt × 1024pt @1x) |
开始设置
设置程序图标
按照上面的步骤,将 Qt 工程导入到 xcode 中打开,接着将上面准备好的各种尺寸图标放统一在程序目录下的新建文件夹中,然后讲所有图标一起拖动到 xcode工程中的Bundle Data 目录下,如图:
接下点击工程名,进入到General 配置页面中,找到 App icons and Launch Images一栏,然后点击向右的箭头,如下:
如果是第一次设置,可以看到的是如下界面:
那么直接点击Use Asset Catalog按钮,将会出现以下弹窗
点击 Migrate,接着会在Resources一栏中新增一个文件目录:
点击该目录,就可以开始设置图片啦。
如上图,在这里可以分别设置程序图标以及启动页,那么将我们准备好的各种尺寸的图片从Bundle Data 目录中拖动到右侧相应的图标空白处。
设置启动页的界面如下:
启动页默认就只有这几个图标,为了更精细化的设置,适配不同尺寸的手机,这里我们重新添加一个启动页的设置。
右键,在菜单中依次找到:
然后我们看到新建的启动页的设置会更加全面:
这时候可以将之前的那个启动页设置页面直接删除掉,只保留一个即可。
然后将我们准备好的所有启动页的图片全部拖到相应的位置即可。
注意,这里设置程序图标和启动页页面都有手机版和 iPad 版本,如果只用到手机上, 那么那么 iPad 版的图标可以不用添加。
然后回到App icons and Launch Images
注意:一定要将红色框内的内容清空。否则启动页将不会使用我们自定义的图片。做完以上所有设置后可以开始编译了,当然,有可能启动页还是会显示默系统默认的页面(白底+程序名),那么,接下来再做一处设置。
在 bundle data 中找到LanchScreen.xib,然后点击打开。
然后看到如下页面:
在右侧找到 use as launch screen一项,将勾勾去掉,然后在程序目录下将之前已经生成过的app 删掉,最后,重新编译打包。
OK,这样就能如愿的设置自定义的启动页啦。
注意,以上设置图标的页面和以前的老版本有些区别,但是大同小异,只要将准备好的图片拖动到对应的地方即可。
报错
在设置启动页或程序图标时,编译可能出现以下错误:Asset Catalog Compiler Error Group
The launch image set named “LaunchImage” did not have any applicable content.
这个问题是因为 图片的尺寸对应不上导致的, 需要严格按照 标准尺寸才行。