位置: 编程技术 - 正文

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)

  • 支付宝如何缴纳车辆购置税
  • 所得税预缴怎么做分录
  • 销售费用福利费编码
  • 收到对方红字发票如何做账
  • 股东借款利息收入放什么科目
  • 公积金需要每月缴纳吗
  • 外商投资企业国内上市最新政策
  • 办公室租金相关法规
  • 个人缴纳物业费怎么开发票
  • 抵税必须要有发票
  • 交强险是不是只要有发票就可以报销
  • 无形资产有哪些摊销方法
  • 当期应交所得税怎么计算
  • 评标专家评审费应该谁来付
  • 公司名下汽车过户给个人
  • 雨林木风 u盘
  • 工程公司更换单位怎么办
  • 引入人工智能
  • pavsrv51.exe - pavsrv51是什么进程 有什么用
  • 房产产权置换
  • 会计分录有哪几种形式
  • 年应税销售额包含哪些
  • php查询今天日期
  • phpstudy备份数据库
  • 卡洛里山脉
  • 预测编码方式
  • 母公司收取子公司管理费用比例
  • php 用户注册
  • 同一控制下企业合并发生的审计费用计入
  • 房地产开发企业增值税怎么算
  • ccna 试题
  • 目标检测现状
  • 花卉苗木栽培技术
  • vue的路由守卫有哪些钩子函数
  • 深度学习实战(十):使用 PyTorch 进行 3D 医学图像分割
  • 数学建模三个人谁最难
  • 小微企业的增值税税收优惠政策
  • c语言二级指针详解
  • 注册劳务派遣公司需要验资吗
  • 外贸企业申报出口退税资料
  • 综合所得内容有哪些
  • 租金算营业成本还是管理费用
  • 劳务费个税扣税
  • 购买备用品会计分录
  • 简述记账后的凭证修改方法
  • 财务会计该如何处理客户以个人账号转款到公司公账?
  • 常见数据库系统软件
  • 企业所得税和个人所得税都要交吗
  • 公司刚成立没有员工需要申报个税吗
  • 手机里面的发票怎么查
  • 个税专项附加扣除什么意思
  • 物业公司劳务外包
  • 一般纳税人怎样开3个点的专票
  • 汽车租赁公司怎么办理
  • 小规模应交增值税怎么算出来的
  • 工程项目开发的一般流程
  • 是不是根据营业执照查询
  • 公司法人可以变更给老人吗
  • sql server自动增长方式
  • win7开机启动
  • mac自带的看图软件怎么使用
  • linux查看du
  • solaris 11.4
  • linuxcp命令如何使用
  • win7 mysql
  • 老毛桃U盘启动盘工具安装Win8的详细图文教程
  • glColor3f影响纹理贴图 的思考
  • android游戏开发框架
  • linux升级python2.7
  • opengl perspective
  • nodejs爬虫技术
  • python win
  • 安卓全局替换
  • python自带的gui
  • 全国低保查询系统网站
  • 天然气入户安装收费标准2023
  • 山东省税务局网站首页
  • 简易计税项目能即开简易税率发票又开适用税率发票吗
  • 重庆税务自助取票地点
  • 什么是美国注册商标
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设