将Unity导出的Xcode工程导入到现有的Xcode工程.各种错误以及解决办法!

Step 1. 从Unity导出Xcode项目.

File->Build Settings->Player Settings

将Unity导出的Xcode工程导入到现有的Xcode工程.各种错误以及解决办法!_第1张图片
UNITY.png

然后右侧Inspector面板,去除Auto Graphics Api选项,只保留一个OpenGLES2选项. Scripting Backend 选择 IL2CPP.

将Unity导出的Xcode工程导入到现有的Xcode工程.各种错误以及解决办法!_第2张图片
Inspector.png

Build->导出Xcode工程.(Unity是从Unity导出的项目,UnityToiOS是新建的Xcode项目)

将Unity导出的Xcode工程导入到现有的Xcode工程.各种错误以及解决办法!_第3张图片
folder.png

Step 2.开始合并!

  1. Classes,Libraries,MapFileParser.sh拖入到项目中,勾选Copy items if needed,Creat groups.(文件比较多,耐心等待一小会.)
将Unity导出的Xcode工程导入到现有的Xcode工程.各种错误以及解决办法!_第4张图片
copy.png

2.将Data拖入到项目,勾选Copy items if needed,勾选Create folder references.

将Unity导出的Xcode工程导入到现有的Xcode工程.各种错误以及解决办法!_第5张图片
copy1.png

3.下面是Xcode的一些配置. 删除Main.StoryBoard,以及Info.plistMain storyboard file base name键值对.

将Unity导出的Xcode工程导入到现有的Xcode工程.各种错误以及解决办法!_第6张图片
Xcode.png

添加Framework(添加哪些framework,请参照你从Unity导出来的项目,这里我用的是太虚的sdk,所以下面2个.a文件是太虚的,还有上面的opencv2.framework,以自己项目为准!)

将Unity导出的Xcode工程导入到现有的Xcode工程.各种错误以及解决办法!_第7张图片
framework.png

5.关闭BitCode


将Unity导出的Xcode工程导入到现有的Xcode工程.各种错误以及解决办法!_第8张图片
bitcode.png

4.Header Search Paths 设置

将Unity导出的Xcode工程导入到现有的Xcode工程.各种错误以及解决办法!_第9张图片
Header Search Paths.png

5.Library Search Paths设置

将Unity导出的Xcode工程导入到现有的Xcode工程.各种错误以及解决办法!_第10张图片
Library Search Paths.png

6.other C Flags设置 -DINIT_SCRIPTING_BACKEND=1

将Unity导出的Xcode工程导入到现有的Xcode工程.各种错误以及解决办法!_第11张图片
other C Flags.png

7.添加 User-Defined

将Unity导出的Xcode工程导入到现有的Xcode工程.各种错误以及解决办法!_第12张图片
User-Defined.png

GCC_THUNB_SUPPORT -> NO

GCC_USE_INDIRECT_FUNCTION_CALLS -> NO

UNITY_RUNTIME_VERSION -> 你导出项目的Unity版本

UNITY_SCRIPTING_BACKEND - il2cpp

将Unity导出的Xcode工程导入到现有的Xcode工程.各种错误以及解决办法!_第13张图片
User-Defined1.png

8.新建一个 pch文件,并设置文件路径
将Unity导出的Xcode工程导入到现有的Xcode工程.各种错误以及解决办法!_第14张图片
pch.png

Classes目录下的 Prefix.pch的内容全部复制到我们自己创建的pch文件.

9.设置 main.m(Supporting Files->main.m)

Classes目录下的 main.mm的内容全部复制到Supporting Files下的 main.m,将后缀改为.mm.
稍微改动下

将Unity导出的Xcode工程导入到现有的Xcode工程.各种错误以及解决办法!_第15张图片
main.png

注意,从 Build Phases删除 Classes下的 main.mm的文件.

将Unity导出的Xcode工程导入到现有的Xcode工程.各种错误以及解决办法!_第16张图片
delete main.png

10.添加 Run Script

将Unity导出的Xcode工程导入到现有的Xcode工程.各种错误以及解决办法!_第17张图片
runsc.png
将Unity导出的Xcode工程导入到现有的Xcode工程.各种错误以及解决办法!_第18张图片
runss.png
  1. 修改 AppDelegate.h
将Unity导出的Xcode工程导入到现有的Xcode工程.各种错误以及解决办法!_第19张图片
appdeh.png

修改 AppDelegate.m

将Unity导出的Xcode工程导入到现有的Xcode工程.各种错误以及解决办法!_第20张图片
appm1.png
将Unity导出的Xcode工程导入到现有的Xcode工程.各种错误以及解决办法!_第21张图片
appm2.png

12.修改 UnityAppController.h

UnityAppController.png

你可能出现的错误

  1. Semantic Issue -> Controller may reach end of non-void function
将Unity导出的Xcode工程导入到现有的Xcode工程.各种错误以及解决办法!_第22张图片
Semantic Issue.png

解决办法: Mismatched Return Type -> NO

将Unity导出的Xcode工程导入到现有的Xcode工程.各种错误以及解决办法!_第23张图片
Mismatched Return Type.png

2.duplicate symbol _main in xxxx.

将Unity导出的Xcode工程导入到现有的Xcode工程.各种错误以及解决办法!_第24张图片
duplicate main.png

解决办法 :常见错误了. main文件重复. 参照上面 步骤 9删除一个 main文件

3.Cloud not load NIB in bundle

nib.png

解决办法: 删除 Launch Screen File.

将Unity导出的Xcode工程导入到现有的Xcode工程.各种错误以及解决办法!_第25张图片
launch.png

END~~~

参考链接:

  1. https://github.com/keyv/iOSUnityVuforiaGuide.

2.老外录得视频,手把手教学.

3.http://blog.csdn.net/dylan_lwb_/article/details/51452470

你可能感兴趣的:(将Unity导出的Xcode工程导入到现有的Xcode工程.各种错误以及解决办法!)