位置: 编程技术 - 正文

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)

  • m级纳税人如何变成b级
  • 税金及附加属于管理费用吗
  • 电子承兑凭证
  • 其他应收款重分类
  • 增值税加计抵减最新政策2022
  • 变更了公司名称以前的发票还可以抵扣吗
  • 小规模未达起征点销售额是多少
  • 原材料盈亏会计分录怎么写
  • 资产负债表中无形资产是原值还是净值
  • 教育用地转让缴哪些税
  • 企业所得税减半征收政策
  • 长期待摊费用可以转入费用或者成本吗
  • 接受投资款尚未工商变工账务怎么做处理?
  • 无形资产出租后还要摊销吗
  • 交车辆购置税可以刷信用卡吗
  • 哪些税不可以扣除
  • 咨询服务费记到什么科目
  • 营改增后为何还要交地税?
  • 加盟费怎么算的
  • 物流公司承担货物损失赔偿如何写会计分录
  • 软件开发开增票几个点
  • w10系统怎么连接
  • 研发费用资本化可以加计扣除吗
  • 劳务服务包括哪些范围
  • deepin 文件管理器
  • php7 ??
  • 什么是现金解款支付
  • php require的用法
  • 人力资源服务代缴社保税率是多少
  • win11修改版
  • 最小计算机系统包括
  • array php
  • 有哪些天气软件
  • 微信小程序网页版
  • Vue3通透教程【二】更高效的构建工具—Vite
  • 前端脚本开发
  • lvm部署的命令
  • php定义方法
  • setup prompt
  • 附清单格式
  • 商贸企业出口退税吗
  • 土地增值税成本费用
  • 工会经费可以发购物卡吗
  • 长期借款利息是流动负债吗
  • spring boot dao
  • php发邮件系统源码
  • 固定资产年限折旧方法
  • 所得税的应税所得额
  • sqlserver创建维护计划
  • 商家的这些行为对消费者的购买行为有什么影响
  • 实收资本印花税是一年一交吗
  • 劳务费个税账务处理办法
  • 购买的车位如何做账
  • 成品油发票如何作废
  • 固定资产发票有什么用
  • 退差价后退货
  • 购置固定资产的预算是财务预算吗
  • 客户逾期不付款,需要赔多少违约金
  • 培训费发票是否可以抵扣
  • win7系统在哪里设置ip地址
  • win10系统不能打印图片
  • centos5安装步骤
  • 计算机 win10 桌面
  • win7系统怎么启动讲述人
  • win7无法注册dll文件
  • 置顶朋友圈怎么设置
  • perl遍历哈希
  • js中的eval
  • angular.js
  • javascript学习指南
  • jQuery ajax时间差导致的变量赋值问题分析
  • jquery将文本框设置为只读
  • 简述python的垃圾回收机制
  • android数据存储实验报告
  • 国家税务局吉林省税务局官网app
  • 辽宁省国家税务局官网
  • 2020年砂石
  • 京东开的店
  • 一般纳税人开红字发票怎么报税
  • 收心归位经典语录短句
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设