unity项目整合嵌入iOS主工程

作者: 夜锦凉丶 | 来源:发表于2015-12-08 08:56 被阅读9623次

1.嵌入相关配置

1)unity导出的工程与已有工程置于相同根路径下。

unity项目整合嵌入iOS主工程

2)在已有工程引用三个文件夹,Data 选择Create folder references,Classes和Libraries 选择Create groups。

unity项目整合嵌入iOS主工程 unity项目整合嵌入iOS主工程

3)Remove Reference 掉Libraries中libil2cpp  group,和Classes—>Native下的所有.h文件。

4)新建PrefixHeader.pch文件。在Classes下Prefix.pch文件代码拷贝至新生成的pct文件。添加 UnityAppController.h 的引用。

unity项目整合嵌入iOS主工程

5)引用framework(注意Optional的三个)。

unity项目整合嵌入iOS主工程

6)配置Build Setting。

unity项目整合嵌入iOS主工程 unity项目整合嵌入iOS主工程 unity项目整合嵌入iOS主工程 unity项目整合嵌入iOS主工程 unity项目整合嵌入iOS主工程 unity项目整合嵌入iOS主工程 unity项目整合嵌入iOS主工程 unity项目整合嵌入iOS主工程 unity项目整合嵌入iOS主工程

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

unity项目整合嵌入iOS主工程

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

UnityAppController.h

unity项目整合嵌入iOS主工程

AppDelegate.h

unity项目整合嵌入iOS主工程

AppDelegate.m

unity项目整合嵌入iOS主工程

9)其他修改。

2.集成Google cardboard SDK 报错

http://qiita.com/ozawachev/items/ff0728ce4d01ece598ee

1/2

(已解决)

解决方法:增加中间变量

unity项目整合嵌入iOS主工程

2/2

(待解决)

unity项目整合嵌入iOS主工程

(已解决)2015.12.06 16:40

unity项目整合嵌入iOS主工程

3.cardboard SDK 动态改变 AppControllerClassName,导致———— " -[CardboardAppController unityController]: unrecognized selector sent to instance 0x12d591bd0” 错误解决:固定启动appdelegate

unity项目整合嵌入iOS主工程

4. startSettingsDialog:报错

unity项目整合嵌入iOS主工程

相关文章

网友评论

  • 哈秋呵呵:请问怎么发包啊
  • 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);
    }
  • 温州的柯:为什么没有添加去 -arc步骤呢
  • 温州的柯:LLVM8.0 下该如何配置呢
  • Nothing_lu:你好、我们用一个空的iOS工程集成了unity之后、用xcode测了一下有200+内存泄漏、基本都存在于data里的.cpp文件、请问怎么解决。
  • 74bff15d8e2e:楼主,我这导入untiy3d之后,老是报错, __weak typeof(self) _self = self;
    有关这个的都报Expected ';' at end of declaration
  • 熊啊熊啊熊:你好,我这边有个问题 就是我这个unity文件有调用摄像头 点击按钮跳到unity那边 摄像头显示的画面是黑屏的 不知道原因 请问是跟摄像头有什么关系吗
  • dd6ad30a4644:为什么我会找不到libvrunity.a这个库啊
    Coulee:@wangshankun 我也是,library not found for -lVuforiaUnityPlayer。你现在解决了吗?
  • sharkcome:楼主,按照上面的操作步骤,出现下面错误,求助:
    Undefined symbols for architecture armv7:
    "RegisterStaticallyLinkedModulesGranular()", referenced from:
    RegisterStaticallyLinkedModules() in libiPhone-lib.a(RegisterStaticallyLinkedModules.o)
    "RegisterAllClasses()", referenced from:
    InitializeEngineNoGraphics() in libiPhone-lib.a(SaveAndLoadHelper.o)
    ld: symbol(s) not found for architecture armv7
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    有遇到同样问题的么,请指教
    楚楚雏菊:我也遇到了同样的问题,请问你们解决了吗?
    zhcoder:@sharkcome 你的这个问题解决了吗
  • 487f8d50e04e:你们导出的unity是哪里下载的
  • 0a5aa070b8e6:求助QQ250026997 Unity4.6.9 Xcode7.2
  • 22a926629226:你好,按照这个方法有点问题 可以加Q探讨下吗谢谢 我的867563665
  • ouleiyou:你好 能给个demo吗 非常感谢
  • 3d3aad3d2314:已经解决,能正常跑起来。unity 5.3.4f1 xcode 7.3 多谢楼主
    Metoo丶淡然:@要好好的1314 好的,谢谢,我去试试5.3.4
    3d3aad3d2314:5.3.1没有试过,
    Metoo丶淡然:@要好好的1314 unity5.3.1的话试过吗,难道要升到5.3.4才能和xcode7.3匹配上?
  • 矫炎圻:Unknoewn type name "UnityViewControllerBase"
    Metoo丶淡然:我也出现这个问题,楼主解决了吗
    矫炎圻:@001d64fe6cca 这两天忙别的呢,下周估计就可以解决了
    别人家的男朋友丿:@矫炎圻 这个问题解决了吗
  • 矫炎圻:楼主还健在不 :relieved:
  • b158928fb70d:楼主有研究后续没,光有一个uiwindow有点不能满足要求
  • b158928fb70d:这个老外教程的很给力,完全不懂ios都合出来了
    夜锦凉丶:@GameObject https://vimeo.com/145572230这个地址你看不了么?
    281a4240a7a2:这个老外的视频教程谁有?开了VPN也看不了哇
    夜锦凉丶:@hflalala 对啊,纯粹手把手教学哦。
  • 7cf564a5b69e:请教个问题,iOS原生开发的项目里面有个功能点要用到AR扫描某个识别图展示一个3D的柱状图,请问开发的流程是不是这样:

    第一种方式:unity3D开发工程师使用easyAR的unitySDK做一个AR的模型,然后导出Xcode工程,最后iOS工程师把这个导出的工程与原生的工程代码进行整合?
    第二种方式:使用原生的OpenGLES引擎画出那个AR模型,我看easyAR的iOS示例Sample里面就是这种方法。但是手动openGL画3D模型也太难了吧?有没有什么工具把做出来的3D模型文件转换一下直接拿到项目里面使用?

    我看你的代码应该做的的VR项目。AR应该也类似吧?
    夜锦凉丶:@WenkyYuan 推荐第一种吧,因为我们VR项目偏用户,U3D方向主要做的播放器集成,所以了解不深。在理论上,我还是推荐第一种,毕竟建模什么的U3D才是行家~
    希望对你有帮助。
  • 黑夜的眼睛:能否帮我解决一下,谢谢
    夜锦凉丶:@黑夜的眼睛 你好,最近好久没上简书,关于那个项目,由于公司已经弃坑,本人并无跟进,附 当初寻找的资料,希望对你有帮助。http://www.the-nerd.be/2015/11/13/integrate-unity-5-in-a-native-ios-app-with-xcode-7/
  • 黑夜的眼睛:Bulk_JsonFx.Json_0.cpp 'il2cpp-config.h' file not found
    三岁就很乖:@cf080761eb68 嗯嗯,解决了!
    cf080761eb68:@_何以默笙 我今天遇到了,你解决了吗,求告知
    三岁就很乖:@黑夜的眼睛 我也是,解决了吗????
  • 黑夜的眼睛:3)Remove Reference 掉Libraries中libil2cpp group,和Classes—>Native下的所有.h文件。 执行完这步,编译后报错
  • 黑夜的眼睛:您好,不知道您那可有现成的Demo,能不能发给我一下
  • 1ef63a82f7ef:你好!你的这个工程有demo吗?第2部里面往里面引入三个文件夹怎么是看着是向Unity工程里面引入Unity工程的东西?
    山野不村夫:unknown type name UnityAppcontroller;
    清杨程:@夜锦凉丶 打不开
    夜锦凉丶:@木偶2599 你好,最近好久没上简书,因为我们已经放弃unity 改换成品sdk , 所以并无跟进,附 当初寻找的资料,希望对你有帮助。http://www.the-nerd.be/2015/11/13/integrate-unity-5-in-a-native-ios-app-with-xcode-7/

本文标题:unity项目整合嵌入iOS主工程

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