位置: 编程技术 - 正文

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)

  • 如何在天猫平台抢茅台
  • 车船税是什么意思图片
  • 实收资本印花税率是多少啊
  • 生育津贴是否需要纳税
  • 季度申报所得税可以研发费加计扣除
  • 验钞机怎么做账
  • 金税盘清卡时间包括15号吗
  • 金融企业往来收入是指
  • 个人经营贷款利率是多少
  • 持有待售固定资产为什么不计提折旧
  • 公司转买旧车怎么过户
  • 法人费用报销怎么报销
  • 负债与递延收益的区别
  • 固定资产暂估入账的账务处理
  • 用于研发的设备会计分录
  • 收到第三方利息会计分录
  • 房租费用在本年内可以不摊销吗?
  • 上月增值税未申报本月能开票吗
  • 怎么查找企业核算报告
  • 本年度应收账款是否应该加起初
  • 运输企业营改增
  • 出口免税进项税额转出会计分录
  • 税种申报表样表
  • 在建工程的折旧费计入什么科目
  • 计提税金和缴纳税金的会计分录
  • 金融企业贷款利率
  • 销售货物结转成本会计分录
  • 如何解决win7系统不稳定
  • 转出未交增值税借方余额表示什么
  • 融资性租赁的优缺点
  • 保险多扣一个月
  • 变更营业执照中心怎么改
  • 企业所得税的销售收入包括哪些
  • 深红玫瑰鹦鹉多钱一个
  • random_state=123
  • php array add
  • php curl命令详解
  • 日期选择器的()属性表示选择器的粒度
  • 对外长期投资会计分录?
  • 多计提费用可以不用以前年度损益调整吗
  • 购买房屋用于出租属于投资行为吗
  • 怎么填专项扣除
  • mongodb删除文档命令
  • 工程开票金额大于结算金额怎么处理
  • 支出金额是什么
  • 坏账准备的应提数
  • 税控盘每年的服务费可以全额抵扣吗
  • 个人申请退税要交税吗
  • sql server 2005 win10
  • mysql数据表存储引擎
  • 安防工程的注意事项
  • 劳动合同要给税收吗
  • 收到发票应如何处理
  • 出口退税免抵退税额要交城建税吗
  • 通讯费计入哪个科目
  • 符合条件的有
  • 明细账示例图
  • 将sql语句的执行状态传递给主语言的是
  • linux系统安装yum
  • 自制简易手工
  • windows8触摸屏手势设置
  • debian openssh
  • linux ...
  • linux系统的
  • linux jack
  • windows7装进u盘
  • windows 8 build
  • linux系统磁盘管理的主要内容
  • win7系统谷歌浏览器打不开网页
  • cocos2dx 2.2.2
  • JavaScript splice()方法详解
  • 拖拽js实现
  • js数组如何定义
  • jquery选择器的优势有哪些
  • linux curl命令详解
  • python爬虫模拟浏览器
  • 成都交通官网限号查询系统
  • 税务稽查人员工作总结
  • 个体户注销还要交税吗?
  • 城镇土地使用税税率
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设