Unity3D工程并入iOS工程总结及问题梳理

软件环境

  • Unity:2017.1.1f
  • iOS:Xcode9.1

unity工程打包:

  • File->Build Settings->Player Settings

  • 注意点:打包时为Release模式


    BF1058DE-4C05-49C7-8AC6-53CCEA4B7BE2.png
  • 静静等待,打包完文件目录如下,我们要用的为红色部分(MapFileParser.sh)。


    8DA0CA6B-26F6-45F3-A3BD-B478FF906BEA.png

整合进原有的iOS项目中

  • 将Classes,Libraries,MapFileParser.sh拖入到项目中,勾选Copy items if needed,Creat groups(文件夹为黄色)


    668391-5e0180a3629c64a8.jpg
  • 将Data拖入到项目,勾选Copy items if needed,勾选Create folder references.(文件夹为蓝色)


    518A01CC-1CED-4AB7-83A9-625A66DAAF9F.png

开始配置 build settings(最麻烦的开始)

  • Bitcode 设为NO;

  • 在info.plist文件中删除Main storyboard file base name键值对.

  • 添加framework(注意Optional的两个)添加哪些framework,请参照你从Unity导出来的项目一一添加


    9863A972-F11E-4A75-BBDF-332A25310DDB.png
  • 添加Header Search Paths(注意路径配置)


    0FC9CA88-49E3-4598-AE47-852822E695AC.png
  • 添加Library Search Paths


    89A950A5-141C-4BD9-B809-A7F18CBB176E.png
  • other C Flags/other C++ Flags设置

$(inherited)
-DINIT_SCRIPTING_BACKEND=1
-fno-strict-overflow
-DRUNTIME_IL2CPP=1
05CA567D-2891-4511-ADA3-39069DF4108C.png
3D14A85A-F3F9-44D8-AF61-2B0B7CD3DBC2.png
  • 添加 User-Defined


    7BB90357-BF67-484C-923E-855547A34528.png
GCC_THUNB_SUPPORT -> NO
GCC_USE_INDIRECT_FUNCTION_CALLS -> NO
UNITY_RUNTIME_VERSION -> 你导出项目的Unity版本
UNITY_SCRIPTING_BACKEND - il2cpp
66A3031F-C9A7-45F5-A1B4-7AE3673C2E20.png
  • pch文件合并
    1:如果原有项目有pch文件,可将其内容复制到unity->classes下的pch文件,再删掉自己的pch文件。
    2:也可以将unity->classes下的pch文件中的内容复制进自己的pch中。删掉unity中的pch,配置好自己的pch文件路径;(这里我采用的是第二种方式)


    C9A97E50-234F-450A-91D1-BE8BD325E725.png
  • 合并.m文件(因为我们的项目和unity打包出来的都有.m文件,而作为程序的主入口只能存在一个.m文件)
    1:合并方式保留任意一个,注意如果保留的是我们自己的,要把.m后缀改为.mm.将原来的UnityAppController改为Appdelegate,那么启动进入的就是我们自己的工程界面。

注意,从Build Phases删除Classes下的 main.mm的文件.只能存在一个


C44DB584-CBAF-475F-81E8-A11BACCE5FFE.png
  • 添加 Run Script(注意.sh文件路径)


    668391-4cec4b9c662dd272.jpg

    F0A015B6-6251-4377-A5BE-D828797FD36E.png
"$PROJECT_DIR/BooMoji/Unity/MapFileParser.sh"

注意 MapFileParser.sh路径一定要正确

  • Other Linker Flags(注意添加的顺序,否则编译的时候可能出现链接库失败)
BBDE39A1-4B9D-4709-A178-58D09DAC3104.png

至此编译运行你的项目应该就OK了;

可能存在问题

  • Unknown type name 'NSString':将Compile Sources As 改为 Objective-C++
  • "Functions that differ only in their return type cannot be overloaded":因为objc_msgSend calls做了严格检查,改成NO就可以了
  • 提示函数返回值不匹配问题:Mismatched Return type->No(原因是原生的工程配置了对函数返回值做严格检查,很不幸Unity3D导出的工程有些函数返回值并不规范,所以需要把xcode的配置限制放开,兼容返回值不匹配的场景)
  • Semantic Issue -> Controller may reach end of non-void function:Mismatched Return type->No
  • duplicate symbol _main in xxxx.:常见错误了. main文件重复.
  • 各种方法未定义或者.h文件找不到:Header Search Paths路径不正确。
  • 运行后调不起unity场景问题:
    • other c++ flag 配置
    • metalHelp.mm文件
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,117评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,963评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,897评论 0 240
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,805评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,208评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,535评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,797评论 2 311
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,493评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,215评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,477评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,988评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,325评论 2 252
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,971评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,807评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,544评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,455评论 2 266

推荐阅读更多精彩内容