1

我当前的代码能够显示 ActivityView,但不显示 Airdrop,但这不是主要问题,对此我深表歉意,但我无法真正修复一个,而不修复另一个......

func genCSV() -> String {
    return "field1, field2"
}

struct ActivityViewController: UIViewControllerRepresentable {

    var activityItems: [Any]
    var applicationActivities: [UIActivity]? = nil

    func makeUIViewController(context: UIViewControllerRepresentableContext<ActivityViewController>) -> UIActivityViewController {
        let controller = UIActivityViewController(activityItems: activityItems, applicationActivities: applicationActivities)
        return controller
    }

    func updateUIViewController(_ uiViewController: UIActivityViewController, context: UIViewControllerRepresentableContext<ActivityViewController>) {}
}

假设genCSV()基金实际上返回了有效的 CSV-Strings,我该如何使用它,将它与ActivityViewController发送生成的 CSV-File 结合起来(显然我仍然需要生成文件,这是我现在的主要问题)?

var body: some View {
        NavigationView {
            VStack {
                HStack {
                    Button(action: { //action that triggers the sheet }) {
                        Image(systemName: "square.and.arrow.up")
                            .resizable()
                            .scaledToFit()
                            .padding(.all, 50)
                            .frame(width: 150, height: 150)
                            .background(Color.gray.brightness(0.18).opacity(0.5))
                            .clipShape(Circle())
                    }
                    .sheet(isPresented: self.$viewModel.airdropVisible) {
                        ActivityViewController(activityItems: [URL(string: "www.apple.com")!])
                    }
                }
            }
        }
    }

这是我当前的 ContentView。任何帮助或指针表示赞赏,我搜索了很多谷歌结果,并没有真正找到一个好的答案。

剩下的一个问题是,Airdrop 甚至没有出现在ActivityViewController.

4

0 回答 0