Swift 3 本地通知未触发

2024-03-24

我有以下设置,并且根本没有通知被触发。

基于堆栈上的其他类似问题,我为每个请求添加了唯一标识符,并将正文添加到了内容中。

我有这个请求用户许可的功能。

    func sendIntNotifications()
        {
            //1.  Request permission from the user
            UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .badge, .sound], completionHandler:
                {
                    (granted, error) in

                    if granted
                    {
                        print ("Notification access granted")
                    }
                    else
                    {
                        print(error?.localizedDescription)
                    }

                    UNUserNotificationCenter.current().delegate = self
                })
// This function has a lot of other code that then calls this function to set multiple notifications :


            for daysInt in outputWeekdays
            {
                scheduleActualNotification(hourInt: hourInt, minuteInt: minuteInt, dayInt: daysInt)
            }
        }

这些是主要功能:

func scheduleActualNotification(hourInt hour: Int, minuteInt minute: Int, dayInt day: Int)
    {
        // 3.1 create date components for each day
        var dateComponents = DateComponents()

        dateComponents.hour = hour
        dateComponents.minute = minute
        dateComponents.day = day

        //3.2 Create a calendar trigger for that day at that time
        let trigger = UNCalendarNotificationTrigger(dateMatching: dateComponents,
                                                    repeats: true)

        //3.3 Message content
        let content = UNMutableNotificationContent()
        content.title = "Test Title"
        content.body = "Test body"
        content.badge = 1

        // 3.4 Create the actual notification
        let request = UNNotificationRequest(identifier: "bob \(i+1)",
                                            content: content,
                                            trigger: trigger)
        // 3.5 Add our notification to the notification center
        UNUserNotificationCenter.current().add(request)
        {
            (error) in
            if let error = error
            {
                print("Uh oh! We had an error: \(error)")
            }
        }

    }

该功能是当这个应用程序打开时接收通知

func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void)
{
    completionHandler([.alert, .sound]) //calls the completionHandler indicating that both the alert and the sound is to be presented to the user
}

也没有错误哈哈!

Edit :

因此,从用户界面中,我选择了 2350 以及周六和周日。我预计周六和周日都会在 2350 发送通知。

I did print(daysInt)。第一个值为 1,第二个值为 7,这与预期一致。其次,我进入了函数scheduleActualNotification小时的值为 23,分钟的值为 50,正如预期的那样。

谢谢你!


因此,经过几周的挫折后,这就是解决方案:

Replace dateComponents.day = day with dateComponents.weekday = day. .day是一个月中的某一天,而.weekday是星期几!

也不要使用dateComponents.year = 2017因为这导致通知无法触发。

通知现在工作得很好!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swift 3 本地通知未触发 的相关文章

  • 应用程序因使用私有 API“commentText”而被拒绝

    我的应用程序更新刚刚被拒绝 并显示以下消息 您的应用程序使用或引用以下非公共 API 评论文本 我搜索了 StackOverflow 以了解如何使用 nm 和 otool 来检查我的库中的私有 API 但我无法让它工作 另外 我有一种轻微的
  • Xamarin 没有安装的配置文件与安装的 iOS 签名身份匹配

    我想知道是否可以在 ios 设备上编译 Xamarin 应用程序 使用 Visual Studio for mac 而无需成为开发人员 费用为 99 美元 年 因为当我尝试在 iPhone 上构建项目时出现此错误 Xamarin iOS C
  • AFNetworking 的 setImageWithURLRequest 在滚动后在错误的单元格中设置图像(iOS、Swift)

    我使用表dequeueReusableCellWithIdentifier and afnetworking uiimageview 我的一些细胞有图像 有些则没有 如果我在加载图像之前滚动表格 成功块会将图像放入重复使用的错误单元格中 例
  • 文本末尾的空格在右对齐 UITextField 中不可见

    我有一个右对齐的UITextField 最初编辑时 文本末尾不会出现空格 我用这个解决了this https stackoverflow com q 19569688 1971013 替换 与不间断的 u00a0 然而 上面仅在编辑文本字段
  • 如何通过情节提要向导航栏添加后退按钮?

    我现在很困惑 我在网上到处都看到添加自定义后退按钮的教程 但我什至似乎无法启动默认按钮 在我的 MainViewController 中 我有performSegueWithIdentifier 然后在另一端 我希望导航栏在左侧有后退按钮
  • Apple 如何通知 iOS 应用程序内购买 (IAP) 退款?

    我在我的应用程序中成功实现了 Apple iOS IAP 并在沙箱中进行了测试 效果很好 我担心用户可能会通过 IAP 购买商品 将其下载到我的应用程序中 然后向 Apple 投诉并获得退款 没有明显的方式将退款报告给我的应用程序 它们是否
  • 如何确定 NSURLSessionTask 请求何时开始?

    I use NSURLSessionTask我正在尝试监视我的一些 HTTP 请求需要多长时间 我可以监视什么委托方法 或其他方法 NSURLSessionTask实际上提出了最初的请求 如果这是一个NSURLConnection里面一个N
  • iOS:在代码中访问 app-info.plist 变量

    我正在开发通用应用程序 并且希望访问代码中 app info plist 文件中存储的值 原因 我使用以下方法从故事板动态实例化 UIViewController UIStoryboard storyboard UIStoryboard s
  • SWIFT:+[CATransaction Synchronize] 在解码 HTML 实体时在事务中调用

    我正在制作一个获取博客 JSON 内容的应用程序 博客文章的标题显示在 tableView 中 获取的标题是 HTML 编码的 所以我用这段代码解码了它们 func configureCell cell UITableViewCell at
  • 枚举 NSString 的最佳方法

    我正在寻找枚举 objc 对象 例如 NSString 的方法 我记得 Xcode4 版本中有一个新功能 它提供了一种新的 enum 方法 但不清楚 有人知道吗 好吧 我自己回答 我想我犯了一个错误 这就是我上面提到的新功能 typedef
  • Swift 4 使用随机密钥解码嵌套 JSON [重复]

    这个问题在这里已经有答案了 我是 Swift 4 的新手 正在尝试从 Wikipedia API 解码此 JSON 我正在努力定义一个结构 因为我发现的所有示例 教程都仅嵌套 1 2 层深度 除此之外 当其中一个密钥是随机的时 如何解码数据
  • 横向 xib 显示为纵向

    我有一个视图控制器和单独的纵向和横向笔尖文件 旋转时 我加载相应的笔尖 方法 shouldAutorotateToInterfaceOrientation and willRotateToInterfaceOrientation 接到电话
  • 如何使用Appium获取ios中的应用程序信息,例如应用程序版本、设备操作系统版本?

    我正在使用 appium 测试应用程序并将测试输出集成到 testrail 中 我需要在 testrail 中添加设备和应用程序信息 在 Android 中 我可以使用 adb 命令获取应用程序和设备信息 例如设备型号 设备版本和应用程序版
  • 禁用将应用程序窗口置于前面。关闭另一个窗口后

    我有包含 2 个 NSWindowController 的 OSX 应用程序 我的问题可以通过以下几个步骤来描述 使用 2 个窗口启动应用程序 选择另一个应用程序的窗口 将其中一个窗口放在另一个应用程序窗口前面 第二个窗口将保留在底部 关闭
  • 为什么在快速合并两个视频或更改背景音乐后视频变成黑屏?

    在我的 ios 应用程序中 我想合并两个视频并更改背景音乐 我尝试过 对于普通视频来说效果很好 但是 当我选择任何延时视频 然后尝试合并或更改背景音乐时 视频变成全黑屏 对于我的应用程序 我使用 swift 4 2 和 xcode 10 我
  • Coredata错误setObjectForKey:对象不能为nil

    我正在尝试检查我的核心数据存储中是否有任何数据作为我的应用程序的恢复类型 基本上 如果用户处于最终视图 则 coredata 中会有一些数据不断更新 因此 他们处于最终视图中 然后应用程序崩溃 或者他们将其置于睡眠状态 然后应用程序从内存中
  • 在React-native中,如何更改NavigatorIOS的样式

    在react native中 如何更改NavigatorIOS的样式 例如背景颜色 谢谢你 var speedNews React createClass render function return
  • 将 Objective-C 框架 (CocoaPod) 导入 Swift?

    我正在尝试导入libjingle peerconnection框架到我的 Xcode 项目中 但由于某种原因 我无法使用以下命令导入 Objective C 标头import RTCICEServer在 Swift 源文件中 我尝试使用头文
  • 去除iOS输入阴影

    在 iOS Safari 5 上 我必须遵循输入元素 顶部内部阴影 我想删除顶部阴影 错误 webkit appearance不保存 目前的风格是 input border radius 15px border 1px dashed BBB
  • 如何检测文本是否可读?

    我想知道是否有一种方法可以告诉给定的文本是人类可读的 我所说的人类可读的意思是 它有一些含义 格式就像某人写的文章 或者至少是由软件翻译器生成的供人类阅读的文章 这是背景故事 最近我正在制作一个应用程序 允许用户将短文本上传到数据库 在部署

随机推荐

  • 如何在表单对话框中接收附件?

    我目前有一个机器人对话框 它请求并接收用户的附件 我想将其转换为表单对话框 因为我认为这更适合 请向我发送文档1 直到文档N 您能给我指出一个接收用户附件的表单对话框的示例吗 我读到 FormFlow 现在支持附件 https github
  • node-postgres 是否支持多个结果集

    我有一个返回多个结果集的 PostgresQL 函数 我可以毫无问题地在 net 中提取这些结果集 所以我知道我的函数可以正常工作 但我在使用 node postgres 时遇到了麻烦 结果对象返回一个包含 7 个项目的数组 该数组与返回的
  • 更改 Kubernetes docker-for-desktop 集群网络 ip

    我正在尝试在 docker for desktops 上配置 Kubernetes 并且想要更改分配给容器的默认网络 示例 默认网络是10 1 0 0 16但我想要172 16 0 0 16 I changed the docker net
  • 无法在 ViewComponent 中加载脚本

    我创建了一个ViewComponent其中显示一个Table需要一些插件来启用特定功能 在 的里面ViewComponent我尝试创建一个特定的部分 section DataTableScripts 不幸的是我发现一个ViewCompone
  • 复制和区分表单的各个部分

    更新 使用colecmc提供的代码 谢谢 我更新了codepen 我喜欢添加 date now 的方式 但我只想增量增加 我不确定如何将其应用到这个函数中 我尝试了 zer00ne 的索引增量 但我做错了 let cloneList ind
  • 在 jenkins 中完全跳过执行 shell 步骤

    我似乎无法在 Jenkins 中运行构建执行 shell 步骤 我过去曾在 Windows 上与 Hudson 合作 并且能够毫无问题地创建 shell 批处理步骤 但我似乎在这里遗漏了一些东西 这是一个全新的 jenkins 安装 我进入
  • 为什么 PHP 错误打印两次?

    Summary 令人惊讶的是我在谷歌或SO上找不到任何关于此的信息 当我在 PHP 中引发异常时 它会在我的控制台中出现两次 并包含错误消息和堆栈跟踪 第一次打印时显示 PHP Fatal error 第二次打印时仅显示 Fatal err
  • “用户正在输入消息”功能...?

    只是要指出 我指的是用 PHP jQuery 编写的聊天系统 您可以在底部看到 用户正在输入消息 我尝试了很多方法来完成它 但都失败了 我构建了自己的用 PHP MySQL Ajax jQuery 编写的聊天系统 我并不是要求某人为我编写该
  • 使用 Excel 宏 VBA 在 Excel 范围内查找行的最快方法

    我有一个 Excel 电子表格 sheet2 其中记录的数量约为 100 万条 我正在迭代这些记录 并且对于每次迭代 我都会将一行选定的列与sheet1 中大约2000 条记录的另一个范围进行比较 rangeA 1 Million rows
  • 在 Ember-CLI 内升级 Ember

    我刚刚创建了一个新的Ember CLI http www ember cli com app v0 1 12 并注意到 Ember 的引用版本是 v1 8 1 bower json 我想得到最近发布了1 10 http emberjs co
  • 在scala中使用正则表达式提取字符串

    我有一个用例 我想从 scala 的输入中提取某些字符串 我的输入字符串看起来像 asdwf ssdf as232 ss ABC xxx sdfsf234 sdaf 我想提取xxx after ABC 我尝试定义正则表达式匹配模式 val
  • WPF 控件是否在其绑定中使用弱事件?

    当我在 WPF 中使用数据绑定时 我的目标控件正在侦听绑定源上的事件 例如 我可能有一个ListView http msdn microsoft com en us library system windows controls listv
  • foreach 中对 Dictionary 的解构

    在 C 7 中是否可以在字典的 foreach 循环中使用解构 像这样的事情 var dic new Dictionary
  • Objective-C 前向调用:

    我经常做这样的事情 CoolViewController coolViewController CoolViewController alloc init self navigationController pushViewControll
  • VBA 函数避免使用 If 语句

    我正在构建一个非常复杂的 VBA 工作簿 运行大部分代码的问题之一是性能 我有一个内置函数 或多或少可以执行以下操作 Public Function zzz xxx as String as String if xxx apple then
  • 如何在 gradle.properties 文件中声明列表?

    当我尝试在 gradle properties 文件中编写类似的内容时 defaultTasks deploy 我收到下一条消息 BUILD FAILED FAILURE Build failed with an exception Wha
  • 绝对导入:React 和 Typescript

    背景 我有一个使用引导的 React 应用程序create react app和打字稿 随着应用程序的增长 goal 我想实现绝对导入 我正在使用 VS Code Visual Studio Code 只需很少的配置 我就可以让 TS 和
  • template-id 与任何模板声明都不匹配

    我遇到了令人沮丧的编译器错误 我似乎无法解决 这与模板专业化有关 但我看不出有什么问题 include thread lock guard inl 23 error template id lock guard lt gt for thre
  • 如何在 Sass 中强制 CSS 变量为整数?

    如果这是一个简单的问题 请原谅我 但我正在 CodePen 上解决这个问题 并且不知道发生了什么 我有代码 root ile 10 for i from 0 to var ile 问题是 Codepen 声称 var ile 不是整数 嗯
  • Swift 3 本地通知未触发

    我有以下设置 并且根本没有通知被触发 基于堆栈上的其他类似问题 我为每个请求添加了唯一标识符 并将正文添加到了内容中 我有这个请求用户许可的功能 func sendIntNotifications 1 Request permission