另见:UE5 打包 Android 全图文流程附工具软件下载
教程目标
- 在 Windows 上用免费苹果开发者账号打包虚幻(Unreal Engine 5)项目并部署到自己的 iPhone 运行起来。
- 免费苹果开发者账号可以理解为:只要你有 AppleID 就可以了,或者说只要你有一台 iPhone 就行了。
- 本教程虽然基于 UE5 ,但大部分内容也适用于 UE4 。
前置条件
- 已经安装有 UE5 引擎和游戏工程,且游戏工程能通过 VisualStudio 在 Windows 上正常运行。
教程环境
- 主机系统: Windows 10
- 虚拟机系统: MacOS 的 Catalina10.15.1
- 虚拟机: VMware 15.5
- iTunes: 12.10.10.2
- 引擎: Unreal Engine 5
- IDE: VisualStudio 2022
- Xcode: 13.4.1
软件下载
见文末
详细步骤
VMware
在 Windows 上安装 VMware 虚拟机(以下简称 VM )
这里选不选无所谓
点击许可证,输入序列码,可直接激活。也可安装完毕后再激活。
(关注微信公众号“GameDevLearning”后回复 “VMware 15.5 序列码”获取序列码。)
添加虚拟机的 MacOS 支持
下载 unlocker
关闭虚拟机
停止所有 VM 服务
下载 unlocker ,解压之,放到 VMware 的安装目录
等待安装完毕
之后务必重新回到服务页面,开启所有 VM 相关服务,否则后面 MacOS 可能没法正常联网。
MacOS 虚拟机的创建和设置
这里点浏览时可能默认只显示 iso 文件,自己手动在全部文件里找即可。
这里如果没有 MacOS 可选的话,就是 unlock 那步没做好,再走一遍即可。
磁盘最好 100G 以上,否则后面可能不够用。
内存 8G 以上,否则可能卡。
在 smc.present = "TRUE" 后加一行输入 smc.version = "0"
如果蓝屏或者显示 BootManager,大概是你的 MacOS 镜像有问题,下载我们的即可。
MacOS 的安装
MacOS 的配置
点不出这个界面的话,大概率是之前 VM 的服务没有重新开启,开启后重启 MacOS 再操作即可。
MacOS 升级
不升级的话,可能无法正常下载和使用 XCode 。
VMTool 安装
不安装的话,可能无法在虚拟机和主机之间共享文件,如证书无法拖到主机。同时也可能无法把虚拟机里的 MacOS 全屏。
XCode
说明
确保苹果系统已经更新到了 Monterey 版本(12.3+),否则无法下载和安装 XCode 。
XCode 安装
不让安装的话,大概率是 MacOS 系统不匹配,按上文所述的升级系统即可。
下载要点时间,安装也要点时间,安装完毕之后转圈也要一些时间,耐心等待即可。
XCode 配置
Product Name 要跟 UE 游戏工程里的 PROJECT_NAME 保持一致。
注意,这里的 Organization Identifier 格式为 com.mydomain ,虽然基本可以随意,但是要记住,因为后面 UE 中会用到。
如果用的虚拟机,插上手机后要点虚拟机右下角的图标让手机连接虚拟机,否则可能导致 XCode 这里看不到目标手机。
插上手机后,记得在弹出的窗口中选择信任。
要让这个新工程在你的手机上运行一下,“这是为了给 mobileprovision 增加设备 ID”
不一定是AppleID的密码,如果Mac有登录密码,这就是登录密码
MacOS
证件获取和导出
P12 证书的名字随意,但最好单纯以字母和数字命名。
密码推荐用 MacOS 密码,免得密码多了搞混。
把这个目录下的2个 mobileprovision 文件直接拖到 Windows 主机上,以便后面在 UE 里使用。
在 Windows 主机上新建一个文本文件,名字叫做“.keychain.password”,里边填写 MacOS 的登录密码。
把 .keychain.password 文件拖到 MacOS 的用户根目录,就是 MacOS 中名字是你的用户名的那个目录。
拖过去之后你可能没法直接看到文件,没关系,只要拖动成功了,那就是已经存在,只是隐藏了,下边让你看看。
远程登录支持
拷贝下来,后面要用。
Itunes
说明
请从本文给出的下载地址下载,如直接下载 Windows Store 的,可能无法运行或导致打包失败。
Itunes 安装
Unreal
源码修改
总览
MobileProvisionUtilities.cs
倘若这个文件没有,去 git 的 unreal 页面,找到对应引擎的源码的这个工程,拷贝到对应地址即可。
IOSToolChain.cs
Writer.WriteLine("[[ -f \"$HOME/.keychain.password\" ]] && security unlock-keychain -p \"$(cat $HOME/.keychain.password)\" && /usr/bin/xcrun {0}", CmdLine);
UEBuildIOS.cs
UE5 中的配置
这里不清楚是哪个 mobileprovision 文件的话,两个都导入就好(每个文件导入一次)
看到哪个 mobileprovision 的 Status 是 Valid,就在前面打钩选中。
导入 p12 后会让输入证书的密码,输入之前设置的密码即可(就是 MacOS 的登录密码)。
看到状态是 Valid 就对了,前面打钩。
[PROJECT_NAME]不用修改,会自动设置的。但是记得确保 UE 里的跟 XCode 里的都一致。
这里的包名用之前 XCode 工程新建的时候提到的那个包名
按回车
会让提示输入一些信息,如红框处所示,分别输入 yes、MacOS 登录密码、直接回车(2次)即可。
按回车,输入登录密码,最后在提示“请按任意键继续”的地方继续按回车,等待几秒后,可见下图。
这里会自动设置好,除非之前的操作出问题了(出问题大概是 MacOS 的远程没设置好,或者密码错了等等,仔细检查前面的步骤即可)
在 UE5 中打包 iOS
插上 iPhone , 在虚拟机里可以看到如图提示,选“连接到主机”,然后在手机上点“信任”。
前面的操作没问题的话,这里就是单纯的手机名字了。如果不是这样,检查上一步的操作,以及 iTunes 的安装。
选择 IPA 文件等打包文件的存储地址。
打包成功后会自动安装到手机上,LOG 中有 IPA 地址,本地也会有对应的 IPA 文件。
问题答疑
- VM 创建虚拟机时没有 Apple Mac OS X(M)这个选项
- 要给 VM 安装 unlock 先。
- MacOS 安装出现蓝屏或者 Boot Manager
- MacOS 镜像有问题,请从本文下载 Catalina10.15.1.cdr
- MacOS 无法全
- 参考上文安装 VMTool
- MacOS 里无法登录 Apple ID
- 大概率是网络问题,检查 Windows 机器上服务里 VM 的所有服务是否已开启,及 VM 的网络配置是否设置为 NAT 即可。
- XCode 没法下载
- 参考上文升级 MacOS
- MacOS 中找不到 mobileprovision ,甚至找不到 MobileDevice/Provisioning Profiles 目录
- 默认隐藏了,需要先让这些目录显示出来,参考上文。
- MacOS 创建的 .keychain.password 文件不显示
- 默认隐藏了,需要用 -a 显示,参考上文在终端下输入 ls -a 查看
- MacOS 无法创建 .keychain.password
- 可在 Mac 终端使用 mv 命令移动文件的方式来改名,格式为:mv 原名字 新名字。
- 也可在安装了 VMTool 的情况下,先在 Windows 上创建相关文件并填写相关数据,然后直接拖动到 MacOS 的对应目录下。
- MacOS 里的证书等文件无法复制粘贴到 Windows 主机
- 参考上文安装 VMTool
- Itunes 相关报错
- 请从本文给出的下载地址下载,如直接下载 Windows Store 的,可能无法运行或导致打包失败。
- UE 里没有 MobileProvisionUtilities.cs 这个文件
- 某些情况下(如果本来是蓝图项目), UE 版本中可能没有这个文件,从 UE 的对应版本的 git 里复制过来即可。
- UE 源码行号不匹配
- 本文修改的源码是基于 Unreal 5.0,其它版本的源码行号可能不完全一致,找到对应位置修改即可,不影响运行。
- mobileprovision 证书有2个,导入哪个?
- 不确定的话可以两个都导入,然后勾选状态是 Valid 的那个。
- UE5 中“生成SSH键” 时报地址不存在之类的错误
- 首先确保 iOS 的远程编译选项中正确填写了“远程服务器命名”和“重新同步用户名”,其次确保 MacOS 中开启了远程登录权限,且用户选择了所有用户。详细见上文。
- iPhone 插上电脑后,UE 里找不到手机
- 查看是否手机连到 VM 中了,可点击 VM 的右下角的移动设备按钮,切换连接方式,连接到主机。
- 确保手机连上电脑后,手机上点击了信任。
软件下载
- VMware 15.5
- 为保持下载链接的有效性,请关注公众号(GameDevLearning)后回复“VMware15.5”获取最新下载地址。(没空格)
- MacOS 之 Catalina10.15.1
- 为保持下载链接的有效性,请关注公众号(GameDevLearning)后回复“Catalina10.15.1”获取最新下载地址。
- VMware 的 MacOS 支持:unlocker
- 为保持下载链接的有效性,请关注公众号(GameDevLearning)后回复“unlocker”获取最新下载地址。
- iTunes
- 为保持下载链接的有效性,请关注公众号(GameDevLearning)后回复“iTunes”获取最新下载地址。
扩展阅读
- 在 Windows 上用免费苹果开发者账号打包虚幻(Unreal Engine 4)项目
- UE4 windows打包IOS 踩坑记录
- VM15pro安装MacOS10.15.1系统
- UE5(C++)安装常见问题
**声明:**本文来自公众号:GameDevLearning,转载请附上原文链接及本声明。