前提・実現したいこと
実現したいことは、写真を複数枚同時に取得することです。
UIImagePickerControllerでは一枚しか取得できないので、PHPickerViewControllerを使用しました。
しかしPickerを閉じるとメモリーリークを起こします。
ImagePickerのライブラリを複数入れてみましたが、同様にメモリーリークを起こしていました。
これは私のコードが原因なのでしょうか?
それともSwift, Xcode側の問題なのでしょうか?
UIImagePickerControllerではメモリーリークはしませんでした。
コード
import UIKit import PhotosUI class ViewController: UIViewController { @IBAction func showImagePicker(_ sender: Any) { var config = PHPickerConfiguration() config.selectionLimit = 4 config.filter = .images let picker = PHPickerViewController(configuration: config) picker.delegate = self present(picker, animated: true, completion: nil) } } extension ViewController: PHPickerViewControllerDelegate { func picker(_ picker: PHPickerViewController, didFinishPicking results: [PHPickerResult]) { picker.dismiss(animated: true, completion: nil) } }
Apple のバグっぽいですね…。
https://stackoverflow.com/questions/64990244/seeing-memory-leaks-from-phpickerviewcontroller
https://stackoverflow.com/questions/65857468/is-this-the-proper-way-to-use-phpicker-in-swiftui-because-im-getting-a-lot-of
あなたの回答
tips
プレビュー