在以下这教程中介绍了如何将SwiftUI与Handoff结合使用之后,但它并不适用于我。经过多次尝试,OnContinueUserActivity似乎没有被调用。切换图标显示,但一旦点击它,什么都不会发生。我怎么才能解决这个问题?
import SwiftUI
struct Board: View {
@State var BoardId: String
var body: some View {
VStack{
Text("Board: \(BoardId)")
}.onContinueUserActivity("bundleIdentifier.Board", perform: { userActivity in
if let Board = userActivity.userInfo?["Board"] as? String {
// Load handoff page
self.BoardId = Board
}
logUserActivity(userActivity, label: "on activity")
})
.userActivity("bundleIdentifier.Board", element: BoardId) {Board, activity in
let bundleid = Bundle.main.bundleIdentifier ?? ""
activity.addUserInfoEntries(from: ["Board": BoardId,
"setby": bundleid])
logUserActivity(activity, label: "activity")
}
}
}
struct Board_Previews: PreviewProvider {
static var previews: some View {
Board(BoardId: "NaN")
}
}
func logUserActivity(_ activity: NSUserActivity, label: String = "") {
print("\(label) TYPE = \(activity.activityType)")
print("\(label) INFO = \(activity.userInfo ?? [:])")
}发布于 2022-03-24 13:10:41
对于人们来说,将来会遇到这种情况,迅捷公司有了新的实现方法,用于从通用链接(或深层链接)接收url --它不再是基于continue useractivity的方法
@main
struct YouApp: App {
var body: some Scene {
WindowGroup {
ContentView()
.onOpenURL { url in
print(url)
}
}
}
}就像这样。
https://stackoverflow.com/questions/65280876
复制相似问题