用UE4开发IOS游戏或应用,因为经验少,文档少,困难重重。结合我之前已经积累的经验,在这里写个总结,以备记录,外一以后忘了可以再来看看。---------made by QQ 787976885
想开发IOS,最重要也是第一步,就是拿到开发者证书(.cer文件)和移动配置文件(.provision)
官网和老外的书里都是这么说的,但是!!这只是其中两个,对于像我这样的小白来说的,万万想不到,还有一个**文件也同样重要(.key或.p12)。
每台电脑(不管是windows还是mac)都需要一个证书和一个**文件来验证你的设备是否具有开发权限。有了权限之后,再根据provision文件中的配置,来相应的打包到你的设备上。所以一共需要的是3个文件,即证书(cer),**(.key或.p12),移动配置文件(.provision)
下面来说明一下如何生成这些文件:
Windows:
打开D:\Program Files (x86)\EpicGames\4.16\Engine\Binaries\DotNET\IOS\iPhonePackager.exe
先选择项目文件,
然后按照官网步骤生成csr请求文件和key**文件
拿着生成的csr去苹果开发者官网生成cer证书,然后下载下来。步骤官网都有,这里不再重复。同样在苹果开发者挂网生成provision移动配置文件。最后,你应该得到我上面说的3个文件,当然,如果你还准备发布到APP Store的话,还需要相应的发布证书和发布版provision. 这时你应该拥有5个文件了。
(注意:官方第6个步骤说导入成功后会出现绿色对勾,但是我试验过N此都没有 出现绿色对勾,虽然没有绿色对勾,但不影响使用)
Windows电脑上其实不管你用哪个UE4版本的 iPhonePackager.exe 来做都是一样的,这个步骤跟版本无关,到入电脑后,会在你系统的证书列表里加入UE4 -IOS 开发的相关证书,以及相关的移动配置文件。
其次:
还是通过上面的界面,导入cer、key 和provision 文件,这里导入的是UE的某个目录中,并不在这个项目的某个文件夹中(在系统的证书管理界面Win+R,输入certmgr.msc)因此,虽然官方说这些证书和配置文件是针对某个项目的,但是其实只要你装对了一次,之后新建的项目也是一样可以直接打包ios版本的,不需要再次选择项目导入证书什么的,只需要在新的项目里勾选一下就OK。windows,macos通用。
初次导入UE4会有一个验证过程,移动配置文件会找不到证书,更改包标识符依然检测不到,需要等上一天(一定要等上一天,除非你的电脑之前已经配置过环境)。
Mac OS:
官网的mac上的操作步骤有些坑爹,下面这个步骤是完全不对的。首先根本没有加号,而是creat 选项,其次点完之后并没有任何反应,也没有生成什么东西。或许是我理解的不对。
对比老外的书籍,最后我的做法是:
在mac上的钥匙串里创建请求文件CSR,去苹果开发者官网生成cer文件,在钥匙串里右键导出p12文件,这样就有了和windows上一样的最后5个文件。
然后cer和provision在mac上跟windows上不一样,你可以直接双击安装,或者打开UE4,在平台-ios 一栏选择导入cer和导入Provision。这样就完成了所有步骤。
打包毕竟慢,可以选择相应的平台,选择launch。在这之前必须插上设备,打开iTunes保持设备连接状态。之后先找一个干净的项目测试一下。
顺便说一下,如果当设备刚好黑屏的时候,UE准备将ipa文件安装到你的设备或者企图打开你的设备,这个时候因为你的设备黑屏会在UE上报一个错误,说什么无法打开或者部署。注意就好。
Windows如何删除导入的证书:
Win + R 打开 控制台,输入 certmgr.msc 打开证书查看列表,选择“个人-证书”找到你的证书,然后删除
MAC如何删除证书:
钥匙串里右键删除即可。
Windows 如何删除导入的Provisioning文件:
C:\Users\XXX\AppData\Local\AppleComputer\MobileDevice\Provisioning Profiles
MAC如何删除导入的Provisioning:
方法1:command + shift +G 前往文件夹:
~/Library(资源库)/MobileDevice/ProvisioningProfiles
删除里面的文件,重新导入XX.mobileprovision
方法2:通过终端清除
新版本系统可能方法1怎么都找不到目录,那么请找到 “终端” 程序。
首先cd到目录”~/Library/MobileDevice/Provisioning Profiles”
cd ~/Library/MobileDevice/Provisioning Profiles/
然后删除里面所有的mobileprovision文件
rm *.mobileprovision
来看看ini配置
创建项目的时候直接选择移动平台,这样默认会为你设置很多配置文件。