位置: 编程技术 - 正文

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)

  • 所得税退税的会计处理方法
  • 我国现行的增值税属于什么
  • 应交税费应交增值税减免税款
  • 增值税留抵税务处理办法
  • 企业对外投资收益税收
  • 企业所得税季度申报填写示例
  • 小规模纳税人免征增值税政策
  • 小规模纳税人代理记账一般多少钱
  • 企业的房屋是否能确认为存货?为什么?(简单描述即可)
  • 工业企业辅助生产费用的分配方法
  • 存货入账价值计算公式
  • 别人开业送的花怎么说
  • 以公允价值计量且变动计入其他综合
  • 银行汇兑计入哪个会计科目?
  • 增值税专用发票利润怎么交税
  • 开普票时开票码怎么开
  • 招待客户产生的住宿费
  • 增值税季度不超过30万
  • 什么是现金购房
  • 法人股东分红如何申报所得税
  • win10同步账户
  • 在标题栏显示完整页面
  • php变量底层实现
  • 电子设备摊销额怎么算
  • scureapp.exe - scureapp是什么进程 有什么用
  • 在php中,字符串有哪些表示形式
  • 冲回以前年度计提的坏账准备
  • 高新技术企业研发费比例
  • windows11自带录屏怎么使用
  • 彻底清理缓存
  • 企业所得税的纳税人包括哪些
  • 商业企业积分赠商品如何计算企业所得税
  • 黄石国家公园的建立意义
  • php遍历结果集
  • 最新版本金铲铲强势阵容
  • php实现的http请求封装示例
  • 支付版权费用账号是什么
  • sql批量替换值
  • java获取resources下文件路径
  • 高速费会计分录怎么写
  • 固定资产折旧方法和计算公式
  • 入股资金打入公司账户
  • 一般劳务报酬个人所得税退税吗
  • 企业所得税的计提
  • 工业企业制造费用具体怎么摊
  • 确认收入结转成本可以写在一张凭证上吗
  • 物业费的会计处理
  • 出售金融商品的增值税计税依据
  • 投入产出法如何申报
  • 公允价值变动损益和投资收益区别
  • 其他应收款核算什么
  • 两家公司的钱混着用怎么做账
  • 长期待摊费用的二级科目有哪些
  • 月末结转销售会计分录
  • 固定资产折旧四种方法的优缺点
  • 税额抵减的账务处理
  • 会计从业人员信息查询
  • 年度汇算清缴交税怎么做账
  • 应收的货款
  • 新组建的公司该怎样开展工作
  • mysql5.7免安装版
  • 如何ie8升级到10
  • windows10周年纪念版
  • pvlsvr.exe - pvlsvr是什么进程 有什么用
  • windowsxp打不开网页怎么办
  • win10正式版激活码
  • TestOpenGL
  • Windows下的写字板功能是
  • cocos2dx 不规则按钮的实现
  • 用球体模拟天空的游戏
  • js面向对象的几种方式
  • cmd 远程登录
  • onkeyup,onkeydown和onkeypress的区别介绍
  • unity反射效果
  • 批处理清空文本内容
  • Android开发工具
  • javascript中匿名函数
  • jquery中on
  • 江西公安电子证件
  • 地税审计税务稽查局职责
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设