位置: 编程技术 - 正文

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)

  • 个税分类所得税率
  • 组成计税价格公式消费税
  • 长期股权投资为什么要冲减资本公积
  • 资产负债表其他应收款怎么填列
  • 生产车间用电产品有哪些
  • 应收账款属于非流动资产吗
  • 固定资产清理是备抵账户吗
  • 公司注销应付款太多
  • 企业微信收款如何同步给别人
  • 技术服务年费是什么
  • 私人企业的资金来源
  • 营改增后甲供材税前扣除还是税后扣除?
  • 什么是遗产税什么是税
  • 计算企业所得税的公式
  • 购买国债兑现时要交税吗
  • 长期投资项目包括哪些
  • 普通发票每个月有限制吗
  • 购进增值税专用发票怎么填开
  • 存货减值准备计提
  • 制造企业享受增值税政策
  • 增值税留抵退税怎么记账
  • win10下载软件被阻止安装怎么办
  • 上年结转的广告费次年怎么入账
  • 购买加油卡怎么充值
  • 研发费用加计扣除优惠明细表
  • mac休眠模式
  • PHP:pg_unescape_bytea()的用法_PostgreSQL函数
  • 应收票据包括哪些支票
  • npfmntor.exe - npfmntor是什么进程 有什么用
  • 工程竣工结算资料存档几年
  • 新罕布什尔州的邮政编码
  • codelite怎么进行编译
  • 增值税留抵抵欠流程
  • php 无限级分类
  • python抓取淘宝店铺商品
  • thinkphp自定义标签
  • 生产过程半成品报废
  • centos安装MySQL数据库
  • 帝国cms栏目自定义字段
  • 征税小规模纳税申报
  • 装修款收不回怎么办
  • 银行余额调节表的作用
  • 给天猫开的服务怎么关闭
  • 其他收益用什么明细账
  • 市政道路基础设施
  • 进项税抵扣的分录怎么做
  • 筹建期间的利息费用计入什么科目
  • 转账手续费没有发票能税前扣除吗
  • 企业收到政府专项奖励
  • 建筑工程承包合同保证保险中,承保工程所有人
  • 购房发票可以开专票
  • 食堂的电费能分两次交吗
  • 删除重复记录mysql
  • sqlserver模糊查询不用like
  • 360 sesvc.exe
  • windowsxp怎么隐藏桌面图标
  • Windows Server 2008提升AD管理效率
  • linux uzip
  • ghost出现错误
  • 如何进入xp系统
  • centos soft lockup
  • win8 64位触控版导致笔记本键盘失灵解决方法
  • windows10预览版怎么样
  • win7系统ie浏览器在哪里
  • win8.1出现了一些问题
  • windows8无法安装wps
  • 备份多个数据库
  • javascript cookies
  • easyui messager alert 三秒后自动关闭提示的实例
  • pythone爬虫
  • javascript中的函数
  • android系统虚拟机
  • python bilt
  • 烟叶的增值税税率9
  • 通用申报表水利基金怎么填
  • 电子税务局企业账号是税号吗
  • 云南省地方税务局官网
  • 苏州税务系统
  • 什么是企业融资,什么是政府融资
  • 实体经济的行业有哪些
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设