Как я могу удалить локальный видеофайл после выбора из UIImagePickerController? - PullRequest
0 голосов
/ 02 июня 2018

В моем приложении пользователь выбирает видео из своей библиотеки с помощью UIImagePickerController.После того, как они отредактируют и выберут его, он будет воспроизводиться в UIView для их предварительного просмотра перед загрузкой.Моя проблема в том, что после того, как пользователь загрузил видео, я считаю, что оно все еще хранится в хранилище приложений.Я хочу удалить его из хранилища приложения после его загрузки в базу данных.Есть ли способ удалить videoURL или AVAsset после его использования.

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
    let videoURL = info[UIImagePickerControllerMediaURL] as! URL
    video = AVAsset(url: videoURL)
    let item = AVPlayerItem(asset: video)
    self.player = AVPlayer(playerItem: item)
    let playerLayer = AVPlayerLayer(player: player)
    playerLayer.frame = uploadButton.bounds
    playerLayer.videoGravity = .resizeAspectFill
    playerLayer.masksToBounds = true
    uploadButton.layer.addSublayer(playerLayer)
    uploadButton.isEnabled = false
    NotificationCenter.default.addObserver(forName: .AVPlayerItemDidPlayToEndTime, object: player.currentItem, queue: .main) { _ in
        self.player.seek(to: kCMTimeZero)
        self.player.play()
    }
    player.play()

    let uButton = UIBarButtonItem(title: "Upload", style: .plain, target: self, action: #selector(handleUpload))
    navigationItem.rightBarButtonItem = uButton
    newVideoURL = videoURL
    dismiss(animated: true, completion: nil)
}

Не совсем уверен, сохраняется ли видео в хранилище приложения, но я заметил, что оно занимает все больше места после каждого загружаемого видео.

Заранее спасибо.

...