位置: 编程技术 - 正文

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)

  • 什么是纳税地点?
  • 简易计税方法的销售额不包括其应纳税额
  • 以前年度成本多入了怎样调整
  • 非居民企业适用的企业所得税税率
  • 出口免税需要什么资料
  • 增值税专用发票可以开电子发票吗
  • 企业哪些做法违背了营销道德
  • 无形资产资本化会计处理
  • 接受捐赠的增值税计入利润总额吗
  • 购买未完工的厂房会计分录
  • 资产减值损失会影响利润吗
  • 税务局返还的代征代扣要交增值税吗
  • 未收到发票可以计提成本吗
  • 收到投资分红要缴纳企业所得税吗?
  • 人工费用占销售收入比重
  • 发生破损
  • 购买食堂餐具开票怎么开
  • 本月不抵扣的发票不入帐吗
  • 税收完税证明是契证吗
  • 成本类科目有哪四个
  • 原始凭证的审核内容
  • 玩游戏时切换窗口怎么弄
  • 如何自定义桌面图标排列
  • 会计基础工作是会计工作的基本环节
  • php的项目
  • 酒店如何核算成本
  • 公允价值的利弊
  • 长期股权投资初始计量和后续计量的区别
  • 土地使用税缴纳人是使用者还是所有权人
  • 待抵扣进项税额和进项税额的区别
  • 用php制作日历2020日历表
  • yum安装php5
  • 如何成功安装暗区突围
  • vue修改父组件的值
  • Win11 Build 23430 预览版发布(附更新修复内容汇总)
  • 图像边缘检测的基本原理
  • 隐藏php后缀
  • python简单九宫格拼图游戏
  • 税控盘增值税发票怎么开
  • 石油预付款发票怎么开
  • 政府专项补贴税收
  • PostgreSQL中使用dblink实现跨库查询的方法
  • 终止经营损益列报 举例
  • mysql运行报错
  • 命令行启动服务service
  • 营业总收入和营业利润
  • 公司给员工的购房补贴
  • 收入准则适用范围
  • 收回应收账款账面余额
  • 银行收的账户管理费
  • 存货跌价准备转回和转销的区别
  • 利润表的营业成本包括管理费用吗
  • 企业财务建账应由谁负责
  • win10升级win1
  • linux系统查看磁盘io
  • windows7开机
  • linux clk
  • ulimit命令详解
  • win10 电脑
  • fsa是什么文件格式
  • win7电脑无限蓝屏怎么解决
  • android内存dump
  • unity游戏开发的技术路线有哪些
  • java grid
  • Unity3D游戏开发标准教程吴亚峰于复兴人民邮电出版社
  • jQuery javascript获得网页的高度与宽度的实现代码
  • 分享两句话
  • jquery常见的选择器
  • js实现二维码生成与解析
  • jquery 日期
  • pm2启动nodejs
  • websocket方法
  • document对象常用方法
  • 装饰装修公司需要什么
  • 抵扣怎么做账
  • 企业所得税季申报表
  • 四川医保网上怎么缴费支付宝
  • 云南税务网上税务局
  • 仓储物流企业的事故指标
  • 汉中税务大厅电话是多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设