位置: 编程技术 - 正文

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)

  • 报关单境外收货人错了怎么办
  • 债券到期账务处理
  • 补贴收入如何入账
  • 资产减值损失在利润表怎么填列
  • 报废过期产品怎么做会计分录
  • 哪些属于不动产权
  • 环保公司开具发票怎么开
  • 材料实际成本的会计分录
  • 建安税由谁承担
  • 长期待摊费用当月增加当月摊销吗
  • 公司是否可以开电子发票
  • 增值税普通发票有什么用
  • 通信服务费计入什么科目
  • 自收自支事业单位
  • 成本分析总结报告
  • 房地产开发企业的土地使用权计入哪里
  • 补缴税款会计分录
  • 交付是不是法律行为
  • 投标保证金利息怎么做账
  • 坏坏狼故事绘本
  • macos使用技巧
  • linux 分享文件
  • php动态网站开发项目教程
  • 其他应付款怎么平账
  • 存货怎么预估
  • 增值税流转税是什么意思
  • 应收票据年末计息的分录
  • 已计提的存货跌价准备计入成本吗
  • siri怎么重置主人声音ios13
  • typescriptlang
  • 结转制造费用的账务处理
  • 单位应缴住房公积金
  • 新开企业如何在电子税务局操作
  • 私募基金成立的规模条件
  • 记账凭证附件粘贴
  • 研发辅助账汇总表
  • 女装淘宝店铺如何盈利
  • 汇算清缴银行手续费扣除比例是多少
  • 季报业务活动表怎么做
  • 无偿调入资产如何做账
  • 固定资产折旧提完了继续使用
  • 调研费属于什么会计科目
  • 汇算清缴补缴税款会计分录
  • 弥补以前年度亏损报表怎么填
  • 超市买太多东西怎么拿走
  • 域名 续费
  • 工人晚上加班的说说心情
  • 酒店的布草怎么铺
  • 购入不需要安装的固定资产会计科目
  • 代收收入
  • 差旅费的进项税额需要转出吗
  • 采购业务 货物收到 发票收到
  • 分公司与总公司的责任承担
  • 贸易公司的经营模式
  • 利用rpm安装软件包时,应使用命令选项
  • win8系统升级到win 10
  • centos7查看目录
  • U盘硬装WIN7 64位旗舰系统,是怎样练成的(妹子装机衔接篇)
  • centos6.6网络配置
  • win7开机黑屏怎么
  • linux使用yum
  • macbookpro屏幕显示
  • centos6 docker
  • win8.1系统激活
  • 系统相机打不开
  • win8的显示设置
  • 如何选择适合你的颂钵
  • linux find命令用法
  • 及将上市的手机
  • javaweb物流管理系统源码
  • CSS List Grid Layout 图片垂直居中
  • javascript运用
  • jquery选择器的基本语法
  • bash foreach
  • windows清除远程登录记录
  • unity find references in scene
  • python itcast
  • ecmascript新特性
  • ajax实现无刷新
  • 小规模纳税人一年500万一年怎么算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设