美文网首页
Unity工程与iOS的那些事

Unity工程与iOS的那些事

作者: swj沈 | 来源:发表于2018-07-25 10:47 被阅读62次

    一:大前提,需要把unity项目导出到xcode,需要注意的是player setting里面的Bundle Identifier,并且选择Scripting Backend 为IL2CPP,Target Devicce 我这里选择的是iPhone + iPad ,Target SDK 选择 Device SDK

    二:接下来将unity导出的工程文件“转移”到我们的项目中

    只需要上面5个文件/文件夹,且最后两个文件无需引入到工程中,只要能在工程目录中能找到就可以。这里需要注意的是Data文件是Create folder references,其他的两个(classes,Libraries)是Create groups。这样,第二步就结束了

    三:项目中添加一些配置文件

    1.因为我的项目设计AR功能,需要使用相册的功能,所以在TARGETS->自己的工程名称->Info添加  Privacy - Camera Usage Description 相机使用权限  当然,App Transport Security Settings也添加上吧

    2.Built Settings 中添加的内容较多

    (1)Enable Bitcode->NO

    (2)Architectures内容如下,unity导出过程时对应的,当时我也有遇到这里的相关问题,总之先按照这样配置吧

    (3)Other Linker Flags 目前我这边只有-ObjC

    (4)Other C Flags 和 Other C++ Flags 

    -DINIT_SCRIPTING_BACKEND=1

    -DRUNTIME_IL2CPP=1  方便复制,你懂得

    (5)有关于Prefix Header  我这里用的是unity原先的Prefix.pch,路径方面根据你自己的工程目录

    (6)配置Header search paths


    配置Library search Paths


    (7)我看了很多文章,一些简主喜欢在User-Defined里面添加东西,我这边也没有添加。

    四:下面说一下Build Phases里面的内容

    1)在Filter中搜索main,把Compile Sources中把Classes里面的main.mm去掉(切记,我这里吃了这点很多亏)

    2) framework 慢慢引入吧,注意一些optional点,我踏过的坑,让小伙伴们少走点弯路

    3)添加一个Run Script 

    "$PROJECT_DIR/MapFileParser.sh"(这个莫名其妙的文件用到了吧)

    五:开始撸代码吧

    1.将自己的main.m改成main.mm,然后把Classes中的main.mm内容复制到我们的main.mm文件中,然后将对应的内容改为

    很多文章用的是constchar* AppControllerClassName ="AppDelegate";,但我这里遇到问题,所以我建议遇到问题用我的方式吧

    2.找到UnityAppController.h文件

    3.找到UnityAppController.mm文件

    extern"C"voidezarUnitySetGraphicsDevice(void* device,intdeviceType,inteventType);

    extern"C"voidezarUnityRenderEvent(intmarker);

    重写shouldAttachRenderDelegate,这是防黑屏处理

    4.AppDelegate文件

    和很多文章一样,我也采取多个window的方式。感觉这种方式思绪比较清晰!

    文章持续跟进。。。未完(之后将提到接入过程中遇到的问题)

    相关文章

      网友评论

          本文标题:Unity工程与iOS的那些事

          本文链接:https://www.haomeiwen.com/subject/wsxymftx.html