Ios AVCaptureSession在使用另一个应用程序,然后返回到原始应用程序后消失/销毁

Ios AVCaptureSession在使用另一个应用程序,然后返回到原始应用程序后消失/销毁,ios,automatic-ref-counting,avfoundation,avcapturesession,dealloc,Ios,Automatic Ref Counting,Avfoundation,Avcapturesession,Dealloc,我有一个视图控制器,它设置并运行AVCaptureSession。在用户捕获照片后,我对图像进行一些核心图形处理,以便将图像保存并上载到第三方服务 由于核心图形的处理需要一些时间,所以我决定在用户按下按钮拍摄照片时对其进行某种“欺骗” 我没有等待核心图形处理在屏幕上显示它们的最终照片,而是暂停AVCaptureSession,然后它的预览层只显示用户按下按钮时屏幕上的冻结帧 这对我来说一直都很好,但现在我有一个问题 当用户想要将最后一张照片分享给Instagram时,Instagram应用程序将

我有一个
视图控制器
,它设置并运行
AVCaptureSession
。在用户捕获照片后,我对图像进行一些
核心图形
处理,以便将图像保存并上载到第三方服务

由于核心图形的处理需要一些时间,所以我决定在用户按下按钮拍摄照片时对其进行某种“欺骗”

我没有等待
核心图形
处理在屏幕上显示它们的最终照片,而是暂停
AVCaptureSession
,然后它的
预览层
只显示用户按下按钮时屏幕上的冻结帧

这对我来说一直都很好,但现在我有一个问题

当用户想要将最后一张照片分享给Instagram时,Instagram应用程序将打开,用户将离开我的应用程序。一旦用户使用Instagram应用程序并返回到我的应用程序,屏幕就会变成白色,我假设这是因为
AVCaptureSession
和/或它与之交互的对象正在被破坏

问题是,用户仍然可以返回并将最终照片共享给其他服务,但普通用户甚至不会尝试这样做,因为“照片”(暂停的
预览层
)不再出现在屏幕上,他们会认为它已被删除


有没有一种方法可以防止这些
AVCaptureSession
对象被破坏,这样当用户返回到我的应用程序时,他们的照片看起来就不会从屏幕上被删除?

你不能捕获层的内容并显示它们吗?这样,你的应用程序就不必依赖于
AVCaptureSession
的生命周期。我正在寻找一种方法,让它依赖于AVCaptureSession的生命周期。好吧,正如你自己所看到的,你不能依赖它,因为当应用程序切换时它会被破坏。我想我希望有一个解决方案可以做到这一点。仍然不是内存管理大师:)如果其他人遇到这个。。我最后做了以下几件事:1。在VC 2中注册通知。设置notification observer的选择器,将新图像设置为屏幕3上的图像。切换到其他应用程序时,应用程序中的Post通知将重新激活。4.当用户返回应用程序时,将设置新图像。它并不完美,一些用户可能会注意到其中的差异,但大多数用户可能不会注意到。