Unity 与IOS基本交互

Unity版本代码模版:

using UnityEngine;
using System.Collections;
using System.Runtime.InteropServices;

public class UIIosWifi : MonoBehaviour {

    //Unity将调用.m里的TestMsg()方法。
    [DllImport("__Internal")]
    private static extern void TestMsg();//测试信息发送

    [DllImport("__Internal")]
    private static extern void TestSendString(string s);//测试发送字符串

    [DllImport("__Internal")]
    private static extern string TestGetString();//测试接收字符串
    
    void Start () {
	
	}
    void UnityToIosVoid()
    {
        TestMsg();
    }
    void UnityToIosString()
    {
        TestSendString("Unity将数据发送给IOs String类型");
    }
    void UnityGetIos()
    {
      string IosGet = TestGetString();
      Debug.Log(IosGet);
 
分析:

然后写XCODE方法调用:

建一个.mm文件

extern "C" {
    void TestMsg(){
        NSLog(@"Msg received");
        
    }
    
    void TestSendString(void *p){
        NSString *list = [NSString stringWithUTF8String:p];
        NSArray *listItems = [list componentsSeparatedByString:@"\t"];
        
        for (int i =0; i<listItems.count; i++) {
            NSLog(@"msg %d : %@",i,listItems[i]);
        }
        
    }
    string  _GetWifiLevel(){
        //方法
        string char="123123123123";
        
        NSLog(@"signal %d", signalStrength);
        NSLog(@"xcode上结果wifi");
        return signalStrength;
        
    }
 
 

 
 


一个是Unity调用ios,第二个是Unity传值给ios方法,第三个是Unity获取ios方法的返回值。里面的参数根据需求进行更改,这就是个简单的模版。


猜你喜欢

转载自blog.csdn.net/m0_37583098/article/details/78253558