Memleak при использовании UIActivityViewController из SwiftUI - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь поделиться файлами из своего приложения. Я использую UIActivityViewController и модальное окно листа, чтобы показать это. Все работает идеально, но программа проверки утечек показывает одну утечку, которая возникает при закрытии модального окна общего доступа.

Вот простой пример:

    import SwiftUI
    import UIKit

    struct ShareView: UIViewControllerRepresentable {
        let activityItems: [Any]

        func makeUIViewController(context: Context) -> UIActivityViewController {
            let vc = UIActivityViewController(activityItems: self.activityItems, applicationActivities: nil)
            vc.excludedActivityTypes = [.addToReadingList, .assignToContact, .saveToCameraRoll, .markupAsPDF]
            return vc
        }

        func updateUIViewController(_ uiViewController: UIActivityViewController, context: Context) {
        }
    }

    struct ContentView: View {
        @State var show = false

        var body: some View {
            Button(action: {
                self.show.toggle()
            }) {
                Text("Push")
            }
            .sheet(isPresented: $show) {
                ShareView(activityItems: ["123"])
            }
        }
    }

После того, как общий вид закрывается перетаскиванием, для Например, я получаю утечку.

i get leak

Утечка не возникает, когда в ShareView передается пустой массив. ShareView вроде бы деинициализирован. Я что-то не так делаю?

...