【原】Unity3D之IOS Document

很多unity开发者比较纠结IOS document操作,本文将以读取document下的图片为例,实现Document扫盲,此篇为下一篇续集,document下的图片是拍照完成后保存的。保存图片到document操作如下:

-(void)SavePngToDocument:(UIImage*)img{
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,     NSUserDomainMask, YES);//获取document路径
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:@"pic.png"];//拼接字符串 图片名称为pic
    NSData *imageData = UIImagePNGRepresentation(img);//UIImage到NSData格式转换
    [imageData writeToFile:savedImagePath atomically:NO];//生成图片
}

unity3d中通过如下操作获取Document文件路径

    public string JsonPath
    {
        get{
            string    path=null;
            if(Application.platform==RuntimePlatform.IPhonePlayer)//判断平台
            {
                path= Application.dataPath.Substring (0, Application.dataPath.Length - 5);//ios 平台 就会获取documents路径
                path = path.Substring(0, path.LastIndexOf('/'))+"/Documents/";    
            }
            else
            {
                path=Application.dataPath+"/GameData/";//pc平台 获取当前工程GameData/的路径    GameData需要自己新建
            }
            return path;
        }     
    }


通过WWW加载图片

IEnumerator InstanceTexture(string fileName)
 {
        string path="file://"+JsonPath+fileName;
        print(path);
        WWW wwwTexture=new WWW(path);
        yield return wwwTexture;//注意 当用这种wwwTexture.texture 方式获取图片时,使用完了之后切记wwwTexture=null;  Resources.UnloadUnusedAssets() 否则大量使用时,内存一直增加。这样起到一个很好的回收作用
}


另外介绍一款工具 ITools windows版可以查看app包的Document文件夹

posted @ 2012-07-10 23:46  U_探索  阅读(2894)  评论(0编辑  收藏  举报