iOS和Unity交互之界面跳转

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

本文介绍了iOS和Unity交互,主要涉及两个界面之间的跳转.

如果对iOS和Unity交互传参方法不熟悉的朋友,可以参考我的另一篇文章
iOS和Unity交互之参数传递

一.程序启动入口.
  • main.mm

了解OC或者C的朋友一定知道main方法,这是整个程序的入口.以下是Unity转iOS工程后的main文件中的部分代码.

const char* AppControllerClassName = "UnityAppController";
int main(int argc, char* argv[])
{
    @autoreleasepool
    {
        UnityInitTrampoline();
        UnityParseCommandLine(argc, argv);

        RegisterMonoModules();
        NSLog(@"-> registered mono modules %p\n", &constsection);
        RegisterFeatures();

        std::signal(SIGPIPE, SIG_IGN);

        // 程序启动入口
        UIApplicationMain(argc, argv, nil, [NSString stringWithUTF8String:AppControllerClassName]);
    }

    return 0;
   }

根据代码得知,程序需要创建UnityAppController对象.那么,程序就来到了UnityAppController文件.
在UnityAppController.mm文件中的以下方法中添加打印:NSLog(@"%s",__func__);

- (id)init
- (void)startUnity:(UIApplication*)application
- (BOOL)application:(UIApplication*)application willFinishLaunchingWithOptions:(NSDictionary*)launchOptions
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
- (void)applicationDidBecomeActive:(UIApplication*)application

打印结果为:

2017-05-24 04:50:09.597338+0800 ProductName[5622:1888712] [DYMTLInitPlatform] platform initialization successful
2017-05-24 04:50:09.693476+0800 ProductName[5622:1888655] -> registered mono modules 0x100df3fa0
2017-05-24 04:50:09.714814+0800 ProductName[5622:1888655](标记) -[UnityAppController init]
2017-05-24 04:50:09.930542+0800 ProductName[5622:1888655] -[UnityAppController application:willFinishLaunchingWithOptions:]
2017-05-24 
unity使用多线程导致编辑器以及打包出来的项目卡死 阅读详情

相关推荐

UnityIOS交互

IOS端:使用Xcode创建一个新的OC工程,然后创建一个Cocoa Touch Class,Xcode会自动生成一个.m文件一个.h文件 废话不多说,上代码: ClassName.h: #import <Foundation/Foundation.h> NS_ASSUME_NONNULL_BEGIN @interface ClassName : NSObject //+表示共有,-表示私有 //(Type)变量名 +(ClassName *) instance; //显示一个IOS对话框

qq_43244501的博客 775

Unity +Bugly 实现bug收集以及分析

应用场景:Android+IOS 客户端收集异常反馈数据,方便维护。1:登陆Bugly官网,注册账号并“新建产品”,可以获取到一个“APP ID”,之后有用。2:下载插件:https://bugly.qq.com/v2/downloads,并导入项目中,注意插件中并未包含IOS的相关插件将:BuglyBridge/ios/BuglyBridge 文件夹拖到项目Plugins/IOS中,BuglyS...

he_wen_jian的专栏 5857

教程一:Unity发布iOS平台(真机调试)教程

教程一:真机调试证书 首先,你需要去申请一个苹果开发者账号,需要99美元哦。接下来就可以进行证书的创建了 一、打开网址:https://developer.apple.com  选择右上角的Member Center(会员中心)。   登录申请好的开发者账号:   进入右上角的证书界面  点击Certificates,进行证书申请 点

wjy47的专栏 3693

unity踩坑日记

花费了一天时间一直在找bug。 unity打包出来的程序,(我勾选了调试模式,因为的确在调试~)关闭时就会停止工作,因为涉及到线程一直怀疑自己写退出时候关闭线程的有问题。。。。。。但是看来看去没找到问题,就去看错误日志 Mono path[0] = 'E:/Project/GitProject/HiSocket/unity/output/1_Data/Managed' Mono config pa...

带酒书生的博客 4949

iOSUnity3d的交互实现

iOSUnity3d的交互实现 最近在公司写的项目是基于iOSUnity3d的,之前也写了不少的iOSUnity的项目,但是这次将两者结合开发还是第一次。项目的第一条功能需求就是:实现从iOS原生界面Unity跳转。 看似简单,但是却不知道怎么下手,修改Unity导出到iOS的封装好的代码是肯定的,但是至于改哪里,怎么改却是比较难。一般的coding一样,一上来先是各种找解决方案

foreverhyh58的专栏 1万+

Unity界面跳转iOS原生界面

实现Unity界面跳转iOS界面功能: 第一步,创建C#脚本 using System.Collections; using System.Collections.Generic; using UnityEngine; using System.Runtime.InteropServices; using UnityEngine.UI; public class TestJumpToiOS

elegentbeauty的博客 1461

UnityiOS原生交互开发入门篇 - 打开iOS设置

本文介绍了UnityiOS原生交互的实现方法。通过创建iOS原生插件UnityiOSNativePlugin.m文件,实现了调用系统设置界面的功能。在Unity中配置iOS平台并创建Plugins文件夹,导出Xcode项目后添加原生代码,再通过DllImport方式在Unity脚本中调用原生功能。最终演示了点击按钮成功跳转系统设置界面,展示了UnityiOS原生系统的无缝集成,为移动开发提供了跨平台内容与原生能力协同的解决方案。

Giver的博客 812

Unityios进行相册的一些交互

关于unity相册交互,其实很多人写过,包括大神雨松,但小妹我的这篇绝对也是原创,由于最近这个项目中搞了好久的这东西,所以打算写出来给大家分享一下,希望对大家有所帮助。 说说ios的大概的思路吧,首先在unity打开相册也就是调用_iosOpenPhotoAlbums,然后到ios判断自己的这个应用程序是否有权限打开相册,如果没有权限,就直接调用unity这边的PickImageCallBac

w53258896的博客 3520

Unity 实现跳转ios 设置界面

Unity 实现跳转ios 设置界面 一、功能需求 iOS网络设置检查,如果没有网络可能是用户选择关闭了 网络链接,ios可以从游戏内直接跳转到设置网络开关。 二、网络检测 直接上代码 public static bool HasNetwork() { return Application.internetReachability != Netw...

游戏小土匪 2460

<iOSUnity交互>之界面跳转

本文摘自cherish_joy :http://blog.csdn.net/cherish_joy/article/details/72770624 本文介绍了iOSUnity交互,主要涉及两个界面之间的跳转. 如果对iOSUnity交互传参方法不熟悉的朋友,可以参考cherish_joy的另一篇文章  iOSUnity交互之参数传递 http://www.jianshu.c

LuckyJoey的博客 1644

c语言写桌面程序unity,UnityiOS原生界面交互示例

注意上面的Main方法中出现的UnityAppController,该类就是作为控制类来实现UnityiOS上显示的功能,在Main方法中就是将该控制器作为参数传递,即Main方法之后就会进入该类执行。所以这是我们进入到UnityAppController.mm,来查看该类中的方法执行顺序,可以看到这里的代码结构OC的一般类的代码结构类似,除此之外还有一些C语言程序,作为相对底层中Unity...

weixin_39800387的博客 436

Unity与原生iOS融合——实现简单界面跳转

一:iOS界面跳转Unity界面:(1)打开Unity所发布出来的XCode工程;(2)找到如下文件: (3)修改如下所示: 详细说明: 找到(void)applicationDidBecomeActive:(UIApplication*)application这个方法,并将 的红框——自定义启动方法名; 然后在自定义启动方法中显示UI(不能手动拖动方式添加按钮),及实现点击跳转至Un

5294

Unity 添加ios原生弹窗UIAlertController + 跳转app自己的系统设置界面 (>=ios10)

直接上代码 static UIAlertController* uiSettingAlert = nil; void ShowSettingAlert(const char* title, const char* content, const char* leftTxt, const char* rightTxt) { if (uiSettingAlert == nil...

GrimRaider的专栏 1872

Unity iOS混合开发界面切换思路

Unity iOS混合开发界面切换思路 最近有很多博友QQ 私信 或则 留言联系我,请教iOSUnity界面之前相互切换的问题,源代码就不私下发你们了,界面跳转功能的代码我直接贴到下面好了,顺带说iOSUnity界面切换的思路。。。 思路 之前一篇文章里面只谈到了UnityiOS工程的融合,并没有谈到iOSUnity界面的切换,这里谈谈思路,Unity导出的iOS工程里面的结构大...

a1148342765的专栏 375

iOSUnity交互

软件版本:Unity5.3.4/Xcode8.1 1、Unity导出的iOS工程文件目录如下:                                 作为一名开发者,我们拿到这个工程的第一件事,就是找到整个程序的入口,在我们所认知的大多数语言的入口都是Main()函数,OC也不例外,在 Classes文件夹下:

吃葡萄不吐葡萄皮 3365

Unity打开网页

最近项目有访问网页的需求,记录下过程,以免以后忘记。。 主要还是UnityiOS、Android交互的问题,通过提供插件的方式给Unity调用。

我的博客 9909

Unity WebGL ios 跳转URL

WebGL跳转网址这个函数在安卓上可以用,IOS 不管用。

提莫队长 1280

Unity之如何把Unity项目嵌入原生IOS项目中

前言 现在的需求是合并IOS工程unity3d工程需要。 目前的方案有两种: 1.unity导出的ios工程嵌入IOS原生工程 2.IOS工程嵌入unity导出的IOS原生工程 两种方式各有优劣,下面来分析下 1.unity导出工程包含几个类库,脚本,需要修改一部分配置,如果ios原生工程是个空项目或者就几个简单页面,那么毫无疑问,是把原生的ios工程导入unity工程,这个非常简单,下一篇...

TxNet 4813

Unity跳转到系统设置界面的解决方案(安卓、IOS

Unity中,实现安卓IOS跳转到系统设置界面的方法;其中安卓是跳转到该应用的设置界面IOS的整个系统设置界面

u011229164的博客 814
上一篇: iOS开发之蓝牙使用
下一篇: iOS常见问题之苹果证书无法导出p12格式的文件
cherish_joy
博客等级 码龄12年 6粉丝 26原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值