サブビューがカメラ セッション (AVFoundation セッション) であるビューのスクリーンショットを撮る必要があるアプリを構築しています。私はこのコードを試しました:
CGRect rect = [self.containerView bounds];
UIGraphicsBeginImageContextWithOptions(rect.size,YES,0.0f);
CGContextRef context = UIGraphicsGetCurrentContext();
[self.containerView.layer renderInContext:context];
UIImage *capturedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
これにより、ビューを含む UIImage が効果的に取得されますが、カメラ セッションが黒であるだけです。
私はプライベートな方法を試してみましたが、UIGetScreenImage()
完全に機能しましたが、Apple がこれを許可していないため、使用できません。Appleのドキュメントでも試しましたが、同じです。レイヤーを使用して AVFoundation セッションまで問題を追跡しました。どうすればこれを達成できますか?アプリには、停止されたカメラ セッションである 2 つのビューを含むコンテナー ビューがあります。