iOS工程添加Unity工程

我的需求是:在现有的iOS工程中,添加Unity工程,还是以原来的iOS工程为主,在里面的某个地方,在需要的时候再调用unity工程,并且尽可能少的影响到现有工程。

本来,是按这位仁兄的帖子做:https://www.jianshu.com/p/3d9ae5244d82

结果发现编译通过不了,试了很多方式都不行。

然后,又按照另一位仁兄都方法:http://qingqinghebiancao.github.io/2016/09/07/Unity%E9%9B%86%E6%88%90%E5%88%B0iOS%E6%9C%AC%E5%9C%B0%E5%B7%A5%E7%A8%8B%E4%B8%AD/

还是有问题,这个时候我就停下来想,到底是哪里出了问题,编译都过不了。

当然,我并不是说以上2位的方法不对,因为工程不一样,所以表现的问题就不一样,应该是我的方法没找对。

比较的2位的方法,我发现他们都有一句话:在Build Phases中导入以下库(这里具体请查看导出的ios工程里面的库,千万不要重复导入),我想到,除了导入这些库要参考原来的Unity工程,其他的设置是不是都要考虑原来的Unity工程?于是,我其他的Build Setting相关项,都是照着原来Unity工程的设置来做,然后编译就是剩一个宏的问题,然后在我原来的pch文件(按之前2位的方法合并之后的pch文件)添加上缺少的宏:

#define PLATFORM_IOS 1

#define UNITY_SUPPORT_ROTATION PLATFORM_IOS

#define UNITY_TRAMPOLINE_IN_USE 1

然后编译通过了!


这里还要说一些细节问题:

1.导出的Unity工程一定要和现有的iOS工程尽可能匹配,比如是debug还是release,Bundle Identifier,Target SDK,Targer minimum iOS Version等。

2.在添加libiconv.2.dylib库的时候,开始找不到这个库,通过搜索只能找到libiconv.2.tdb,后来通过网上的方法,在添加的时候通过“add other...”,在里面通过(command+shift+G),在输入框输入/usr/lib,在系统的隐藏文件夹找到这个库。

3.我开发的工程不需要添加-weak_framework CoreMotion -weak-lSystem,加了反而编译不过。

4.我的工程也不需要修改C Language Dialect和C++ Language Dialect。

5.我的工程不需要在Build Phases新建运行脚本语句Run Script:

rm -rf "$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Data"

cp -Rf "$PROJECT_DIR/Data" "$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Data"

6.我的工程不需要为添加的.mm文件打上MRC标签。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值