iOS Xcode原生项目集成Unity导出的工程
来源:互联网 发布:测试性能的软件 编辑:程序博客网 时间:2024/05/21 15:29
Xcode原生项目集成Unity导出的工程
注:成功的前提:Unity导出的Xcode工程可以编译。
1、 创建好工程之后,将Unity导出的Xcode工程的以下文件夹复制到我们新建的工程中。
Unity导出:
新建工程:
复制到我们新建的工程中(Command + C,Command + V)
2、 搜索Class/Native目录下的所有.h文件,如下图
之后新建一个文件夹,随便起名,然后将刚才搜索到的所有.h文件剪切到(直接拖)新建的文件夹。
Command + A(全选)然后拖。
此时Class/Native目录下已经没有.h文件。这么做的目的只是方便工程中引用,之后我们还要拖回来。
3、 打开新建的工程,将Class、Libraries拖进根目录,最好与finder中的目录结构一样。
注意选项不要选错
完成后如图所示
4、 将Data文件夹拖入工程,创建引用(注意选项)
如此一来,工程目录如下:
对应的finder中的结构
5、 删除Libraries目录下的libil2cpp文件夹,选中此文件夹,按delete,或者右键-delete,选择Remove References。
然后在finder中,把我们刚移出去的.h从临时文件夹移回Class/Native文件夹:
6、 将main.m改名为main.mm
将Class目录下的main.mm的内容全选,复制粘贴到我们刚改名的main.mm下面,之前的main.mm仅留下:
#import <UIKit/UIKit.h>#import "AppDelegate.h"
在工程中,删除Class目录下的main.mm文件,直接move to trash
此时有报错,不用理会
7、 添加动态库引用,这里建议对照导出的unity工程的配置来配置。我这里就对照着添加了。注:默认的可能就会有几个,没关系不影响的。不要删,只管添加。
这里需要注意:AVFoundation、CoreMotion、iAd的Status都是Optional,其他的都是Required
配置完成后:
8、 找到Build Settings,进行如下配置:
关闭bitcode
在other linker flags中,添加四条记录:
$(inherited)
-weak_framework
CoreMotion
-weak-lSystem
配置Header search paths
配置Library search Paths
这两条建议与Unity导出的工程保持一致,当然,注意一下目录结构。如果你当初没有按照我说的放在根目录,这里一定要注意。(路径是按照finder来说的)。
一般来说Library Search Path是不用改的,系统会自动设置。
在Other C Flags中添加,C++那一行会自动添加
修改编译器:
设置预编译头文件
可以直接从左边拖过来,设置完成之后:
修改OC警告
修改所有语言警告:
在user-Defined,添加:
GCC_THUMB_SUPPORT NO
GCC_USE_INDIRECT_FUNCTION_CALLS NO
UNITY_RUNTIME_VERSION 5.6.0f3
注:此参数参考Unity导出的工程中的值,不能乱填。
UNITY_SCRIPTING_BACKEND il2cpp
点击 +
9、 设置Build Phases
点击 + 添加脚本:
注:这里的文字也可以从Unity导出的工程中复制
10、 在Prefix.pch中,添加一行:
注:如果工程中原来就有预编译头文件,建议合并到这里。
11、 注意这里选择:
Command + B编译,成功!
常见问题:
1. 如果编译器报错说没有权限访问MapFileParser.sh这个脚本,打开终端,cd你的工程目录(其实就是MapFileParser.sh所在目录),回车。然后输入以下命令:
sudo chmod +x MapFileParser.sh
然后输入登录密码,回车。再编译试试。
如果有其他问题,欢迎评论,我们一起讨论。
2. 因为我们的Unity是延迟加载的,所以如果出现所有的动画(比如导航控制器push动画)消失的问题,全局搜索 [UIView setAnimationsEnabled: 然后依次点进去,注释掉就好了。
建议把搜索到的结果一个一个都注释掉。
- iOS Xcode原生项目集成Unity导出的工程
- Xcode原生项目集成Unity导出的工程
- Unity 导出的Xcode工程
- iOS - 将Unity导出的Xcode工程导入到另一个Xcode项目, 及常见报错的解决方法
- Unity导出xcode项目
- Unity导出android工程集成到android studio项目内
- Unity-导出Xcode工程时的自动配置
- Unity项目工程集成Mob的社会化分享SDK之发布到iOS平台
- Unity 导出的xcode工程运行报错line 2: /Users/wangxiangheng/Desktop/IOS/MapFileParser.sh: Permission denied
- Unity中导出iOS工程
- unity导出工程与iOS工程合并
- 关于unity导出xcode的工程中unity的内容部分。备忘录
- Unity编程笔录--Unity导出Xcode工程ShareSDK功能的配置
- Unity导出XCode工程的时候自动修改工程设置添加依赖
- Unity 导出xcode工程中 怎么设置为Append的方式导出之命令行
- unity与原生iOS项目的整合(一)
- Unity-Unity工程嵌入到Xcode原生工程中的相关步骤
- Unity跟IOS原生开发项目融合
- 初识状态压缩dp poj3254 Corn Fields
- PHP正则表达式
- MySQL基本数据类型
- 【如何快速的开发一个完整的iOS直播app】(礼物篇)
- 网络层
- iOS Xcode原生项目集成Unity导出的工程
- 【如何快速的开发一个完整的iOS直播app】(编解码原理)
- order by 语句对null字段的默认排序
- 【Unity3D自学记录】VR插件CardboardSDKForUnity解析(一)
- C# 怎样通过ip和端口向一台设备发送指令
- 安卓 仿微信朋友圈选择图片,拍照,大图预览,删除等功能
- java回调机制
- 【如何快速的开发一个完整的iOS直播app】(点赞功能)
- 搭建ssm框架