gpt4 book ai didi

ios - 初次启动后如何请求用户允许发送本地通知?

转载 作者:行者123 更新时间:2023-11-28 07:24:47 25 4
gpt4 key购买 nike

我想在我的 SwiftUI 应用程序中使用本地通知,但我需要先获得用户的许可。然而,在 Apple 的文档中,我只看到有关在应用程序首次打开时请求许可的信息。

我有一个设置序列,当您第一次打开应用程序时会发生,该应用程序会引导用户设置他们的首选项,其中之一是通知。

到目前为止,我的设置是让用户在上一个屏幕(NotifPermissionScreen,见下文)上按“继续”,然后进入空白屏幕,唯一询问的是通知首选项。在此之后,我想加载不同的 View ,具体取决于它们是否允许通知。

任何帮助将不胜感激! :)

我正在使用 Xcode 11 beta 3 并在 SwiftUI 中制作我的应用。

struct NotifPermissionScreen : View {
var body: some View {

// Show notification preference message


if (notificationsAllowed) {
SetupScreen3()
} else {
SetupScreen4()
}
}
}

//注意:我不知道 notificationsAllowed 是否是一个真正的变量,但这段代码代表了我正在尝试做的事情的一般结构

最佳答案

我终于明白了!这是我所做的:

var body: some View {
if !hasPressedNotifButton {
Button(action: {

// Request permission to send notifications
self.center.requestAuthorization(options: [.alert, .sound])
{ (granted, error) in

// Hide this button by setting this @State variable to true
self.hasPressedNotificationsButton = true

if granted {
// Edit the user's data for later use
self.userData.wantsNotifications = true
}
}
}) {
Text("Set Notifications")
}
if self.userData.wantsNotifications {
WantsNotifsView()
} else {
NoNotifsView()
}
}
}

如果有人需要澄清这是如何工作的,请告诉我! :)

关于ios - 初次启动后如何请求用户允许发送本地通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56916919/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com