该文章为吃货传说原创,转载请注明出处。
突然想起来自己是一个从来没开发过任何产品的Apple Developer,所以就瞎折腾想把一个做的UE4小项目发布到自己的iPhone上看看什么效果。但是手头没有一个可以自己支配的Mac,所以只好用PC发布啦!研究了一阵才搞定,特地记录下来用以帮助更多人。
1. 前期准备工作
1.1 检查你的项目
掏出你的钱包,交99美刀搞定(一年)。
确保你的项目是没有C++的纯蓝图项目,并且没有苹果发布的iOS官方插件(比如ARKit什么的)。
按照UE官方的解释,如果满足这样的需求,在发布iOS包的时候是不需要Mac系统和Xcode介入的(但你依然需要开发者账号)。
如果有C++或是那些乱八七糟的插件,那么一个安装了Xcode的Mac就一定需要了。请去我的另一篇教程:
然而这篇教程我还没写好..
1.2 .cer文件和.mobileprovision文件
如果你还没有证书,或者你不想使用别人的证书,那么就需要生成一个了。生成证书文件有两种方式
1.2.1 【不推荐】使用Windows系统的UE自带的IPhonePackager:
1. 打开“引擎安装目录\Engine\Binaries\DotNET\IOS\IPhonePackager“
2. 打开后会让你选择一个.uproject文件,也就是你要发布的项目。
3. 点击Create certificate request and a key pair
4. 填好Email Address 和 Common Name
5. 点击Generate a key pair
6. 选择保存位置,点击保存,会生成一个.key文件
7. 点击Generate Certificate Request
8. 选择保存位置,点击保存,会生成一个.csr文件
9. 打开https://developer.apple.com/account/ios/certificate/
10. 点击右上角的+按钮,准备为你的开发者账号添加一个证书。
11. 选择iOS App Development。 因为你是Windows系统所以要安装一个中间证书,苹果官方有如下解释:
To use your certificates, you must have the intermediate signing certificate in your system keychain. This is automatically installed by Xcode. However, if you need to reinstall the intermediate signing certificate click the link below:
https://developer.apple.com/certificationauthority/AppleWWDRCA.cer
下载完成后双击将其安装到你的PC上。
12. 点击Continue。
13. 这一步是教你怎么创建.csr文件,我们已经有了,点击Continue
14. 上传我们刚刚生成的.csr文件,点击Continue
15. 现在证书已经生成并添加到了你的账户中,我们可以下载下来了,下载后是一个.cer文件,记得双击安装到你的PC上。
1.2.2 【推荐】使用Xcode生成并导出再拷贝到PC上:
请看《(2)[UE4]在Windows PC上使用Remote Build打包iOS App》中的“1.3 确保Windows PC和Mac安装了同样的iOS Certificate”
1.2.3 添加App ID
打开https://developer.apple.com/account/ios/certificate/,点击页面左侧的Identifiers分类下的App IDs
1. 点击右上角的+按钮,准备为你的开发者账号添加一个App ID。
2. 填写App ID Description 的Name,写什么都好,自己能记得住是什么就行
3. 在App ID Suffix栏目中选择Explicit App ID,并填写Bundle ID
官方推荐使用 reverse-domain name style 例如:
com.你的名字或者你的公司名.你的项目名
4. 勾选你需要的App Services,点击Continue
5. 确认信息,点击Continue,在下一页点击Done,现在你有了一个新的App ID。
1.2.4 添加Device
打开https://developer.apple.com/account/ios/certificate/,点击页面左侧的Devices分类下的All
1. 点击右上角的+按钮,准备为你的开发者账号添加一个测试设备。
2. 如果添加一个设备,可以选择Register Device,如果添加多个设备,可以选择Register Multiple Devices,并按照示例文件的格式写好文件并上传。
3. 填好Name 和 UDID,可以在这里查询到设备的UDID。 查询UDID:https://www.pgyer.com/udid
4. 点击Continue,在下一页点击Register,现在你有了一台新的测试设备。
1.2.5 制作Provisioning Profiles(.mobileprovision)
打开https://developer.apple.com/account/ios/certificate/,点击页面左侧的Provinsioning Profiles分类下的All
1. 点击右上角的+按钮,准备为你的开发者账号添加一个Provisioning Profile。
2. 选择 iOS App Development, 点击Continue。
3. 选择刚刚添加的App ID,点击Continue。
4. 选择刚刚添加的证书,点击Continue。
5. 选择刚刚添加的测试设备,点击Continue。
6. 填好Profile Name, 写什么都好,自己能记得住是什么就行,点击Continue。
7. 现在Provisioning Profile已经生成并添加到了你的账户中,我们可以下载下来了,下载后是一个.mobileprovision文件。
至此,我们的前期准备工作都完成了。如果你每一步都正确的话,目前我们一共有了4个文件:
.key
.csr
.cer
.mobileprovision
其中.key .cer .mobileprovision 是一会我们需要用到的。
2. 对项目进行设置
打开你的项目,并且打开Project Setting,在左边找到Platforms - iOS
2.1 导入.mobileprovision
在Mobile Provision分类中点击Import Provision,选择刚刚我们下载的.mobileprovision文件。
2.2 导入.cer
在Mobile Provision分类中点击Import Certificate,选择刚刚我们下载的.cer文件。接下来会有一个提示让你选择对应的key pair,此时我们要选择之前生成的.key文件。
2.3 设置Bundle信息
在Bundle Information分类中的Bundle Identifier内,把刚刚我们在网页中填写的Bundle ID前半部分覆盖上去:
默认状态下这里填写的是com.YourCompany.[PROJECT_NAME], 假设你刚刚在添加App ID时填写的是com.abc.myproject, 那么这里就应该填写com.abc.myproject。Bundle Display Name就是你的App在设备上的名字。
3. 打包和运行
3.1 打包.ipa文件及安装到设备上
如果一切都没问题,那么Mobile Provision中我们刚刚导入的Provision和Certificate会变成绿色,并且Status会变为Valid。需要注意的是,第一次配置需要大概一天的时间去缓冲,此时就算你的配置一切正确,Provision也会显示Not Valid。我们不用管他。
在下面的设置中可以设置诸如最低系统版本,应用程序的朝向,Shader等信息。
至此,项目设置都已经完成了。接下来,点击File->Pacakge Project->iOS 开始打包,选择好要保存的目录就可以了。
打包完成后可以使用UE自带的IPhonePackager直接安装到设备上。打开IPhonePackager,无需选择项目,选择顶部的Advance Tools,点击Install IPA to hardware,选择你打好包的文件,就会自动安装到当前连接到PC的设备了。
3.2 直接在设备上运行
如果你想直接在设备上运行,那么把设备和PC连上,
1. 选择顶部工具栏中的Launch旁边的小箭头,选择Project Launcher。
2. 在打开的窗口中点击右上角的Advance,把下面的All iOS On xxxxxx的Data Build选成By the Cook,即提前烘焙好内容。默认是On the fly模式,意思就是变运行边烘焙,卡死你。
3. 点击右边的Launch。
其实直接Launch也会给你打包,路径是你的项目目录/Binaries/IOS
网友评论