位置: 编程技术 - 正文

Unity 从iOS应用中,启动一个Unity App(unity导出ios项目到iphone)

编辑:rootadmin
从iOS应用中,启动一个Unity App

推荐整理分享Unity 从iOS应用中,启动一个Unity App(unity导出ios项目到iphone),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:unity导出ios项目到iphone,unity发布到ios,unity导出ios项目到iphone,unity的apply在哪,unity的apply在哪,unity ios framework,unity ios framework,unity 调用ios,内容如对您有帮助,希望把文章链接给更多的朋友!

Start a Unity app from inside a native iOS app

1. 首先,从Unity中将Unity项目导出Xcode工程。(因为Unity生成的工程目录比较麻烦,没有研究,所以从Unity生成工程的基础上进行开发)

2. 生成的Xcode工程包含以下文件。

  其中main.mm文件,是项目的入口文件。

  从代码来看。Unity是使用红色框中的文件(AppController)启动,没有用到蓝色框中的文件。所以我们可以直接使用(iPhone_targer2AppDelegate)

  

3. 修改入口文件,main.mm

  将启动类,由“AppController”改为“NSStringFromClass([iPhone_target2AppDelegate class])”

NSAutoreleasePool * pool = [NSAutoreleasePool new];// UIApplicationMain(argc, argv, nil, @"AppController");UIApplicationMain(argc, argv, nil, NSStringFromClass([iPhone_target2AppDelegateclass]));[pool release];

4. 在“iPhone_target2AppDelegate”中,就可以正常的使用我们iOS项目了。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; [self.window setRootViewController:[[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil]]; [self.window makeKeyAndVisible]; return YES;}Unity 从iOS应用中,启动一个Unity App(unity导出ios项目到iphone)

5. 接下来就是本文的重点了,怎么启动Unity项目呢。

[[[AppController alloc] init] startUnity:[UIApplication sharedApplication]];

6. 从Unity项目退出,返回iOS项目。在AppController.mm中加入对Unity的响应,代码如下

  这里使用了Unity和Object-C之间的代码交互。详见: "C" { float doExitSelector() { /* // 使用这个代码会导致应用Crash // ReleaseViewHierarchy(); // UnityCleanup(); */ // 所以在这里,使用以下方法:讲Unity暂停,隐藏项目,将iOS项目Window显示 UnityPause(true); _didResignActive = YES; Profiler_UninitProfiler(); [[[UnityGetMainWindow() rootViewController] view] setHidden:YES]; [[[iPhone_target2AppDelegate shareApplicationDelegate] window] makeKeyAndVisible]; return 0.0f; }}

7. 最后注意一点,startUnity方法只能使用一次。多次调用同样会导致应用Crash,并报错:“should not be reached at domain.c”。

  如果需要在Unity和iOS之间多次切换的话,可以在AppController.mm中加入以下方法

- (void)restartUnity { [[[UnityGetMainWindow() rootViewController] view] setHidden:NO]; [UnityGetMainWindow() makeKeyAndVisible]; if (_didResignActive) UnityPause(false); _didResignActive = NO;}

  在需要的地方调用:

- (void)onClickTest:(id)sender { if (appController) { [appController restartUnity]; }else { appController = [[AppController alloc] init]; [appController startUnity:[UIApplication sharedApplication]]; }}

  

PS: 有错轻拍

  开发工具版本:Unity 4.0 Xcode 4.6

分类: Unity

Vuforia学习实践笔记(一) 前言Vuforia增强现实SDK,是高通推出的针对移动设备增强现实应用的软件开发工具包,它能够根据开发者设定的目标对象,例如二维图片、三维模型提取

【Unity_uGUI】如何让ui遮挡点击事件使之不影响3D世界

[Unity3D]Unity中的Time 要求实现动态生成管道,一直没有想到比较好的方法,之前跟着教程做的时候也用到了Time类,这次又详细查了查,总算解决了问题。1.Time.time此帧开始

标签: unity导出ios项目到iphone

本文链接地址:https://www.jiuchutong.com/biancheng/381427.html 转载请保留说明!

上一篇:Unity NGUI Tween的用法

下一篇:【Unity_uGUI】如何让ui遮挡点击事件使之不影响3D世界(unity ugu)

  • 实收资本印花税最新规定
  • 融资租赁印花税怎么交
  • 合伙企业所得税怎么征收
  • 收入能加在库存上吗
  • 息税前利润变动率
  • 招标押金如何做账务处理?
  • 成本计算账户期末一般有余额吗
  • 以不动产投资入股增值税
  • 母子公司间提供保洁保安合法吗
  • 土地增值税和房产税
  • 五证合一流程
  • 错账的查找方法及适用范围
  • 企业所得税表样
  • 现金折让怎么做会计分录
  • 外购的材料用于在建工程进项税额
  • 营改增后接受实物投资是否需要缴纳增值税?
  • 通用机打发票操作流程
  • 出口收取佣金要开发票吗?
  • 变更财务负责人在网上变更流程
  • 废旧物资回收需要什么手续
  • 企业所得税一般是几个点
  • 报个税失业保险怎么填
  • 固定资产用于免税项目 进项税处理
  • 复合增长率什么函数
  • 科目编码首位与分类编号不符,接受此编码吗
  • 出口货物专用发票图片
  • win7免费升级
  • 印花税本月计提本月缴纳
  • 企业第一年利润是多少
  • 企业增值税征收范围包括
  • 电脑记事本在哪里打开
  • 参加活动获得的荣誉怎么写
  • 微软win11预览版
  • 瓦尔德内尔精彩
  • 免抵退税会计分录怎么写
  • php使用crypt()函数进行加密
  • 国家规定免税饲料具体哪些产品
  • php中session和cookie
  • 控制器操作视频
  • 增值税抵扣要求一一对应
  • 按月计提固定资产折旧算收入吗
  • python缺省函数
  • 外贸da付款方式的流程图
  • 资产处置损益是当期损益吗
  • 股东分红是否必须由公司代扣
  • sql server触发器实例
  • PostgreSQL教程(五):函数和操作符详解(1)
  • 资本公积占比多少合适
  • 广告赞助支出可以抵税吗
  • 私车公用费用报销是否违规
  • 志愿者服务活动有哪些内容
  • 在建工程领用原材料税费怎么处理
  • 企业注销后账务保留多久
  • 申请专利的费用怎么入账
  • 企业给加盟店的钱怎么算
  • 暂估应付账款的科目编码
  • 支票填写的规范与常识
  • 明细分类账的建账
  • 明细账设置是什么意思
  • 503 service unavailable错误说明
  • 电脑bios怎么分区
  • win7 启动程序
  • gpt分区方法
  • weather.exe - weather 进程是什么文件
  • winmgm32.exe - winmgm32 是什么进程
  • 如何把鼠标指针换成笔的形状
  • mac怎么卸载苹果系统
  • win7装完系统我的电脑在哪
  • win7 win8.1双系统安装教程
  • 利用python进行
  • ExtJS 2.0 GridPanel基本表格简明教程
  • python基本入门
  • python返回结果
  • python脚本怎么编写
  • 使用jQuery调用XML实现无刷新即时聊天
  • jquery获取点击元素的id
  • 第二章,动态添加按钮(Android)
  • android的r
  • 国家扶贫项目有循环卡吗
  • 城市维护建设税税率
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设