Unity-Unity3D与IOS交互开发

转自:http://sygame.lofter.com/post/117105_5df3bdf

在游戏开发中,很多时候会用到IOS的库功去获取某一些数据到unity游戏中或者在接入SDK的时候会经常用到数据的传递。当然unity提供了一个方法(UnitySendMessage)来把IOS中的数据回调到unity的游戏内部。下面我们不介绍这种方法,我们介绍直接在unity内部通过调用具有返回值IOS的方法把IOS中的数据传入unity中。

当然IOS中的NString类型不能直接传入unity中,我们需要把IOS的字符类型经过一些处理成字符类型后存入内存中然后再转成unity识别的string类型。其他的int、bool等基本类型不用特殊处理。


一、首先在IOS中我们需要一个NString类型处理函数。

char* _MakeStringCopy( const char* string)
{
    if (NULL == string) {
        return NULL;
    }
    char* res = (char*)malloc(strlen(string)+1);
    strcpy(res, string);
    return res;


二、然后就可以返回一切的NString类型到unity中了。下面是在unity中调用的函数。

const char* getUDID()
{
    return _MakeStringCopy([[APService registrationID] UTF8String]);


三、在unity中调用示例

  [DllImport("__Internal")]

private static extern string getUDID();  


  public static string GetUdid()
{
    return getUDID();
}


最后就能获取到需要的数据了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值