美文网首页IOS个人开发iOS收藏环境集成
Unity导出的项目整合到已有的IOS项目中

Unity导出的项目整合到已有的IOS项目中

作者: 木马不在转 | 来源:发表于2016-09-11 13:47 被阅读1180次

    unity打包配置参数图


    1  Unity3d导出的IOS项目下  Classes Data LibrariesMapFileParser MapFileParser.sh复制文件到IOS主项目根目录下

    Classes Libraries 导入主项目

    Data导入主项目

    2 添加run script

    "$PROJECT_DIR/MapFileParser.sh"

    3 添加Link Binary With Libraries

    4  添加Search Paths

    Header Search Paths 添加

    "$(SRCROOT)/Classes"

    "$(SRCROOT)"

    $(SRCROOT)/Classes/Native

    $(SRCROOT)/Libraries/bdwgc/include

    $(SRCROOT)/Libraries/libil2cpp/include

    Library Search Paths 添加

    $(inherited)

    "$(SRCROOT)"

    "$(SRCROOT)/Libraries"

    选中项目 - Project - Build Settings - ENABLE_STRICT_OBJC_MSGSEND  将其设置为 NO

    5 处理iOS已有项目的main.m文件,将.m改为.mm,将Classes下的main.mm内容拷贝至新main文件中,并进行修改。

    Build Phases中移除Classes下的main.mm文件。

    UnityAppController.h

    AppDelegate.h

    AppDelegate.m


    6 添加预处理文件

    Classes/Prefix.pch (这里很多人出现错误 文件找不到 。在复制的时候 去掉前后空格)

    7 添加 -DINIT_SCRIPTING_BACKEND=1

    ··不知道干嘛的 加上不报错 求告知

    8  修改 unityAppController

    修改Unity3d导出的AppDelegate

    inlineUnityAppController* GetAppController()

    {

    return(UnityAppController*)[[UIApplicationsharedApplication]valueForKeyPath:@"delegate.unityAppController"];}

    这里delegate.unityAppController我是把UnityAppController保存到 主项目的appdelegate中

    在主项目中的Appdelegate.h添加 属性

    在主项目中的Appdelegate.m中添加

    执行self.window = _unityAppController.window 可正常运行

    出现错误

    You must rebuild it with bitcode

    enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from

    the vendor, or disable bitcode for this target. for architecture armv7

    解决方法搜索Enable Bitcode YES 改为NO

    欢迎指正


    合并结果 只能在真机上运行

    --------------

    如果unity中添加vuforiaSDK ,在合并过程中需要在第一步与第三步 做如下调整

    1. 在完成第一步后 需要再导入QCAR文件夹

    2.在完成第三部后 需要再添加 Security.framework

      其它方法
    http://www.cnblogs.com/Erma-king/p/5544502.html
    http://www.jianshu.com/p/8d01bb1a3c14

    http://blog.csdn.net/foreverhyh58/article/details/50353158

    错误  http://blog.csdn.net/huaxiangsl/article/details/47259663

    相关文章

      网友评论

      • swj沈:你好,我这边UnityAppController.h文件改不了,一直报错AppDelegate文件找不到,是什么原因呢?方便加个微信吗
        木马不在转:加QQ吧 1015559188
      • hmj1993: 简主,我那个报错classes/prefix.pch找不到 但是我没有前后空格啊 怎么改呢
        木马不在转:unity也有一个.pch,同一个工程只能有一个.pch文件,还有就是你的pch文件名称是不是prefix,如果不是就替换了。
      • 戚家将:最帅的楼主,能帮帮看看这个错误吗,不知道什么原因引起的
        #0 il2cpp::vm::MetadataCache::Initialize()
        #1 il2cpp::vm::Runtime::Init(char const*, char const*)
        #2 ::InitializeIl2CppFromMain()
        #3 ::UnityInitApplicationNoGraphics()
        #4 ::-[UnityAppController application:didFinishLaunchingWithOptions:](UIApplication *, NSDictionary *)
        #5 ::-[AppDelegate application:didFinishLaunchingWithOptions:](UIApplication *, NSDictionary *)
        报:Thread 1:EXC_BAD_ACCESS(code=1,address=0×.......)
        万分感谢~~~~
        木马不在转:@戚家将 对 大学就玩 后来玩LOL,感觉不过瘾,到现在还是在玩起凡。
        戚家将:@木马不在转 多谢,不过貌似那边的解决方案不对啊(老哥,看得出你是玩起凡三国的)
        木马不在转:https://forum.unity3d.com/threads/il2cpp-anyone-else-seeing-metadatacache-initialize-crashes-sometimes-when-the-game-starts.383145/
      • 471dd02de674:@木马不在转 NSPhotoLibraryUsageDescription博主是添加这个吗?我添加过了,还是不行,关键是工程没合并的时候,可以正常运行,合并之后就出现了获取不到摄像头的问题,难道是工程一开始打包的时候出现的问题吗,我需要改哪个地方呢博主
        木马不在转:@sunshading 我遇到黑屏就是配置参数的问题,你不介意可以吧unity原生包发到我的QQ 1015559188
        471dd02de674:谢谢博主的回答,我又重新打包了一下,按照博主配置的参数设置,但打包出来的还是出现黑屏,请问还有其他的原因导致这样的吗?
        木马不在转:@sunshading 用unity打包的时候需要按我上面的unity配置参数来打包。
      • 471dd02de674:楼主,能请教一下一个问题么,这个问题困扰我好久了,就是unity 发布到iOS 上出现黑屏,其他的按钮都能用,就是获取不到摄像头,请问你遇到过这样的问题没:blush:
        木马不在转:@亲爱的蛋蛋 遇到过,首先你看看plist里权限加了没。如果加了那就百分百是unity打包iOS工程的时候配置错误。按我的发布的unity配置打包。
      • 弦律:多好的简术
      • 454960281568:6666666666

      本文标题:Unity导出的项目整合到已有的IOS项目中

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