You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
276 lines
12 KiB
Plaintext
276 lines
12 KiB
Plaintext
Availability: Public
|
||
Title: 高级iOS PC/Mac工作流程
|
||
Crumbs:%ROOT%, Platforms, Platforms/iOS
|
||
Description:iOS平台的开发设置。
|
||
prereq:Platforms/iOS/QuickStart
|
||
|
||
[TOC(start:2 end:2)]
|
||
|
||
%Globals:OSSelect%
|
||
|
||
## 概述
|
||
|
||
本文档解释了如何设置开发环境来编译针对iOS设备的游戏,同时也介绍了部署在移动平台上运行的Unreal项目的一般流程。
|
||
|
||
[PUBLISH:Rocket]
|
||
[REGION:note]
|
||
当前,如果您正在使用虚幻引擎的启动器版本,对于基于蓝图的项目,您只能从Windows部署到iOS。
|
||
[/REGION]
|
||
[/PUBLISH]
|
||
|
||
## 设备 / SDK
|
||
虚幻引擎4可以运行于IPhone4/IPad2或更新设备,iOS 6.0或以上。
|
||
|
||
如需了解您的设备在引擎功能方面的兼容性,请查看[](Platforms\iOS\DeviceCompatibility)页面。
|
||
|
||
## 支持的配置
|
||
[OBJECT:ToggleButtonContent]
|
||
[PARAMLITERAL:category]
|
||
OS
|
||
[/PARAMLITERAL]
|
||
[PARAMLITERAL:id]
|
||
windows
|
||
[/PARAMLITERAL]
|
||
[PARAMLITERAL:active]
|
||
active_button_content
|
||
[/PARAMLITERAL]
|
||
[PARAM:content]
|
||
[INCLUDE:#WindowsConfig]
|
||
[/PARAM]
|
||
[/OBJECT]
|
||
[OBJECT:ToggleButtonContent]
|
||
[PARAMLITERAL:category]
|
||
OS
|
||
[/PARAMLITERAL]
|
||
[PARAMLITERAL:id]
|
||
mac
|
||
[/PARAMLITERAL]
|
||
[PARAMLITERAL:active]
|
||
[/PARAMLITERAL]
|
||
[PARAM:content]
|
||
[INCLUDE:#MacOSConfig]
|
||
[/PARAM]
|
||
[/OBJECT]
|
||
|
||
<!--
|
||
[EXCERPT:WindowsConfig]
|
||
|
||
请查阅[推荐配置规格](GettingStarted/RecommendedSpecifications)页面以获得Windows系统需求的详细信息。
|
||
|
||
[/EXCERPT:WindowsConfig]
|
||
|
||
|
||
[EXCERPT:MacOSConfig]
|
||
|
||
请查阅[推荐配置规格](GettingStarted/RecommendedSpecifications)页面以获得Mac系统需求的详细信息。 请注意如需部署到iOS 7.1,您需要安装XCode 5.1。 XCode在App Store可以[免费下载](https://itunes.apple.com/us/app/xcode/id497799835?mt=12)。
|
||
|
||
[/EXCERPT:MacOSConfig]
|
||
-->
|
||
|
||
|
||
|
||
## 苹果iOS开发商入门指南
|
||
|
||
您需要注册[苹果IOS开发者项目](https://developer.apple.com/programs/ios/)。
|
||
* 个人 - 如果您为自己工作,或者您是小团队中唯一需要对IOS账户的管理员权限的人。
|
||
* 公司 - 如果您是注册了公司的小团队/这可以让您添加人员访问权限到您的团队,并让他们获得不同的访问权限
|
||
|
||
当您创建一个苹果开发者账户时,您必须执行以下操作(使用苹果的指令):
|
||
|
||
|
||
* 创建一个凭证。
|
||
* 创建一个App ID (可以在用户指定的部分使用 * )。
|
||
* 创建一个provisioning profile(服务提供概述介绍)。
|
||
* 添加您的设备。
|
||
* 把您的所有设备添加到provisioning profile(服务提供概述)中。
|
||
|
||
如需更多信息,请查阅苹果网站的以下页面:
|
||
* [App发布指南](https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40012582-CH1-SW1)
|
||
* [保持标示符、设备和概述文件](https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingProfiles/MaintainingProfiles.html#//apple_ref/doc/uid/TP40012582-CH30-SW1)
|
||
* [在设备上启动您的App](https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/LaunchingYourApponDevices/LaunchingYourApponDevices.html#//apple_ref/doc/uid/TP40012582-CH27-SW4)
|
||
|
||
|
||
[OBJECT:ToggleButtonContent]
|
||
[PARAMLITERAL:category]
|
||
OS
|
||
[/PARAMLITERAL]
|
||
[PARAMLITERAL:id]
|
||
windows
|
||
[/PARAMLITERAL]
|
||
[PARAMLITERAL:active]
|
||
active_button_content
|
||
[/PARAMLITERAL]
|
||
[PARAM:content]
|
||
[INCLUDE:#WindowsSetup]
|
||
[/PARAM]
|
||
[/OBJECT]
|
||
[OBJECT:ToggleButtonContent]
|
||
[PARAMLITERAL:category]
|
||
OS
|
||
[/PARAMLITERAL]
|
||
[PARAMLITERAL:id]
|
||
mac
|
||
[/PARAMLITERAL]
|
||
[PARAMLITERAL:active]
|
||
[/PARAMLITERAL]
|
||
[PARAM:content]
|
||
[INCLUDE:#MacOSSetup]
|
||
[/PARAM]
|
||
[/OBJECT]
|
||
|
||
<!--
|
||
[EXCERPT:WindowsSetup]
|
||
|
||
如果您需要获得Windows上的凭证,您需要使用iPhone打包器,它的位置在`Engine\Binaries\DotNET\IOS`。
|
||
|
||
在iPhone打包器中有两个选项卡:
|
||
* 新用户
|
||
* 已经是注册的iOS开发者
|
||
|
||
新用户选项卡包含了以前没有开发过iOS应用程序的开发人员所需要的工具。
|
||
|
||
在这里您可以:
|
||
* 打开生成凭证的申请窗口。 Generate Certificate Request(生成证书请求)生成用于签署iOS应用程序的键值对和用于在Apple的开发者网站上生成证书的证书请求。
|
||
* 导入从苹果的开发者网络下载的服务提供概述。
|
||
* 导入从苹果的开发者网站下载的开发凭证和密钥对。
|
||
|
||
[REGION:warning]
|
||
有一个选项可以打开Edit Info(编辑信息).plist窗口,但这是一个不再使用的旧选项。 最终,iPhone打包器的功能将被整合到虚幻编辑器中。
|
||
[/REGION]
|
||
|
||
Already a Registered iOS Developer(已经注册为iOS开发者)标签包含了以前开发过iOS应用程序的开发人员的工具,他们或者使用Unreal或者通过其他方法已经有了一个开发证书和provisioning profile(服务提供概述)。
|
||
|
||
在这里您可以:
|
||
* 导入从苹果的开发者网络下载的服务提供概述。
|
||
导入先前从Apple的开发者网站下载的开发证书和密钥对,或者导入从Keychain Access导出的 a .p12文件。
|
||
|
||
在安装您的凭证时,向导中的默认选项应该在大多数情况下都能发挥作用。
|
||
|
||
[/EXCERPT:WindowsSetup]
|
||
|
||
|
||
[EXCERPT:MacOSSetup]
|
||
|
||
|
||
现在您需要在您的Mac安装凭证,正如在网站上所介绍的那样。 您也需要在您工作室中需要用于签署应用程序的所有Mac上安装凭证。 有两种方式可以到达这个目的:
|
||
|
||
|
||
* 使用Keychain Access(密码链访问)应用程序:
|
||
* 选择登陆密码链。
|
||
* 在Category(类别)部分选中My Certificates(我的凭证)。
|
||
* 选中新的凭证 (它以 "iPhone Developer"开头)。
|
||
* 右击它然后选择Export(导出)。
|
||
* 根据弹出信息操作(如果您的存储安全,可以使用空密码)。
|
||
* 把 .p12 分发给其他人。
|
||
* 然后他们可以双击它,把.p12拖拽到Keychain Access(密码链)中,以便在他们的登录密码链中安装凭证。
|
||
* 选中Xcode:
|
||
* 跳转到Organizer(组织者)。
|
||
* 跳转到左下角的Developer Profile(开发者概述)。
|
||
* 选中Export Developer Profile(导出开发者概述)。
|
||
* 按照提示操作 (包括输入密码 - 使用您可以和您的团队共享的密码)。
|
||
* 把概述文件分发给其他人。
|
||
* 然后可以在它们的Xcode的组织器中导入Developer Profile(开发者概述)。
|
||
|
||
接下来,从苹果网站下载 `.mobileprovision`。 它将会下载 <ProfileName>.mobileprovision 文件。 您应该将`.mobileprovision`文件放置在以下位置之一:
|
||
* `[GameDir]/Build/IOS/[GameName].mobileprovision`
|
||
* `Engine/Build/IOS/UE4Game.mobileprovision`
|
||
|
||
|
||
[/EXCERPT:MacOSSetup]
|
||
-->
|
||
|
||
最后,最重要的是每个人在它们的登录密码链中都具有相同的"iPhone Developer(iPhone开发者):"凭证。
|
||
|
||
您可以在所有游戏中共享通配符mobileprovision文件(直到如苹果公司所解释的那样,游戏需要非通配符文件)。 请记住在您添加更多设备时更新文件。
|
||
|
||
|
||
## 部署到iOS设备
|
||
|
||
您可以使用虚幻编辑器内的 **启动** 按钮来开始在iOS设备上快速测试当前关卡。
|
||
您也可以使用 **文件>打包** 命令在iOS设备上烘焙和打包游戏以供测试。 如需获得更多信息,请参阅[](Engine\Deployment\Launching)页面。
|
||
|
||
|
||
[PUBLISH:Licensee]
|
||
|
||
## 用于代码项目的基于Windows的工作流程
|
||
|
||
如果您想要在Windows上进行主要的开发和代码工作,请阅读此部分。
|
||
|
||
### Mac系统设置
|
||
|
||
* 通过App Store安装最新的Xcode。
|
||
* 使用Terminal(终端)应用程序创建需要的目录结构。
|
||
* 制作一些您可以写入的目录:
|
||
* sudo mkdir /UE4
|
||
* sudo chmod 777 /UE4
|
||
* 您还可以在您的主目录中生成这些目录,然后创建一个到它们的链接:
|
||
* ln -s ~/UE4 /UE4
|
||
* 安装并运行UnrealRemoteTool (URT)。
|
||
* 将程序安装到您的Mac。 A或B:
|
||
* A)
|
||
* 将UnrealRemoteTool从您的PC (//depot/UE4/Engine/Build/iOS/UnrealRemoteTool)复制到您的Mac。
|
||
* chmod a+x UnrealRemoteTool
|
||
* B)
|
||
* 通过p4v直接同步到Mac
|
||
* 通过Terminal(终端)运行UnrealRemoteTool(在URT中很少有没有在调试器中被捕获的罕见崩溃现象,所以我们在一个循环中运行它)
|
||
* for (( ;; )) ; do ./UnrealRemoteTool; done
|
||
* 请注意在苹果的Mountain Lion系统中,Terminal(终端)将会记住工作目录和命令历史记录,所以如果您重启,向上箭头应该会重新调用这个命令。
|
||
|
||
### 对窗口的编译
|
||
一旦您已经完成了上面的设置您的Windows和Mac系统的步骤后,编译就非常简单了,因为它使用UnrealBuildTool(虚幻编译工具)来执行编译:
|
||
* 运行//depot/UE4/GenerateProjectFiles_AllPlatforms.bat
|
||
* 打开其创建的UE4.sln。
|
||
* 打开游戏解决方案文件夹。
|
||
* 选择开发编辑器配置,以及Win64平台。
|
||
* **右键点击** 选中的游戏(例如QAGame)并选择Build(构建)。
|
||
* 现在,选择开发配置,以及IOS平台。
|
||
* 再一次编译您的游戏。
|
||
* 这样将会与您的Mac连接来运行UnrealRemoteTool, 将文件复制过来,并随后在Mac上运行远程编辑命令。
|
||
* 它会在最后执行一些签名,所以请确认它正常运作。 如果没有正常运作,请再次检查信息提供文件以及安装在Mac上的凭证。
|
||
* 启动烘焙程序。
|
||
* 在UE4/Engine/Binaries/Win64目录中(以cmd.exe运行),运行这个程序(替换QAGame为您的游戏名称):
|
||
* ue4editor-cmd QAGame -run=cook -targetplatform=ios -cookonthefly
|
||
* 这样将会启动烘焙服务器,可以与IOS设备在网络上沟通以获取烘焙的文件。
|
||
|
||
您可以查看您的Mac驱动器上的/UE4/Builds目录,您会看到有一个以您的PC的计算机名称命名的目录。 在那里有一个和您的PC目录结构相匹配的镜像目录。 在编译完成时,可执行文件将会位于游戏的Binaries目录中(或者,如果您编译过game-less虚幻引擎4项目,其将位于Engine/Binaries目录中)
|
||
|
||
### 使用Xcode来运行/调试
|
||
|
||
现在,如需在设备上运行,请使用您的Mac:
|
||
|
||
* 在/UE4/Builds/.../UE4/Engine/Binaries/IOS中,打开UE4_FromPC.xcodeproj
|
||
* 选择您游戏的对象(如QAGame_RunIOS)
|
||
* 编辑启动设置。
|
||
* 点击选项-指令-R
|
||
* 在参数下,添加任意您所需要的命令行参数,并且
|
||
* -filehostip=xx.xx.xx.xx
|
||
* xx.xx.xx.xx表示正在运行烘焙程序的PC的IP地址。
|
||
* 点击Run(运行),它会安装游戏到设备,并在游戏连接到PC烘焙程序的位置开始运行(您将在烘焙程序的输出中看到一些连接信息)。
|
||
|
||
|
||
## 基于Mac的工作流程
|
||
|
||
您可以在Mac上为IOS进行编译。 这个功能很新,所以很可能产生问题:
|
||
|
||
### 编译和运行
|
||
|
||
* 运行//depot/UE4/GenerateProjectFiles_AllPlatforms.command
|
||
* 在Xcode中,打开UE4/UE4.xcodeproj
|
||
* 选择QAGame - Mac。
|
||
* 在机制中(选项-指令-R),选择Development(开发),然后点击完成。 点击指令-B来构建Mac的可执行程序。
|
||
* 运行终端上的IOS烘焙程序。
|
||
* 启动Terminal.app并将当前目录设置为UE4/Engine/Binaries/Mac,然后运行这个程序(替换QAGame为您的游戏名称):
|
||
* 打开UE4Editor.app --args QAGame -run=cook -targetplatform=ios -cookonthefly
|
||
* 选择<GameName> - IOS (Run) 对象,并选择一个设备来运行它。
|
||
* 在机制中(选项-指令-R),选择Info(信息)下的Development(开发),然后转到Arguments(参数)。
|
||
* 为您的游戏添加任意必要的命令行选项,并且
|
||
* -filehostip=xx.xx.xx.xx
|
||
* xx.xx.xx.xx表示正在运行烘焙程序的Mac的IP地址。
|
||
|
||
|
||
|
||
## 打包
|
||
|
||
如果您想要预打包一个版本,请参阅虚幻前端文件以了解如何把所有内容烘焙到.ipa文件中。
|
||
[/PUBLISH:Licensee]
|