iOS项目工程中启动Unity项目工程
一、Unity 3D导出iOS项目
- 将Unity3D 导出 iOS的项目
- 详细步骤…
- 导出目录
- 注)U3D的所有相关设置,都在U3D这边设置,设置好后导出iOS项目
二、将导出的一些文件导入到已有的iOS工程项目中
- 将
Classes
和Libraries
文件夹 选择Create groups
方式导入已有的iOS工程中
- 将
Data
文件夹 选择Create folder references
方式导入的已有的iOS工程中
- 导入之后的目录结构
三、删除Native下所有的.h文件的引用
注意:Native
下面不仅有.h
文件,还有.cpp
文件,这里只需要删除所有的.h
文件
四、删除libil2cpp引用


## 五、添加引用类库 * 添加引用库(有部分是iOS),有三个是`optional` ~

## 六、Build Settings * `Build Options` -> `Enable Bitcode` = `NO`

* `Linking` -> `Other Linker Flags` 添加`-weak_framework` `CoreMotion` `-weak-lSystem`

* 在`Search Paths`->`Header Search Paths`添加下图中的头文件引用

* 在`Search Paths`->`Library Search Paths` 添加图中路径

* 在`Apple LLVM 7.1 - Custom Compiler Flags` -> `Other C Flags` 中添加 `-DINIT_SCRIPTING_BACKEND=1` 同时会在 `Other C++ Flags`中出现

* 修改`Apple LLVM 7.1 - Language` -> `C Language Dialect` 值改为C99

* 修改`Apple LLVM 7.1 - Language` -> `Precompile Prefix Header` 的值为Yes

* 在`Apple LLVM 7.1 - Language - C++`中做如下设置

* 在`Apple LLVM 7.1 - Warnings - Objective C`中做如下更改

* 在`User-Defined` 中添加如下 * `GCC_THUMB_SUPPORT` = `NO` * `GCC_USE_INDIRECT_FUNCTION_CALLS` = `NO` * `UNITY_RUNTIME_VERSION` = `5.4.0f3` * `UNITY_SCRIPTING_BACKEND` = `il2cpp`

## 七、修改PCH文件 * 将`Unity`->`Classes`下面的`Perfix.pch`中的代码全部拷贝到主工程项目的`PCH`中,并且在主工程项目的`PCH`中添加 `#import "UnityAppController.h"`


八、处理主工程和Unity的main
文件
- 处理iOS主工程中的
main.m
文件,将.m
改为.mm
- 将
Unity
下Classes
下的main.mm
文件中的内容拷贝到主工程的main
文件中,并进行如下修改:
- 在
Build Phases
中移除Unity
->Classes
下的main.mm
文件
九、处理UnityAppController.h
文件
UnityAppController.h
做如下修改
十、处理AppDelegate
这个类
- 在
AppDelegate.h
中做如下修改
- 在
AppDelegate.m
中做如下修改


本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 DeveloperLY's Blog!