unity与iOS合并

作者: Mory | 来源:发表于2016-07-29 21:07 被阅读4202次

    关于unity导出工程与已有iOS工程合并网上面已经有很多的教程,但是还是要记录一下自己的经历过程。从最基本的说明,面对刚接触unity的小白,力求大家看到过后一次性合并成功。所用unity版本5.3.5p8(没什么关系),xcode版本7.3.1

    再说一遍新版的 unity 和 xcode 不需要删除下面说的一些文件引用。直接引用就好了,而且好像也没办法批量删除部分文件引用。😁(unity 2017版的没试过)

           看到很多人问我怎么配置不成功啊,这里、那里错❌。我都晕了,现在说一下啊,我上面已经全说了,再配置不成功的话,可以参开我的 配置demo,里面的 unity 文件我已经移除,下载过来以后要按照要求将你的 unity 文件移进去,并修改少量代码,就可以了,报错的话下面有部分解决方案。(新版最好直接将之前的文件删除(删到垃圾推里),重新添加文件)

    配置下载链接这个是我的网盘链接链接,大家可以下载,我也传到cocoachina 上面了,不过要审核。

    1,怎么导出unity的iOS工程

    - 1.1首先在unity打开unity工程,然后点击file->buld setting

    准备导出开始

    - 1.2 然后在弹框出来,如果当前默认不是iOS平台就切换到iOS平台。确认平台以后就点击player setting按钮,进入具体的配置界面。

    平台切换

    - 1.3 进入具体设置Other Settings,图上面画的就是设置的东西,il2cpp这个不要忘了设置,还有运行方式,最低版本支持。设置完成直接building导出。

    基本配置

    - 还有一个问题就是游戏开发的时候(虽然我不是做游戏开发的)的可能会碰到关于AOT的问题,其实就是在这个位置设置好就行了,具体的网上都有,直接搜索AOT引起的crash就找得到,虽然没解决我的问题。

    AOT-crash

    2,开始进行导入工程前的准备

    打开unity已经导出的工程,看看里面的库是否是支持目前版本的库,然后再运行一下,基本是不会出问题的。如果出现错误的话应该是需要把encode设置为no,还有在building setting上设置新的编译参数

    添加设置

    如果unity导出的工程可以完整的在模拟器或者真机上运行,那么这个导出的工程上的配置就是对的,然后可以在需要导到目标工程里面进行copy UNITY里面的设置。

    3,开始导入unity工程

    选中需要用的资源文件

    - 3.1 在unity导出的工程中,选中这些资源文件,并将其拷贝到目标工程所在目录

    拷贝到目标工程所在目录

    - 3.2然后打开目标工程,开始添加文件引用,添加的方式不一样,Class和Libraries文件夹用Create Groups,而Data用Create folder.. ,不要选错

    添加后的样子

    这个大家要注意啊::::!!!!


    # Classes 的 Native在移到工程中的时候可能会缺少部分文件,Classes文件从导出的工程复制粘贴到自己的项目会少文件,这个很坑。

    新版的的 unity 好像没有 MapFileParser 这个文件,这没关系的。



    4 添加完成后,开始删除一部分引用(不是直接删除啊),后面所有的删除都是删除引用。

    ###(新版本不删除引用!!!(我后面用的5.5.1f1))

    - 4.1先删除引用libraries里面的libil2cpp文件夹,然后再删除Classes里面的Native文件夹里面的所有.h文件

    .h删除

     - 4.2然后再将classes里面的main.mm文件内容全部拷到自己原有的main.m文件中再删除引用,并将AppControllerClassName后面修改成AppDelegate,自己修改 main.m->main.mm。将.pch文件里面的东西放到自己的pch文件中或者就用它的也可以,并添加#import"UnityAppController.h",但是pch文件路径别忘了添加。

    pch文件 修改main.mm

    - 4.3如果出现一些运行报错那就把//UIApplicationMain(argc, argv, nil, [NSString stringWithUTF8String:AppControllerClassName]);替换掉。

    - 4.4然后就是点击工程进入设置界面,主要设置的地方有三个,怎么设置参考导出的unity工程。。。

    位置

    第一个主要是库的添加,第二个是一系列的配置,最好要完全copy里面的设置(看清楚瞪大眼睛,里面的引用资源路径别写错了啊)简略的写写,照着unity导出的工程配置就可以了。

    资源路径 这个一定要有的

    第三个是一个run

    添加run

    - 4.5这样配置完了,command+b编译时在 UnityAppViewcontroller 里面应该会出现不识别UnityViewControllerBase,把它直接改成UIViewController。

    然后在AppDelegate中添加

    AppDelegate.h AppDelegate.m .m

    - 4.6这里写完后在UnityAppController.h里面修改

    修改UnityAppController

    5,启动unity界面了

    - 在需要启动的界面调用

    #进入调用。

    [(AppDelegate*)[UIApplicationsharedApplication].delegate  showUnityWindow];//启动

    UnityPause(false);

    #退出调用。(退出时用 unity 内部自己写的脚本调用外部自定义的 C 方法,将下面的代码放进去。不会的话就去搜!!!)

    [(AppDelegate*)[UIApplicationsharedApplication].delegate  hideUnityWindow];//隐藏

    UnityPause(true);

    就可以启动unity了。

    添加一个陀螺仪脚本,使用这个脚本后在unity 里面有很棒的效果,制作的 GIF 图看着有点卡,其实很流畅的哦:

    陀螺仪脚本

    写到最后终于写完了,主项目里面的设置要参考unity导出的工程设置。

    启动问题:

    因为加载方式的原因,导致APP 整体启动速度较慢,内存峰值上升较快,所以设置了自己主动触发 unityController 的启动。这次改动是将之前在 didFinishLaunching里面的启动代码放到 showUnityWindow里面,其他保持不变。目前 unity 资源占用问题让 unity 工程师做,加载空的 unity 场景增加内存只有15M 左右(已测试,退出时切换到空的场景可以大幅减少占用内存),另外压缩图片大小可以大度降低内存占用量。

    解决 unity 内存占用问题也可以参考:Unity 3D 内存太大问题解决方案

    代码如下:

    报错问题:

     1,一些 cpp 文件之类的找不到,应该是资源路径不对,或者文件丢失,去 finder 里面看一哈。

    2,Functions that differ only in their return type cannot be overloaded

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

    3,__weak typeof(self)wSelf = self报错:- A parameter list without types is only allowed in a function definition. A corresponding warning tells me that __weak only applies to Objective-C object or block pointer types;type here is 'int'

         》解决办法:Xcode-> Build Settings-> C Language Dialect修改配置,C99改为GNU99,C99是不包含typeof的

    4,cString报错

    报错详情

          》解决办法:Setting "Always Search User Paths" to "No" in the project settings fixed the build issues.

    5,dyld: Symbol not found: _AbstractEventData_Reset_m15186946类似于这种错误

    》 1):我是之前融合了简单的unity导出工程OK的情况下,再次融合新版的导出工程时报的错误(我的再次融合方式是,直接替换之前导入的资源文件),可能是工程里面引用到的某个方法或者文件和之前的不同,所以简单的替换资源文件导致出现的dyld: Symbol not found错误情况,大家如果出现这种错误可以试试,不需要更改之前的配置,只需要删除之前老的资源文件(在 xcode 里面删除引用),重新引入最新的资源文件。

      》2):可能是一些资源Framework设置不是optional

    后期添加的:只能帮到这了,毕竟我也好久没在做这方面的了。

    - 其他整合交互方案看-》www.jianshu.com/p/db88ffd57168

    - 如果遇到动画消失-》www.jianshu.com/p/baabd47434ca

    - 如果实用 easyAR 遇到黑屏-》www.jianshu.com/p/f98bcfe09dc7

    相关文章

      网友评论

      • 加油fight:您好,请问下registered mono modules 0x10652deb8
        FinalDemo was compiled with optimization - stepping may behave oddly; variables may not be available.
        -> applicationDidFinishLaunching()这个奔溃怎么处理
        Mory:你看楼下
      • swj沈:您好,请问下registered mono modules 0x10652deb8
        FinalDemo was compiled with optimization - stepping may behave oddly; variables may not be available.
        -> applicationDidFinishLaunching()这个奔溃怎么处理
        加油fight:谢谢,问题已经解决了,说实话自己都不是太了解怎么解决的。我是根据游戏给的项目,完全按照游戏里面的配置进行配置的。然后一不小心就可以了
        swj沈:@无忧_iOS 解决了,你试试看UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 这个替换原先main文件里面对应的内筒
        加油fight:你好 请问你这个问题解决了吗
      • 傅hc:il2cpp-codegen.h:369:1: Control may reach end of non-void function 这里出错一直解决不了,其它步骤都OK~~有没有哪位大兄弟遇到过或者给点建议吗?
        Mory:@傅hc 一模一样...这个东西本来就麻烦,一模一样也不好说哪里错了。版本不一样的话就可能出现不同的问题,你主工程配置什么的最好按照导出的工程的配置来参考,我上面写的配置方案有点老了,不过还是那个思想,配置照着导出的工程来。其他各式各样的错误我是实在无能为力啊!
        傅hc:@Mory 试了,但是又报其它错误,ld: 6 duplicate symbols for architecture arm64
        clang: error: linker command failed with exit code 1 (use -v to see invocation) ,按照你的步骤一模一样来的~~
        Mory:@傅hc 添加返回试试 return NULL
      • jianshu小赵:QQ: 1587185188 可否加个好友
        jianshu小赵:@Mory 现在问题是 xcode 9 导入class 和libraries 文件夹后 编译后 build phases 没有任何编译文件
        jianshu小赵:@Mory 好的!
        Mory:有什么问题先在这里说说吧。
      • 无边叶落:我在融合了之后出现了 内存一直上涨的错误 每秒增加0.6M请问是什么问题 不融合的话两个工程都没有问题
        Mory:@无边叶落 每秒都上涨,这个原因我没见过,可能是两方交互出现问题。
      • Fintecher:帅哥,你能将Classes与Libraries打包成静态库吗? 我能成功打成动态库,并成功运行。 但是静态库却不可以,要闪退在:UnityInitApplicationNoGraphics

        顺便问一下,如何关闭unity3d ios工程输出日志?
        Mory:我没有打过,打过后后面如果修改 unity 内容,你这边还要弄。日志输出的话,我没在意...
      • t_fancy:你好,我用unity2017和iOS合并不成功,其他unity版本都可以.请问你有遇到吗?或者知道怎么解决吗?
        Fintecher:帅哥,你能将Classes与Libraries打包成静态库吗? 我能成功打成动态库,并成功运行。 但是静态库却不可以,要闪退在:UnityInitApplicationNoGraphics

        顺便问一下,如何关闭unity3d ios工程输出日志?
        Mory:@t_fancy 这个我确实没试过...最新的坑总要有人踩的。:pray:
      • New_卡迪熊:/Users/zsc/Desktop/spacecraftApp666/Classes/Native/GenericMethods0.cpp:25336:17: Code will never be executed GenericMethods0.cpp 好多这个报警是咋回事
        Mory:@街角忘情 你 Xcode 里面写 C#???are you OK?cpp 就是 C#编译过的,unity 里面的问题喽,脚本写完导出之前自己运行下,看看是不是报错。
        New_卡迪熊:@Mory 哪个脚本?unity里面写的脚本还是 Xcode里面添加的脚本
        Mory:那是你写的脚本问题吧。。。。永远不会执行!!!!
      • New_卡迪熊:请问你进去扫描之后怎么退出来?在哪设置吗
        Mory:我写的有,你退出的话,要事先在 unity 里面写好脚本,添加返回按钮。然后在使用这个脚本调用外部退出方法,哦了。
      • New_卡迪熊:libc++abi.dylib: terminating with uncaught exception of type NSException 运行崩溃了是什么原因
        New_卡迪熊:@Mory 现在能运行 但是点击按钮就去黑屏
        Mory:unity 版本太高不好啊,坑都没人填。
        Mory:@街角忘情 有人说是什么 xib 连线出的问题。我也不清楚你那边到底是啥错。没集成的时候好的嘛?
      • New_卡迪熊:demo在哪可以下载啊啊
        New_卡迪熊:@Mory 我是unity2017.1.1f1版本 Xcode8.3.3 我集成好几次 错误还是网上找不到了 解决不了
        Mory:那个前面不是有文字提示的吗?“配置文件下载”。那个是老一点的版本,不过思路都差不多,你先试试,仔细看一下我里面说的新版本怎么弄。
      • 2a434e7c4f0f:ld: warning: arm64 function not 4-byte aligned: ltmp0 from /Users/mac/Desktop/907/MojingAssistantIOS/Classes/Vender/Libraries/libiPhone-lib.a(unwind_test_arm64.o)
        ld: warning: arm64 function not 4-byte aligned: _unwind_tester from /Users/mac/Desktop/907/MojingAssistantIOS/Classes/Vender/Libraries/libiPhone-lib.a(unwind_test_arm64.o)
        Undefined symbols for architecture arm64:
        "_HideUnityWindow", referenced from:
        _UIMainControl_HideUnityWindow_m1141355708 in Bulk_Assembly-CSharp_0.o
        (maybe you meant: _UIMainControl_HideUnityWindow_m1141355708)
        ld: symbol(s) not found for architecture arm64
        clang: error: linker command failed with exit code 1 (use -v to see invocation)



        请问下 这个是什么问题 我查过那个.a是支出arm64的
        2a434e7c4f0f:@Mory valid Architecture 是 arm64 armv7 armv7s
        2a434e7c4f0f:@Mory 就是默认的 standard Architecture armv7 arm64
        Mory:你的bulid setting 里面,你怎么设置 Architecture 的?:hushed:
      • 伪装v5:所有的拖过去的文件没显示在目录里的都是删除引用,,而不是删掉。。。坑了我几天。。终于好了
        伪装v5:@Mory 不怪你。。
        Mory:难道是我的锅?我没写的吧?:no_mouth:
      • a08ebadf4ba4:解决了 新版本的Native 的 .h不用删 我还原了就好了
      • a08ebadf4ba4:兄弟~ 我这集成完了一口气报了200个错误 比如"UnitySetLastHeading(float, float,float,float,float,double),referenced from: 这类的 请问遇到过吗
      • 忘记密码的七:楼主,改了无数个错误了,现两个错误无法修改,
        1、__weak typeof(self) weakself 总体来说,这个玩意儿直接报c++ requires a type specifier for all declarations
        2、运行到手机上成功,然后过几秒钟 UnityGfxDeviceWorker(17):EXC_BAD_ACCE(code = 1,address = 0x1),很无语,启用僵尸对象定位也不行
        望不吝赐教~
        忘记密码的七:@Mory 好像要用mac版的unity来打包,我试了一下,解决了:smile:
        Mory:你在做 AR 吗?这方面我还真不弄过,第一个问题你哪个地方没有声明类型,google 看了下,第二问题,下面两个链接说的都差不多:(1)https://developer.vuforia.com/forum/unity-extension-technical-discussion/unitygfxdeviceworker-excbadaccess-crash-unity-542-and-vuforia-60117,(2)http://blog.csdn.net/chuan403082010/article/details/64141340。你先试试吧。:wink:
      • paintingStyle:你好 有问题请教下
        iOS端内部嵌入了两款AR的游戏,进入不同的场景使用 UnitySendMessage("Controller", "OpenSence",data);传递不同的参数,但是只有第一次启动他才能进入其中一个,当进入第二个发送新的消息时还是会显示第一个的游戏画面,iOS端Unity是无法关闭的,后来测试加入 UnityLoadApplication();
        Profiler_InitProfiler();
        切换偶尔是正常的,但有时候会显示错乱

        麻烦看下
        (void)showUnityWindow {

        if (_didResignActive) {

        UnityPause(false);
        }
        _didResignActive = NO;

        UnityLoadApplication();
        Profiler_InitProfiler();

        self.window.hidden =YES;
        self.unityWindow.hidden = NO;
        [self.unityWindow makeKeyWindow];
        }

        (void)hideUnityWindow {

        UnityPause(true);
        _didResignActive = YES;
        Profiler_UninitProfiler();

        self.unityWindow.hidden = YES;
        self.window.hidden = NO;
        [self.window makeKeyWindow];
        }

        发送消息代码:

        (void)wjBtnDidClicked {

        [kAppDelegate showUnityWindow];

        [self toUnityPageWithValue:@"wj"];
        }

        (void)scenesBtnDidClicked {

        [kAppDelegate showUnityWindow];

        [self toUnityPageWithValue:@"scenes"];
        }

        #pragma mark - 跳转到对应的Unity页面

        (void)toUnityPageWithValue:(NSString *)value {

        // TODO: 新增代码
        //报错SendMessage: object Controller does not have receiver for function openSence! 说明UnitySendMessage传递的对象不具备相应的方法

        const char *data = [value UTF8String];

        /**
        你那边需要打开场景的话 需要 传值给 OpenSence这个函数 通过ios给unity对象传值的方式 值有两个 "wj" 和 ”scenes“

        "Controller" "openSence" "wj 或者 scenes"
        */

        UnitySendMessage("Controller", "OpenSence",data);
        }
        Mory:@paintingStyle 你要是在已经启动的第一个场景里去切换第二个场景,会怎么样?如果可以的话那么就迂回一下,退出界面前在 unity 使用 c#添加一层遮盖(最好通用的),并且可以持续存在一会,等到你场景切换完毕再移除遮盖。:yum: 。这样的话你就算退出暂停,再进入的时候也不回感觉尴尬,我 QQ:736784694
        paintingStyle:@Mory 我懂你的意思 但是第一个场景加载完毕后点击退出游戏,这时候调用UnityPause(true)将游戏暂停,切换Window回到主界面,这个时候我需要点击进入另一个游戏,这个需求如何实现?
        进入过一个游戏的情况下返回主界面,这个时候使用UnitySendMessage("Controller", "OpenSence",data);发送消息切换到另一个游戏场景是不成功的,报错SendMessage: object Controller does not have receiver for function openSence!
        可以的话可以私信加下你的QQ,十分感谢你的回答!
        Mory:你这个需求,我问了一下 unity,他说你可以建立两个不同的场景,通过标识符切换应该可以的吧?不过这个确实没有好的先例参考。只能慢慢摸索了,你也可以试试你函数调用顺序调整下,看看会不会有效果(我瞎猜的,多试试吧)。
      • b95f0ca6ca78:很感谢您的分享,如果早点看到,也许就不用填那么多坑了,我现在遇到一个问题,就是unity 调用 iOS平台的sdk ,请问您做过没有?可以讨论下,最近在做,头疼:joy:
        Mory:@CallMeDaKing 你做室内定位?用的那家公司的 SDK?我之前也是做这方面的,不过只是定位用unity 太不值当就终止了。我先帮你看看,之前我没有这样弄,不清楚可以不
        b95f0ca6ca78:@Mory 非常感谢您,我一会就拜读下。确实像您说的是以unity为主导的应用集成到iOS平台,因为我对unity不熟悉,公司让我试着做一下,网上很多资料我看了,但是思路还不是很清晰,我想调用一个iOS端室内定位的sdk ,获取到定位数据实时的给unity,我现在在网上看了算是两种方式吧,一、就是用xcode 文件中用C ++ 调用oc, 写一个封装函数,把文件(.h、.m)到unity指定位置,然后在c#里面再 关联那个C++接口,打包后再导入sdk,进行相关配置 ; 二是 、我看雨松MOMO,就是在unity C#脚本里面声明获取参数的方法 ,将unity打包,在打包好的iOS工程中创建一个类继承UIViewController,导入sdk ,直接用sendMessage这个方法回传参数。其实我想用第二种去解决我的问题,但现在我的问题是我不希望创建viewController,只需要定位数据,但是我这个sdk 还需要一个viewcontroller的控制器来做代理,我现在想unity用导出的iOS项目中的控制器做代理,调用代理方法,不知道可行不可行? 如果可行,哪个控制器文件可以用? 不知道有没有什么好的思路,非常感谢您。(新手,趴坑里两三天了,有什么描述不对的多担待:joy: )。
        Mory:看情况你是在做以 unity 为主导的应用,要是想调用其他的 sdk ,你可以看到我在下面添加的连接,有一个就是使用 unity 做游戏的,添加调用第三方的 SDK。你也可以说说你的情况。:wink:
      • t_fancy:大神你好,我把unity和ISO整合成功后整个项目没有动画效果了,比如键盘弹出,导航栏push效果,请问怎么解决,感谢!方便的话可以加下我的Q:181708546
        Mory:我看到一个细节,你去看看http://www.jianshu.com/p/baabd47434ca,不晓得你那边是不是这样的。
        Mory:你是做什么的啊?
        Mory:目前不做这方面了,我有同事做的路子和我的这个不一样。他是将 unity 导出的包作为载体,在指定的目录里面编写你自己的程序,这样做比较方便,你可以试试,这是链接http://www.jianshu.com/p/db88ffd57168。至于的你动画效果不见了....不是我的锅啊🤣,我没见过这样的。
      • ef1b354c2476:合并后,包过大,有什么解决办法没有,谢谢了
        Mory:@SourceC 没办法,unity 导出的.a包就很大了,你怎么减小,想减小体积的话只能将模型单独分离,然后在下载加载。
      • 厚脸皮小强打不死的小强:CameraDevice::getCameraCalibration(): Failed to get camera calibration because the camera is not initialized
        Mory:@厚脸皮小强打不死的小强 我这里没做 AR,调用相机的话我这种方法好像是显示黑屏,别人说的。我没试过,不太好弄。
      • RaInVis:您好,请教一个问题,是这样的,主业务还是传统iOSAPP,里面可以跳转到unity界面,问题就是从unity返回iOS界面时候,unity里持有的模型释放不掉导致内存很大,在退出unity之后,怎么清除占用的内存呢?
        Mory:@竹寺000 已更新可以清除大量占用内存。
        竹寺000:@RaInVis 请问你们这个需求你实现了吗 ??我试了一段时间,没有头绪啊 ,请赐教
        竹寺000:@RaInVis 请问你们这个需求你实现了吗 ??我试了一段时间,没有头绪啊 ,请赐教
      • zqzxc:有20个错,全部是Foundation里面的错?咋破?
        Mory:@zqzxc 你不贴出来问题,我靠猜是解决不了的。
      • dela:遇到个很坑的问题 楼主加我qq:452661096 吗 求帮忙!!!
        Mory:@dela 直接说什么问题,我也不一定知道,现在不做 unity 了。
      • 竹寺000:大神,我想请教下,如果单纯的只是像你demo里写的那样的话,从你原有的ios工程切换到unity页面,就只是一个单纯的切换了。 如果,我希望实现,从ios工程每次进入unity的页面都是unity的初始化的那个页面,并且我在unity页面点击退出到ios工程时,unity页面完全关闭。这样的话,可以实现吗 ??? 我现在好疑惑啊。 大神,看到的话希望可以回复我哦 ,qq:969318615
        Mory:@竹寺000 你自己看这启动方法和流程,怎么优化?而且还不能停,停了就崩溃。
        竹寺000:@Mory 嗯嗯,那这样的话,我只能试试让启动的时候,让unity帮忙初始化了。不过unity即使是挂起应该也会很耗费资源吧。关于这一块有什么优化的方法吗 ?
        Mory:@竹寺000 这个之前我试过,没成功。我也是摸索,安卓倒是可以。
      • 75c46017e360:按照楼主的步骤弄完后不报错了,但是运行的时候到
        UnityInitApplicationNoGraphics([[[NSBundle mainBundle] bundlePath]UTF8String] );
        这行代码就报错了没有提示,卡在汇编页了
        -> 0x100ec89d0 <+136>: mov x19, x0
        楼主遇到过这个问题吗?在线等!!!
        楼主帅! 帅! 帅! 帅! 帅 !
        75c46017e360:@Mory 已经加了coremotion.framework 但是xcode还是找不到
        75c46017e360:@Mory 运行不下去的问题是Other Link flags 没有加 CoreMotion , 但是现在加上 CoreMotion 后 clang: error: no such file or directory: 'CoreMotion' 编译不过去了。不知道大家有没有遇到这个问题。
        Mory:@CaesarJudas 你这个问题我确实没碰到过,不知道你做的是什么,只能自己 google 了。我也没搜索到准确的解决办法,你可以去这个网址看看http://forum.china.unity3d.com/thread-17708-1-1.html,那个楼主不知道解决没,他提问时是在5月份,现在早就应该解决了,也有好几个和你一样的问题,你们可以交流下,我这纯属业余的 :smile:
      • Kenny_baii:抱歉,我这边在build settings没找到encode选项,还有一个问题,我这边直接把Unity导出的ios工程在xcode跑,xcode提示libiPhone-lib.a这个库有重复,需要把这个库删掉才行,请问博主需要删掉这个库么
      • Kenny_baii:请问博主,上文中说的encode设置为no,是在哪边设置的。请教下
        Mory:@7ff6ac63c57d build settings,你不知道吗?
      • 飞天遁地:403120679,楼主加我一下,我有好多问题要跟你请教
        Mory:@飞天遁地 这个是没问题的,你无论改unity脚本或模型还是改 iOS 代码,只要原先的配置没问题,他就会正常运行,不会影响到的。要是你直接该 unity 的一些东西,导出后,直接将需要的资源文件替换进去(或者合并),这样就更新了 unity 数据,我这样搞得,很方便。
        飞天遁地:@Mory 你好,我用了你的demo,还是报一个错误,但是这不是重点,我想了解下,如果即使这样嵌入到原工程,但是假如unity发生需求改变需要修改代码,那该如何处理
        Mory:@飞天遁地 抱歉,网页账号自动掉了,邮件也没通知我,今天刚看到。什么问题啊,我现在不用 unity 了,弄的少了。上面有我的 demo 配置文件,这个解决不了你的问题吗?
      • 睿少:博主,我遇到这种情况,按你的方法,我以前能成功导出iOS项目中,不过现在换了个unity工程,但unity导出的项目,能单独运行成功,到每次导入到我iOS的主项目中,就报各种错,这应该是哪里出了什么问题呢?
      • 睿少:unity导出是随便导出到哪里吗?还有在Xcode里的项目工程有什么要求吗?看楼主的MMHT里面那么多文件?会iOS开发,unity一点都不了解!求助!!!楼主帅!!!
        睿少:方便加QQ吗?
        544469923
        张睿
        Mory:@睿少 那个是导出的 unity 工程,至于 unity 怎么弄去Google/百度吧。。。至于要求,上面的配置也说了,很多很杂(最好参考导出工程里面的配置),然后按照我的慢慢来,估计你要配置好几遍才会成功的,那个地方少一点,错的你满脑子 where???上面我也加的有网盘链接,上面有配置好的工程文件,不过里面的 unity 文件我删除了,你自己的重新导入,然后修改一点代码就可以了,出问题再说。
        睿少:@Mory
      • 多鱼影视界:可以给我一份你倒出的unity么
      • 多鱼影视界:378166439
      • 多鱼影视界:是啊 但是我的没有MapFileParser这个文件
        Mory:@Swifty MapFileParser文件没有也没事,但是你的问题很多啊。已加你好友,同意后我再把配置工程给你
      • Mory:这个只能真机运行,还有配置你要全部添加。把上面说的你全部添加上面(一一对照)
      • 多鱼影视界:Undefined symbols for architecture i386报了200个这种错误。请问知道是什么原因么
        Mory:@Swifty 那真奇怪了,我配置好多个都成功啊,你看上面也有成功的,我在帮你看看。
        多鱼影视界:我今天做了7 8个
        都是这样的
        Mory:@Swifty 这个只能真机运行,还有配置你要全部添加。把上面说的你全部添加上面(一一对照)
      • Mory:楼上有做 AR 的啊,我本人并不是做 AR 的 。 “joung” @joung他是做 AR 的,你可以和他交流下,上面有他的 QQ
      • ac2e8673bd73:楼主,只想和你做朋友,我qq 85798304,最近在做AR,希望探讨下
        Mory:@锈掉的螺丝钉 楼上有做 AR 的啊,我本人并不是做 AR 的 。 “joung” @joung他是做 AR 的,你可以和他交流下,上面有他的 QQ
      • weiyanxuan:出现: 'il2cpp-config.h' file not found 错误是怎么回事
        茶瓶盖:我也报这个错了,一开始删除引用libraries里面的libil2cpp文件夹了 所以Native里的.cpp文件都找不到 il2cpp-config.h
        飞天遁地:@weiyanxuan 你现在解决了吗,我也是报这个错
        Mory:@weiyanxuan pch文件配置了吗?实在不行的话,你就再按照教程再来一遍吧,还有导出unity的设置,以及unity导出的工程里面的build setting路径别忘了
      • 熊啊熊啊熊:楼主 我遇到一个问题 我Unity 调用相机 然后我按钮点击切换window,画面黑屏 请问你遇到过吗?要怎么解决? 能加个好友吗 1002153267 谢谢了
        Mory:@熊啊熊啊熊 有的人也出现了这个问题,都是调用相机,他的解决了,你可以看一下这个博客http://blog.csdn.net/niuhailei/article/details/50911513
      • Larrycal:楼主我遇到了ios 与 Unity 交互,按钮无法响应的问题。你遇到过吗?请问怎么解决?谢谢。方便的话加个QQ好友吧:449618602
        Mory:@秦傑 话说,这两天我也上简书了,但就是没看到有人回复我,不好意思啊
        Mory:@秦傑 按钮无法响应??? 你最好不要将用来响应的按钮放在和进入unity事件的同一个类里面,这样是不会响应的,如果我猜错的话,及时回复我
      • NSError:集成完成之后,app的打开时间会延长好久,楼主有没有什么办法解决呀?
        Mory:@智IOS 还好吧?你什么APP?有多久啊?,目前没办法解决,很不好弄
      • NSError:按照楼主的这种方法,在程序一打开, 就会自动调用untiy的回调方法,这是个问题呀
      • 807baf846a3c:编译报错了,方便的话加个QQ或者微信?
        Mory:@joung 问题还在吗?我已经加你好友,需要验证
        807baf846a3c:应该是UnityAppController和AppDelegate不能共存的错误
        807baf846a3c:@joung QQ40941676
      • Gong_Hao:你好 我按照你的方法配置完编译了一下 UnityAppController.h 里报了20个错~ 请问怎么解决
        Mory:@Gong_Hao 还有你报什么错啊?截个图吧
        Mory:@Gong_Hao 你把第2步那个配置加上去
        Mory:@Gong_Hao 你确定按照所有我说的配置了?
      • Mory:大家碰到的问题可以留下来,成功的话也可以留言说明这样合并没什么问题
        SwitchLeo:才接触到AR,写的很详细,成功导入了,谢谢分享
      • Mory:大家有问题可以提提啊,分享一下
        傅hc:il2cpp-codegen.h:369:1: Control may reach end of non-void function 这里出错一直解决不了,其它步骤都OK~~导入框架,路径都试过都不行,有什么建议吗?
        Mory:@小新在路上 没个版本可能都不一样,没必要就不要换。
        Z小新:我用Unity5.4.3 集成成功了 2017就是报错呢 ,楼主有遇到过吗

      本文标题:unity与iOS合并

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