将Unity集成到Swift项目中

时间:2018-12-21 15:47:58

标签: ios swift unity3d

好吧,我已经看过并尝试了从类似问题“如何将Unity iOS代码集成到Swift项目中”引用的大多数教程。但是我的所有尝试都因链接器错误“对于体系结构arm_64没有此类符号”或“对于体系结构x86_64没有此类符号”而失败。我在Unity方面尝试了不同的构建选项,但没有成功。 所有这些教程/文章的共同点是:它们都已过时,我发现该文章的最新版本是2018.2.2f1,我的Unity版本是2018.2.20f1。 因此,有人知道如何将Unity 2018.2.20+ iOS构建的代码集成到Swift 4.2(XCode 10)项目中吗? 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

这就是我如何在快速项目中整合统一性。

1)创建新的Xcode项目(使用Swift)

2)(创建桥接头步骤)创建新类File-> New-> Cocvatouch类并选择lang Objective C,它将要求创建桥接头,选择create

3)转到https://github.com/jiulongw/swift-unity并下载zip文件

4)打开下载的文件并解压缩。转到Xcode文件夹-> DempApp->您会发现 Unity Folder 复制粘贴到您的项目中(如果拖放它,请确保选中要复制到目标的复选框)

5)并排打开新的Xcode项目和自动生成的unity项目,以便您轻松复制粘贴

6)将 Classes文件夹从统一Xcode项目复制到您的Xcode项目中,并复制到步骤4的 unity 文件夹

7)将库文件夹从统一Xcode项目复制到您的Xcode项目中,并复制到步骤4的 unity 文件夹

8)将 Data 文件夹从统一Xcode项目复制到您的Xcode项目中,并复制到步骤4的 unity 文件夹

9) 重要 转到Xcode项目,点击左侧的项目名称,会有两个选项 Project and target 。在中心主窗口中选择项目,您会看到配置展开它,并针对您的项目名称,从淹死

中选择 Unity

10)转到 然后删除 main.mm 文件或评论所有内容

11)您在步骤3中下载的goto文件夹将AppDelegate.swift的所有代码复制到您的AppDelegate.swift文件

12)在您的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 */

13)将 LaunchScreen-iPad.xib LaunchScreen-iPhone.xib 复制粘贴到您的项目中,然后删除 LaunchScreen.storyboard

13)编译:]它应该可以成功编译(在我的情况下,我没有出现DeviceSettings.mm缺少返回语句的错误,所以我只是在}之前添加了return deviceUnknown;)

14)您可以看到step3下载的view controller.swift文件,以了解如何在屏幕上显示统一视图

注意:统一后,您将无法在模拟器中运行,因此必须在真实设备中运行。 最好在同一台计算机上具有统一性和xcode。有时所有框架仅在diff中获得文件夹的引用。机器,您可能会遇到问题

最后,您的项目应该看起来像 enter image description here

希望这会有所帮助。

如果您认为有帮助,请不要忘记投票:)