Unity游戏在IOS上崩溃,但在Android上完美运行

时间:2019-01-14 21:03:44

标签: c# android ios unity3d crash

我制作了一个应用程序,用于拍摄屏幕图片,并将其保存在Gallery中,其名称与我使用DateTime类和自己的前缀给出的名称相同。 Android上的代码运行完美,当您按下按钮时,它将截屏并完成所有操作。但是故事在iOS上并不相同。只要按下按钮,它就会崩溃。这是代码:

Flash.SetActive(true); 

RenderTexture rt = new RenderTexture(resWidth, resHeight,   24);          
cam.targetTexture = rt;  

Texture2D screenShot = new Texture2D(resWidth, resHeight, TextureFormat.RGB24, false);  

cam.Render();  

RenderTexture.active = rt;  
screenShot.ReadPixels(new Rect(0, 0, resWidth, resHeight), 0, 0);  
cam.targetTexture = null;  
RenderTexture.active = null;  
Destroy(rt); 

byte[] bytes = screenShot.EncodeToPNG();

filename = ScreenShotName(resWidth, resHeight);  
FullSharePath = "/storage/emulated/0/GarderobaShots/" + filename + ".png";  

Texture2D textu = new Texture2D(900,1320, TextureFormat.RGBAFloat, false);  
textu.LoadImage(bytes);  
textu.Apply();  

spr = Sprite.Create(textu ,new Rect(0.0f, 0.0f, textu.width, textu.height), new Vector2(1f, 1f), 100.0f);  
ShareAbleObject.transform.GetChild(1).gameObject.GetComponent<Image> ().sprite = spr;  

ShareAbleObject.SetActive(true);  
NativeGallery.SaveImageToGallery(textu, "AmazingGirlsShots", filename + ".png");  
takeHiResShot = false;

代码的快速介绍它使用我拥有的某些相机(较小且具有不同的画布(仅文字))切换场景的MainCamera,然后激活我称为Flash(在屏幕上为白色Flash)的对象,单独关闭之后,它将在屏幕上渲染纹理并将其保存在

Texture2D textu

“完整共享”路径是此文件存储的路径,因此用户可以共享或从游戏中查看它。

NativeGallery.SaveImageToGallery(textu, "AmazingGirlsShots", filename".png");

这是我为ios和android所使用的插件,它刷新图库以在图库中显示图像,否则,它只是在手机中的某个地方,我认为这可能不是问题,因为它被许多人使用,作为检查插件。

1 个答案:

答案 0 :(得分:0)

请确保在 Info.plist 中设置权限隐私设置

enter image description here