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

摘要:
演示下载地址http://pan.baidu.com/s/1pLcpKpl1.Unity导出项目时,将bundleid设置为与项目一致。2.将位代码修改为NO.3.删除主情节提要和设置控制器的代码(以便于窗口切换)。4.拖动类、库、MapFileParser。sh到项目中(选择Copyitemsineeded,选择Creategroups)

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

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)

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

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

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

6.添加Header Search Paths和Library Search Paths

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

7.other C Flags -> -DINIT_SCRIPTING_BACKEND=1

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

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

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

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

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

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

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

11.添加Run Script

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

12. 修改UnityAppController.h如下代码

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

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

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

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

1.Unknown type name 'UnityViewControllerBase'

UnityViewControllerBase报错, 把它改成UIViewController

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

2.Unknown type name 'AppDelegate'

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

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

3.Undefined symbols for architecture armv7

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

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

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 改为NOiOS将Unity导出的Xcode工程导入到另一个Xcode项目, 及常见报错的解决方法第19张

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

6.Control reaches end of non-void function

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

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

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

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

// 转载请注明原地址

免责声明:文章转载自《iOS将Unity导出的Xcode工程导入到另一个Xcode项目, 及常见报错的解决方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇[PHP]curl上传多文件linux负载均衡软件LVS-使用LVS+keepalived下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Xcode自带工具 FileMerge 进行文件比较、合并

FileMerge 是XCode自带的一款工具,可进行代码比较、合并。 1、在应用程序中找到Xcode右键选择显示包内容,路径如下图,可复制快捷键方便使用。 也可以直接打开Xcode,在Open Developer Tool中打开,如下图。 如下图: 2、打开FileMerge,如下图,选择左右两边需要对比的文件,点击Compare进行比较,如下图所示:...

unity创建Android原生插件

1.首先打开https://developer.android.com/studio/projects/android-library学习如何创建一个Android Library 2.打开Android Studio 创建项目   - 输入项目名称   - 输入Company domain或者用默认的   - 点击next 3.点击next 4.因为...

[Xcode 实际操作]七、文件与数据-(19)颜色集(Color Set)的使用

目录:[Swift]Xcode实际操作 本文将演示颜色集合的使用。 使用颜色集合可以很方便地创建应用程序的主题色,并且可以方便的对主题颜色进行更换。 要使用颜色集功能,需要设置项目的部署(Deployment)版本号。 【Deployment Target】:选择11.0以上的选项。 接着打开资源文件夹,在资源文件夹中创建颜色集合。 【Assets.xca...

Unity3d之音效播放和调用手机震动

http://blog.csdn.net/sunshine_1984/article/details/12943979 今天研究了下Unity3d音效播放相关内容,整理下实现细节。 1,添加音效文件到Assets/Resources目录,我这里添加到Assets/Resources/audio目录了。 2,新建C# Script命名为audio 3,编写a...

Xcode 报错:duplicate symbols for architecture x86_64错误分析及解决

1、参与编译的.m文件重复导入。一般是手动往工程中导入源文件时导入在了不同的目录。 解决方法也很简单,在 Target -> build parses -> complie sources,去掉重复的文件即可。 2、导入头文件时,误写为导入.m 文件 即 #import xxx.h 写成了 #import xxx.m 解决方法就是,导入头文...

Unity小知识点大全(一)

原帖地址:https://zhuanlan.zhihu.com/p/54763553 1. 高亮选择 在Scene面板右上角的Gizmo下拉列表中,可以通过设置Selection Outline选项决定是否在选中物体时显示边缘高亮的标识。 2.Pixel Perfect Camera 在摄像机上挂载Pixel Perfect Camera组件能够使2D像...