如何将Unity游戏嵌入iOS本机Swift应用程序
嗨! 对于一个或我们将来的B2B合同,我们必须将Unity游戏集成到iOS本机Swift应用程序中。 我们为实现有效而没有错误的努力已经很多天了。
我们希望通过这个简单的教程来分享我们的知识和过程。
本教程的灵感来自其他人的工作:
将Unity 5与Xcode 7集成在本地iOS应用中
几个月前,我发表了一篇博客文章,介绍如何在本地iOS应用程序中集成Unity3D。 本教程
书呆子
久隆县
swift-unity –将Unity(2017.1+)场景集成到iOS(Swift 4.0,Xcode 9+)项目中的示例代码。
github.com
keyv / iOSUnityVuforiaGuide
iOSUnityVuforiaGuide –将Unity + Vuforia集成到本机iOS应用程序中
github.com
jack_loverde / Unity 5 Vuforia 6和iOS本机集成
这是带有代码的Unity 5.x,Vuforia 6.x和iOS 8.4至10.x子类化示例的存储库。
bitbucket.org
这是所有资源的链接: 单击此处
以及指向其特定部分的链接:
- 附加:包含遵循教程的基本文件的文件夹:
点击这里 - TutorialImages:本教程中使用的所有图像: 点击这里
- UnityExport: Unity iOS构建导出文件夹: 单击此处
- UnityProject:本教程中使用的Unity项目: 单击此处
- XcodeProject:可以用作您自己的项目的模板的整个Xcode项目: 单击此处
(如果在构建“类” , “库”和“数据”文件夹的“删除”和“删除引用”时遇到错误,请继续执行11. 12.和13.步骤。)
- 本教程的灵感来自王久隆的工作,您可以在这里查看他的教程及其出色的自动化脚本https://github.com/jiulongw/swift-unity
- 本教程是使用Unity 2017.4.0f1制作的,但它也适用于最新的2018.2.2f1版本。 但是,您必须在项目的“ Build Settings”中将“ Mismatched return type”选项设置为“ Yes”
- 请注意, Xcode不喜欢路径和项目名称中的空格 ,因此请避免使用它
- 注意嵌入Unity可能会导致游戏问题 ,尤其是图形游戏
- 当您对Unity项目进行更改并再次导出时,请确保替换“ Classes” , “ Libraries”和“ Data”文件夹,并检查项目设置中的“ Configurations”是否设置为“ Unity”
- 当您在Xcode中有错误时 ,命令
“清洁” (产品/清洁) Command + Shift + K
和“清理构建文件夹” 命令+ Option + Shift + K
可以帮助您在重新构建之前摆脱它 - 如果你得到一个 生成时,Xcode中出现“找不到设备支持文件”错误 ,请下载此存储库https://github.com/iGhibli/iOS-DeviceSupport,然后在“ /Applications/Xcode.app/Contents/Developer/平台/
iPhoneOS.platform / DeviceSupport”
1.打开Xcode并创建一个新的Swift项目或打开一个现有的项目
2.选择“ Single View App”,然后单击“ Next”
3.随心所欲命名项目并将语言设置为Swift
4.随时随地保存您的项目
5.打开您的Unity项目并切换到iOS平台
6.如果还没有文件夹,则创建一个“ Editor”文件夹,然后复制“ XcodePostBuild.cs”脚本,您可以在本教程开始时的“ Extra”文件夹中找到该脚本。 这是王九龙提供的剧本
7.打开脚本,并将“ XcodeProjectRoot”替换为刚创建的Xcode项目路径的路径。 您必须将路径放入包含“ .xcodeproj”文件的文件夹。 然后,用您的Xcode项目名称替换“ XcodeProjectName” ,显然
8.构建游戏并将其保存在您在其中创建Xcode项目的文件夹中
9.打开Xcode项目,并在“常规”选项卡中检查是否选择了有效的“团队” ,并验证您的“捆绑包标识符”是否正确
10.下载教程开始时提供的“ Extra”文件夹,并将“ Unity”文件夹从其中复制到Finder中的Xcode项目文件夹中。
11.现在将文件夹拖到Xcode树中,以选中“复制项目(如果需要)”和“创建组”选项将其链接
12.将Unity导出文件夹中的“类”,“库”和“数据”文件夹复制并粘贴到Xcode项目中,并粘贴到先前创建的Unity文件夹中
13.现在将“ Classes”和“ Libraries”文件夹拖到Xcode树中,以将其与“如果需要复制项目”和“创建组”选项选中的链接
14.然后,将“数据”文件夹拖到Xcode中,但仅使用“创建文件夹引用”选项
15.进入项目的“常规”选项卡,并设置“ Unity”配置文件
16.现在,您可以将“ AppDelegate.swift”,“ Main.storyboard”和“ ViewController.swift”文件完全替换为“ Extra”文件夹中提供的文件,也可以将其内容与自己的文件合并
17.如果要替换它们,请在Xcode树中选择“ AppDelegate.swift”,“ Main.storyboard”和“ ViewController.swift” ,然后使用“移至垃圾桶”选项将其删除。
18.然后,拖动Xcode项目树的额外文件夹中提供的那3个文件,并复制它们,并选中“ 如果需要,复制项目”和“创建组”选项 。
19.如果Xcode要求您配置桥接头,请选择“不创建”
这两个脚本也是王九龙提供的。
AppDelegate.swift
21.完成“ Main.storyboard”和“ ViewController.swift”后,检查后者是否已链接到故事板的“ Class”变量中
22.为了避免“ LaunchScreen.storyboard”文件出现某些错误,请将其删除,然后在项目的“常规”选项卡中,将“ Main.storyboard”设置为“ Launch Screen File”。
23.现在已经完成了所有设置,您应该能够选择您的iOS设备并在其上构建Xcode项目
24.应用启动后,按“启动Unity”开始游戏,然后按“暂停Unity”暂停并隐藏它。 您可以再次按“启动Unity”以恢复它。