zzh*_*ads 6 unity-game-engine ios swift
好吧,我已经看过并尝试了从类似问题“如何将 Unity iOS 代码集成到 Swift 项目”中引用的大部分教程。但是我所有的尝试都因链接器错误“架构 arm_64 没有这样的符号”或“架构 x86_64 没有这样的符号”而失败。我在 Unity 端尝试了不同的构建选项,但没有成功。所有这些教程/文章的共同点是:所有这些都过时了,我发现的最新版本的 Unity 文章是 2018.2.2f1,我的 Unity 版本是 2018.2.20f1。那么,有人知道如何将 Unity 2018.2.20+ iOS 构建的代码集成到 Swift 4.2 (XCode 10) 项目中吗?任何帮助将不胜感激。
这是我在我的 swift 项目中集成 unity 的方式。
创建新的 Xcode 项目(使用 swift)
(创建桥接头步骤)创建新类 File -> New -> Cocoa touch class 并选择语言目标 C 它会要求创建桥接头选择创建
转到https://github.com/jiulongw/swift-unity并下载 zip 文件
打开下载的文件并解压。转到 Xcode 文件夹 -> DemoApp-> 您会发现Unity 文件夹复制粘贴到您的项目中(如果您拖放它,请确保选中在目的地复制的复选框)
并排打开您的新 Xcode 项目和自动生成的统一项目,以便您可以轻松复制粘贴
将Classes Folder从 unity Xcode 项目复制到您的 Xcode 项目到第 4 步的unity Folder
将库文件夹 从统一 Xcode 项目复制到您的 Xcode 项目到步骤 4的统一文件夹
将数据文件夹从统一 Xcode 项目复制到您的 Xcode 项目到步骤 4的统一文件夹
重要转到 Xcode 项目点击左侧的项目名称将有两个选项Project 和 target。 在中心主窗口中选择项目,您可以看到配置展开它并针对您的项目名称从下拉淹没中选择Unity
转到 您在步骤中复制的类文件夹并删除main.mm文件或注释所有内容
转到您在步骤 3 中下载的文件夹 将所有代码复制AppDelegate.swift到您的AppDelegate.swift文件中
在您的 Xcode 项目中搜索YourProjectFileName-Bridging-Header 并复制粘贴
#ifndef BRIDGING_HEADER #define BRIDGING_HEADER
#import <UIKit/UIKit.h> #import "UnityUtils.h" #import "UnityAppController.h" #import "UnityInterface.h"
#endif /* BRIDGING_HEADER */
将LaunchScreen-iPad.xib和LaunchScreen-iPhone.xib复制粘贴到您的项目中并删除LaunchScreen.storyboard
编译它 :] 它应该编译成功(不是在我的情况下我得到错误,即 DeviceSettings.mm 缺少 return 语句,所以我只是添加了 return deviceUnknown; 在 } 之前)
您可以查看第 3 步下载的视图 controller.swift 文件,了解如何在屏幕中显示统一视图
注意:集成 unity 后,您将无法在模拟器中运行,因此您必须在真机中运行。最好在同一台机器上使用 unity 和 xcode。有时所有框架只获得文件夹的引用,所以在不同的机器上你可能会遇到这个问题
最后你的项目应该看起来像
希望它有帮助。
如果您认为有帮助,请不要忘记点赞 :)