using UnityEngine;
public class MyScript : MonoBehaviour
private void TestFunc(string content)
那么在oc中调用UnitySendMessage("MyTestObject", "TestFunc", "msg")
c#的TestFunc
方法就会执行。
如果有多个参数需要发送,推荐使用json格式。
oc调用c#注意事项:
1、需要依赖UnityFramework.framework
框架。
2、unity工程导出的xcode工程默认已经有UnityFramework.framework
。
3、如果是自己新建的xcode工程需要手动导入这个框架。
附:c#与oc数据类型映射:
Unity(c#) | Objective-C |
---|
int | int |
float | float |
bool | bool |
string | const char * |
long | long long |
要想在Unity界面上打开一个原生的UIWebView需要在unity界面上覆盖一个新的UIView及其UIViewController,原理是获取当前的unity场景(其实在IOS中也是一个UIViewController)的UIViewController,然后添加子页面和子控制器:
实现步骤如下:
上一篇主要说了将Unity集成到原生iOS应用程序中,集成之后肯定是要通信的,所以这篇来说一下Unity 和 iOS之间的通信。
1、iOS调用Unity的方法并传参数
在UnityFramework中提供的有专门的方法,因此我们只要调用就可以了。
首先在AppDelegate.h中声明一个调用方法,方便后面使用。
- (void)sendMessageWithName:(const char*)goName functionName:(const char*) functionName messa
本内容讲解IOS、Unity项目通信的方式,以及IOS如何生成一个unitypager包,供Unity安装使用。
Demo: https://github.com/LSnumber1/UnityAndIOSMessageDemo
Unity调用IOS方法
创建一个Xcode工程
依次点击File->New->Project
选择 Cocoa Touch Static Libr...
这是篇笔记文章,为了做ios att授权,参考了别的博客。不过unity与ios互调原理类似。
1,创建一个.mm文件,里面写ios代码,然后放到unity工程的Plugin/iOS文件夹下。脚本名字自定义,内容示例如下:
#import <Foundation/Foundation.h>
#import <AppTrackingTransparency/AppTrackingTransparency.h>
#import "UnityInterface.h"
extern