【原】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文件夹