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方法的返回值。里面的参数根据需求进行更改,这就是个简单的模版。