位置: 编程技术 - 正文

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)

  • 利润表季报的本期金额是本年累计吗
  • 查找出资产负债表的软件
  • 个税中房屋租赁日期写长跟写短
  • 定额备用金的账务处理
  • 小规模纳税人季度超过45万怎么交税
  • 房地产公司拆迁部岗位职责
  • 应付职工薪酬如何具体到个人
  • 随意变更会计处理方法违背了
  • 房屋预售交款怎么交
  • 预缴增值税是否要预缴印花税
  • 软件开发过程的一般步骤
  • 应收账款计提坏账后收回
  • 以库存商品抵偿债务
  • 应收账款多记如何调账?
  • 第三方用人单位应承担哪些责任
  • 代收代付如何进行账务处理?
  • 装卸收入的增值税税率是多少
  • 企业财产保险费率的影响因素
  • 营改增后开不了增值税发票怎么样办?
  • 怎么查找使用手机的时间
  • 贷款已支付属于什么会计科目
  • 作废章盖在哪个位置
  • 1500元左右打游戏最好的手机
  • 中央空调使用费怎么开发票
  • 工程结算收入的会计分录
  • win10无法登录微信
  • 结转基本生产成本
  • 基建期增值税如何抵扣
  • 实收资本属于会计准则吗
  • 经济作物国家有什么补助吗
  • 京东预付卡怎么做账
  • 电脑系统如何安装字体
  • 学生兼职收入按什么交个税
  • 预缴企业所得税分录
  • python字符串操作作业
  • 小型微利企业税收优惠2023
  • 劳务费还没发可以先计提吗
  • 公司挂靠社保的人员需要申报个人所得税吗?
  • 企业所得税利息费用的扣除标准
  • javascript中文手册
  • metareg命令
  • 增值税政策执行口径存在的问题及建议
  • 服务型公司营业执照图片
  • 工程公司项目管理部管理制度
  • 累计折旧是当月提还是下月提
  • phpcms教程
  • 房产税是按不含增值税计提吗
  • 确认应付职工薪酬怎么算
  • 公司为职工承担社保费用
  • 固定资产汽车折旧年限是多少年
  • 转出进项税额会计分录
  • 折旧方法计算公式
  • 工会经费教育经费计提比例
  • 零余额账户银行日记账
  • 建筑业纳税人简易征收偷逃增值税
  • 小规模纳税人核定销售额
  • 企业弥补亏损的顺序
  • mysql清空表内容
  • window如何还原系统
  • linux常用命令sed
  • win10预览版21277
  • cpqdfwag.exe是什么进程 能结束吗 cpqdfwag进程查询
  • office解压后如何安装
  • 为什么国外程序员比国内厉害
  • windows开发教程
  • WIN10补丁无法卸载
  • 初学excel零基础教学视频
  • jquery设置滚动条
  • kotlin开发教程
  • c opengl
  • 了不起的Nodejs 将JavaScript进行到底
  • android 动效
  • jquery 获取父元素的子元素
  • linux pythonide
  • 社保欠费税务催缴
  • 税务投诉撤销申诉
  • 企业个税网上申报时间
  • 中国税务网络版
  • 国家税务总局办公室电话
  • 推进社会治理的路径
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设