Hi!
文章来源:How to embed a Unity game into an iOS native Swift App
Hi!为了我们未来的B2B协议,我们必须必须把我们的游戏集成到IOS原生的Swift应用环境中去。为了使它高效而且没有错误,我们已经努力了很多天。 我们想通过这篇简单的教程来分享我们的只是和进展。
引用:
本教程的灵感来自于其他人的工作: 将Unity5集成到使用Xcode开发的原生IOS应用中 https://the-nerd.be/2015/11/13/integrate-unity-5-in-a-native-ios-app-with-xcode-7
jiulongw / swift-unity https://github.com/jiulongw/swift-unity
keyv / iOSUnityVuforiaGuide https://github.com/keyv/iOSUnityVuforiaGuide
jack_loverde / Unity 5 Vuforia 6和iOS原生集成 https://bitbucket.org/jack_loverde/unity-5-vuforia-6-and-ios-native-integration/src/master
注意事项:
1、这篇教程深受Jiulong Wang的工作的启发,你可以点击链接查看他的教程和他出色的自动化脚本https://github.com/jiulongw/swift-unity 2、这篇教程使用Unity2017.4.0f1,但是它也适用于2018.2.2f1版本。但是必须把项目中“构建设置”的”不匹配返回类型”设置为”yes”。 3、注意Xcode不喜欢在路径和项目名称中使用空格,所以需要避免它。 4、注意嵌入Unity会在游戏中产生问题,尤其是图形方面的问题 5、当你修改了你的Unity项目并再一次把它导出时,请确定替换”Classes”,“Libraries”和”Data”文件夹,检查项目设置中的”Configurations”是否已被设置为”Untiy”。 6、当你在Xcode中遇到错误时,命令”Clean”(Product/Clean)Command+Shift+K和”Clean Build Folder”Command+Option+Shift+K能帮你在构建之前摆脱它。 7、当你编译时,如果在Xcode中遇到一个”Could not locate device support files” 错误,下载这个https://github.com/iGhibli/iOS-DeviceSupport 并且在”/Applications/Xcode.app/Contents/Developer/Platforns/iPhoneOS.platform/DeviceSupport”
教程:
1、打开Xcode并且创建一个新的Swift工程或者打开一个已经存在的工程。
2、选择”Single View App”,然后点击”下一步”
3、命名你的项目并设置语言为Swift
4、保存你的工程到你想要保存的地方
5、打开你的Unity工程并切换到iOS平台
6、如果你还没有”Editor“文件夹,那就创建一个,并拷贝”XcodePostBuild.cs”脚本(在教程开始的地方你可以在”Extra“文件夹里找到)。这个脚本是Jiulong Wang提供的。
7、打开脚本并且替换”XcodePrijectRoot”为你刚刚创建的的Xcode工程路径。路径必须是到包含”.xcodeproj”文件的那层文件夹。然后显然替换”XcodeProjectName”为你的Xcode项目名称。
8、编译你的游戏并保存在你所创建的Xcode工程相同的文件件下。
9、打开你的Xcode工程,查看”General”选项卡是不是选中了有效的”Team”,并且验证你的”Bundle Identifer”是不是OK
10、下载教程开始时提供的”Extra“文件夹,从它里面拷贝”Unity”文件夹到Xcode工程目录文件夹。
11、现在拖拽文件夹到Xcode树状结构上,并在弹出的窗口选择”Copy items if needed”和”Create groups”。
12、从Unity导出文件夹中拷贝并粘贴”Classes”、”Libraries“和”Data”文件夹到Xcode项目中之前创建的Unity文件夹中
13、现在拖拽”Classes“和”Libraries“文件夹到Xcode树状结构上,并在弹出的窗口选择”Copy items if needed”和”Create groups”。
14、然后,拖拽”Data“文件夹到Xcode树状结构上,但只选择”Create folder references”选项。
15、在项目的”General”(现在在Info)标签页设置”Unity”配置
16、现在你可以使用”Extra“文件夹提供的文件完全替换”AppDelegate.swift”,”Main.storyboard”和”ViewController.swift”文件或者你可以使用你自己的文件合并到这些文件中。
17、如果你要替换他们,在Xcode中选中”AppDelegate.swift”,”Main.storyboard”和”ViewController.swift”并把它们移到垃圾回收箱来删除它们。
18、然后,拖拽extra文件夹提供的三个文件到Xcode工程树上,并选择选项”Copy items if needed”和”Create groups”。
19、如果Xcode询问你是否配置一个bridging header,选择”不创建”。
那两个脚本也是Jiulong wang提供的。 AppDelegate.swift
ViewController.swift
20、如果你不导入我们的”Main.storyboard”文件,你可以自己创建并链接按钮到”ViewController.swift“中对应的函数
21、一旦你做完了”Main.storyboard”和”ViewController.swift”,稍后检查是否链接到storyboard中的”Class“变量
22、为了避免”LaunchScreen,storyboard“文件的一些错误,删除他,并在项目的”General”标签页设置”Main.storyboard“为”场景启动文件”
23、现在所有的都要建立起来了,你应该能选择你的IOS设备并且在上面编译你的Xcode工程。
24、一旦你的应用启动起来,按下”Start Unity”按钮启动你的游戏,按下”Pause Unity”暂停并隐藏它。你可以按下”Start Unity”再一次恢复它。
Gist code
To use, see:Jektify - Doc
-
Música
Jekyll plugin to generate html snippets for embedding Spotify Musics. To listen to the full song, open your Spotify and start these musics.
Goodbye!