我正在使用 来ShareLink共享FileDocument包含字符串的。符合FileDocument协议Transferable。
这是 FileDocument 结构:
struct TransferableDocument: FileDocument, Transferable {
static var transferRepresentation: some TransferRepresentation
{
DataRepresentation(exportedContentType: .text) { log in
log.convertToData()
}
}
// tell the system to support only text
static var readableContentTypes: [UTType] = [.text]
// by default the document is empty
var text = ""
// this initializer creates a empty document
init(initialText: String = "") {
text = initialText
}
// this initializer loads data that has …Run Code Online (Sandbox Code Playgroud) 使用ShareLink会显示“共享”按钮,因此当用户点击该按钮时,它会打开“共享”弹出窗口。
ShareLink(item: data, subject: Text("Subject"), message: Text("Message"))
Run Code Online (Sandbox Code Playgroud)
我想以编程方式截屏,然后在共享弹出窗口上共享。当用户点击 ShareLink 按钮或以编程方式打开 SharePopup 时,有什么方法可以执行操作,就像我们以前在 Swift 中作为 UIActivityController 所做的那样?
我想使用 ShareLink 共享通过异步函数的 API 调用生成的 URL。
\n我尝试过类似的方法,但它不起作用:
\nShareLink (item: Task {await getSharingURL()} ) \n { Image(systemName: "square.and.arrow.up") } \nRun Code Online (Sandbox Code Playgroud)\n在苹果的文档中他们说:
\n\n\n有时,您的应用共享的内容\xe2\x80\x99 无法立即可用。当您需要异步操作(例如网络请求)来检索和准备内容时,可以使用 FileRepresentation 或 DataRepresentation。
\n
https://developer.apple.com/documentation/SwiftUI/ShareLink
\n但我不确定如何使用它,并且希望有任何例子。
\n