位置: 编程技术 - 正文

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)

  • 全国增值税专用发票计算机稽核网络系统工程
  • 为什么会有不同的课程定义
  • 应纳附加税是什么
  • 积分抵现是什么意思
  • 商品流通企业都交什么税
  • 年审和税审的区别是什么
  • 上月有留抵税额本月怎么申报
  • 小规模开普票一个季度不能超过多少钱是免税的
  • 分期付款没有发票吗
  • 结转增值税销项的账务处理
  • 支付刻制公司印章费
  • 没收租赁保证金开什么内容的发票
  • 对债务人取得债权是什么意思
  • 贴现利息应该计入哪个科目
  • 客户以旧料抵货款账务如何处理?
  • 企业自用房要交契税吗
  • 案例分析建筑业差额征税如何进行账务处理?
  • 社保不报的情况下保险报销吗
  • 所得税申报表中利润总额是怎样算出来的
  • 企业的其他业务收入主要核算
  • 盘盈对应的入账科目
  • 其他应付款和其他应交款区别
  • 刚成立的工业企业如何具体设计和考虑成本项目处理?
  • b4纸张尺寸
  • 给员工租房会承担什么责任
  • 生产成本包括什么科目内容
  • 其他业务成本属于成本类吗
  • windowsserver2019安装教程
  • php 静态变量
  • urlerror什么意思
  • 鸿蒙怎么设置默认系统
  • 本月未抵扣完的进项税是否转出
  • 印花税会计分录2023
  • 研发费用支出税前扣除比例
  • 夜晚的地球 (© NASA)
  • php canal
  • 补税的分录
  • php打包网站并在哪里打开
  • vue element ui教程
  • 来料加工企业转型是转成两个企业吗
  • 搬迁补偿费属于什么费
  • unix时间戳长度
  • 对标是啥
  • css中的hover属性
  • 前后端分离项目部署到服务器
  • 技术服务增值税申报表怎么填
  • 一般纳税人购进小规模纳税人的货物
  • 人力资源外包服务企业
  • 帝国cms如何判断图片有没有被使用
  • 为博客园开发了什么项目
  • 计提增值税的会计凭证
  • 成立一般纳税人的利弊
  • 小型商贸企业
  • spark sql add jar
  • 企业接管的方式有
  • 小规模纳税人附加税怎么算
  • 微信收款会计分录怎么写
  • 以前年度的费用忘记入账怎么办
  • 企业申请支付宝账号步骤
  • 预收物业费预收什么意思
  • 建筑工程公司收入来源
  • 资产负债表怎么算
  • mysql中的触发器
  • ubuntu顶部菜单栏
  • rhel6.5安装教程
  • linux怎么配置vim
  • win7系统清理c盘空间不足
  • win10系统打开安装程序没反应
  • apk防止反编译
  • 百分比的介绍
  • Quick cocos2dx-Lua(V3.3R1)学习笔记(十三)-----继续触摸事件之多点触摸
  • jQuery Password Validation密码验证
  • Unity3D Vuforia Android 相机聚焦模式设置
  • python的opencv
  • python通过编程求权重
  • 怎么打印纳税申报表带章的
  • 税务局不动产交易缴税方案
  • 除了增值税还要什么税种
  • 四川省地方税务局关于城镇土地使用税困难减免
  • 个人所得税的工资比实际的多
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设