카카오의 친구 정보를 받아서 Unity3D로 값을 넘겨 줄때 Json 으로 변환 하여 NSString 을 넘겨 주는 방식으로 하다 보니 


malloc error이 발생 하였다... 


해결 방법은


char *MakeStringCopy(const char* string) {

    if (string == NULL)

        return NULL;

    char* res = (char*) malloc (strlen(string) + 1 );

    strcpy (res, string);

    return res;

}


extern "C" {

    const char *_GetFriendInfoList() {

        

        

        NSString *JSONString = @"";

        NSData *jsonData = [NSJSONSerialization dataWithJSONObject:[[DataManager manager] friendList]

                                                           options:0

                                                             error:nil];

        if (!jsonData) {

            NSLog(@"Error");

        } else {

            

            JSONString = [[NSString alloc] initWithBytes:[jsonData bytes] length:[jsonData length] encoding:NSUTF8StringEncoding];

            NSLog(@"JSONString = %@",JSONString);

            return MakeStringCopy([JSONString UTF8String]);

        }

        

        return MakeStringCopy([JSONString UTF8String]);

        

    }

    float getTest() {

    return 0.5f;

    }

}

Unity3D 에서 plyerPrefs 를 관리 할수 있게 singleTon으로 따로 묶어서 관리 하기 위해서 만들었다~!

소스는 아래 참고 입니다.~


using UnityEngine;

using System.Collections;


public class CPlayerPrefs : MonoBehaviour {


    private static CPlayerPrefs _instance;  

    public static CPlayerPrefs Instance  

{   

get  

{   

            if (_instance == null)  

_instance = new CPlayerPrefs();

                return _instance;  

        }  

    }  

 

    

    public void OnApplicationQuit()

    {

        _instance = null;

    }

 

    public int _mNoticeVal;

 

    public int mNoticeVal

    {

        get

        {

if(PlayerPrefs.HasKey("NoticeVal")) {

                 _mNoticeVal = PlayerPrefs.GetInt("NoticeVal");

else {

_mNoticeVal = 0;

}

                return _mNoticeVal;

   }

   set

        {

            _mNoticeVal = value;

            PlayerPrefs.SetInt("NoticeVal", _mNoticeVal);

        }

    }

}

+ Recent posts