海田1 发表于 2020-12-21 10:54

unity写的功能模块如何集成到iOS原生的代码里边?

unity写的功能模块如何集成到iOS原生的代码里边?

计划你大爷计j 发表于 2020-12-21 11:01

OC版Unity工程融合
1.更改app启动   删除main.storyboard   在app delegate中创建window并添加根控制器
2.在项目中创建Unity文件夹,将Unity中的Library和Native文件夹拖到项目的Unity文件夹下



3.remove references Libraries文件夹下的libel2cpp文件夹
4.remove references Classes/Native文件夹下所有的.h文件
5.将Data文件夹拖到Unity文件夹下,选择 Create folder references



6.添加framework



7.Build-Settings
7.1 Enable-Bitcode   No
7.2 Other Linker Flags   -weak_framework CoreMotion -weak-lSystem
7.3 Header Search Paths



7.4 Library Search Paths



7.5 Other C Flags


7.6 C Language Dialect



7.7 创建pch文件,并设置Prefix Header
7.8 Precompile Prefix Header   YES
7.9 C++ Language Dialect



7.10 Enable C++ Runtime Types    NO
7.11


7.12


7.13 Add User Difined


8. 将Classes文件夹下的pch的内容复制到自己的pch中   #import "UnityAppController.h"
9.将Supporting Files下的main.m文件后缀改成.mm   并将Classes文件夹下main.mm的内容复制(替换)一份到该main.mm中
10.main.mm中修改const char* AppControllerClassName = "AppDelegate";

11. 在Build Phases中的Compile Sources中删除Classes目录下的main.mm

12.在pch文件中添加   #import "UnityAppController.h"

13.在AppDelegate.h中添加
@property (nonatomic,strong)UnityAppController *unityController;

14.在AppDelegate.m中的didFinishLaunchingWithOptions方法中添加
    self.unityController = [ init];
    ;
   并在所有对应的启动方法中添加
    ;
    ;
    ;
    ;
    ;
15.修改UnityAppController.h文件中GetAppController的代码为
#import "AppDelegate.h"
      inline UnityAppController*        GetAppController()
{
    AppDelegate *delegate = (AppDelegate *).delegate;
    return delegate.unityController;}

123456881 发表于 2020-12-21 11:08

谢 @朱小杰 邀。
「unity写的功能模块如何集成到iOS原生的代码里边?」
这句话我的理解是,写一个iOS主工程,里面有个模块需要用到Unity的功能,所以希望Unity导出一个SDK,iOS主工程可以选择性的接入一下。
由于我主要做Unity开发,所以没有实现过相关的需求。
在工作中常做的是,Unity导出iOS主工程后,添加、修改代码以及设置,最编译。
从我的理解上来说,Unity导出iOS工程后,其实就是一个原生的iOS工程,并没有太大的区别,所以要做的事只是把这个工程做成SDK,交付其他工程接入使用而已。
之前我写过相关的文章来介绍Unity导出的工程,相信有iOS开发经验的人会很容易理解,权当抛砖引玉。1、导出的Xcode工程
此外,我会尝试实现题主所提到的需求「将Unity导出的iOS工程做成SDK」,实现之后会来更新~

永远就三年疗 发表于 2020-12-21 11:17

我还不太明白你想问的。
如果你是在ios上运行unity写的功能,你可以在unity里导出成xcode项目,打包到ios设备上运行。
如果你是想ios和unity互相调用,你可以参考:    Unity3d 与IOS 相互调用

123456848 发表于 2020-12-21 11:22

我写了一篇文章,你可以试一下,有问题可以私信。
Xcode中如何集成Unity - ymonke

侬去斯 发表于 2020-12-21 11:23

你看一看看这个篇文章unity项目整合嵌入iOS主工程
以及这篇ios★把unity3d项目整合嵌入到xcode中
页: [1]
查看完整版本: unity写的功能模块如何集成到iOS原生的代码里边?