×

注意!页面内容来自https://blog.csdn.net/weixin_30323961/article/details/96014088,本站不储存任何内容,为了更好的阅读体验进行在线解析,若有广告出现,请及时反馈。若您觉得侵犯了您的利益,请通知我们进行删除,然后访问 原网页

iOS - 将Unity导出的Xcode工程导入到另一个Xcode项目及常见报错的解决方法

本文提供了一个详细的Unity项目iOS平台集成指南,包括了从Unity导出iOS工程、配置Xcode项目到解决常见错误的具体步骤。涉及如何正确设置bundle id、禁用bitcode、添加必要的frameworks及解决编译错误等内容。

 

demo下载地址 http://pan.baidu.com/s/1pLcpKpl

 

1.Unity导出工程时设置bundle id要与项目一致

 

2.修改bit code为NO

 

3.删除Main.storyboard,代码设置控制器(方便切换window)

 

4.将Classes,Libraries,MapFileParser.sh拖入到项目(选中Copy items if needed, 选中Create groups)

将Data拖入到项目(选中Copy items if needed, 选中Create folder references)

 

 

5.添加framework(最下边三个是HiAR UnitySDK里边的)

 

 

 

6.添加 Header Search Paths 和 Library Search Paths

 

 

 

7.other C Flags -> -DINIT_SCRIPTING_BACKEND=1

 

 

 

 

8.添加User-Defined (UNITY_RUNTIME_VERSION版本号与导出工程的Unity版本号一致)

 

 

 

9.Unity/Classes/Prefix.pch 的代码复制到新建的pch文件设置pch文件路径

 

10.将Classes/main.mm全部内容复制到main.m 并把扩展名改为.mm修改如下代码

 

 

11.添加Run Script

 

 

 

12. 修改UnityAppController.h如下代码

 

13.在AppDelegate.h .m中添加如下代码

 

 

 

 

 

 

 

在集成过程中可能遇到的问题

 

1.Unknown type name 'UnityViewControllerBase'

UnityViewControllerBase报错把它改成UIViewController

 

 

2. Unknown type name 'AppDelegate'

在新建的项目里边不会报错但是我集成到公司项目的时候报这个错于是改成如下代码目前没有出现问题如果有人知道原因请在评论区告诉我

 

 

 

3. Undefined symbols for architecture armv7

遇到这个错的同学请添加AssetsLibrary.framework和Accelerate.framework

 

 

4.编译时遇到Permission denied错误的是因为当前开发账号对项目目录没有权限执行MapFileParser.sh

解决办法: 在终端执行命令 sudo chmod -R 777 所在的目录

 

5. Functions that differ only in their return type cannot be overloaded

解决办法: 把Enable Strict Checking of objc_msgSend Calls 改为NO

 

 

6. Control reaches end of non-void function

解决办法: 把Mismatched Return Type 改为NO

// 可能有的步骤忘记了有疑问的可以在评论区留言

// 转载请注明原地址

 

转载于:https://www.cnblogs.com/dylan-lwb/p/6384918.html

确定要放弃本次机会?
福利倒计时
: :

立减 ¥

普通VIP年卡可用
立即使用
参与评论 您还未登录,请先 登录 后发表或查看评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值