为什么我的本地通知在 iOS 10 中没有在前台触发?

2024-02-19

我试图理解为什么本地通知没有显示在前台。我相信我添加了所有正确的代码来允许此功能,但当我的应用程序位于前台时没有显示横幅。

这是我添加的内容AppDelegate.swift:

import UserNotifications

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterDelegate
{
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool
    {
        UNUserNotificationCenter.current().requestAuthorization(options: [UNAuthorizationOptions.alert, UNAuthorizationOptions.sound, UNAuthorizationOptions.badge]) { (willAllow: Bool, error: Error?) in

            if willAllow == true
            {
                // Do something
            }

        }

        UNUserNotificationCenter.current().delegate = self

        // Override point for customization after application launch.
        return true
    }

    func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void)
    {
        print("GO IN HERE")
        completionHandler(.alert)
    }

    func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void)
    {

    }

}

My ViewController.swift:

override func viewDidLoad()
{
    super.viewDidLoad()

    let content: UNMutableNotificationContent = UNMutableNotificationContent()
    content.sound = UNNotificationSound.default()
    content.subtitle = "This is a test"

    let trigger: UNTimeIntervalNotificationTrigger = UNTimeIntervalNotificationTrigger(timeInterval: 5, repeats: false)

    let request: UNNotificationRequest = UNNotificationRequest(identifier: "timerDone", content: content, trigger: trigger)

    UNUserNotificationCenter.current().add(request, withCompletionHandler: nil)
}

当我的应用程序第一次启动时,我确实看到了一个权限警报,允许我的应用程序推送通知,但我根本没有看到任何通知。

我确实看到了日志输出进入这里, so willPresent正在被呼叫。

我还缺少其他东西吗?


func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    
    
    let center = UNUserNotificationCenter.current()
    center.delegate = self
    
    UNUserNotificationCenter.current().requestAuthorization(options: [.alert,.sound]) {(accepted, error) in
        if !accepted {
            print("Notification access denied")
        }
    }
}

在 AppDelegate 中添加以下内容:

func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {

    
    completionHandler( [.alert, .badge, .sound])
}

func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
    completionHandler()
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我的本地通知在 iOS 10 中没有在前台触发? 的相关文章

  • iOS 电池监控 Swift

    我已将监控设置为启用 但模拟器和设备中的电池电量仍然为 1 UIDevice currentDevice batteryMonitoringEnabled true var level UIDevice currentDevice batt
  • 设置/覆盖 UICollectionView 中单元格之间的填充

    我有一个 UICollectionView 但在获取单元格之间的填充时遇到了问题 理论上 我应该能够将屏幕除以 4 并且我可以获得包含 4 个图像的单元格大小 完美地占据屏幕宽度 但是 它选择不这样做 相反 它会创建 3 个具有巨大填充的图
  • 用于字数计算的 Swift String 中的字数

    我想做一个程序来找出字符串中有多少个单词 用空格 逗号或其他字符分隔 然后把总数加起来 我正在制作一个平均计算器 所以我想要数据总数 然后将所有单词相加 update Xcode 10 2 x Swift 5 或更高版本 使用基础方法enu
  • 当 UITextField 已满或空时显示警报 Swift

    下面的代码中 如果 userNameTF 或 passwordTF 已满或为空 则会显示警报 IBAction func LoginBtn sender AnyObject let userName userNameTF text let
  • 为什么我不能在 Realm 属性上使用 private

    我正在尝试在 RealmSwift 中存储一个枚举案例 但 Realm 不支持枚举 本文 https medium com it works locally persisting swift enumerations with realm
  • 如何防止Apple Watch进入睡眠状态?

    我们正在开发一个 Apple Watch 项目 但如果不被打扰 手表就会进入睡眠状态 有什么办法可以阻止它进入睡眠状态吗 据我所知和有关该主题的其他搜索 目前还没有api可通过编程方式启用或禁用 Apple Watch 的睡眠模式
  • 所需框架与静态库

    构建现代框架 https developer apple com videos play wwdc2014 416 says 每个应用程序都有自己的自定义框架副本 https stackoverflow com a 15262463 242
  • iOS 中的构建对象文件扩展名是什么?

    当我在项目中构建java对象类时 将创建带有 class扩展名的构建文件 并且人类不可读 快速构建文件怎么样 example car java gt build gt car class 构建后会是什么 car swift gt build
  • 如何恢复消耗品应用内购买?

    我正在开发一款 iOS 游戏 用户可以通过应用内消耗品购买一定数量的内部货币 比如 1000 金币 如果用户想将余额从一台设备转移到另一台设备 如何恢复消耗品购买 在苹果的文档中 它说我们必须使用我们自己的服务器 但是如何获取用户的Appl
  • iphone NSDate 转换问题

    在我的 facebook 图表 Api 中 我正在获取这些数据 来自杰森 updated time 2011 05 17T14 52 16 0000 我正在使用此代码将其转换为有效的日期格式 NSDateFormatter df NSDat
  • Xcode 中的 iOS 9 警告 - 此文件设置为针对早于项目部署的版本进行构建。功能可能有限

    我刚刚将我的 Mac 更新到最新的操作系统 并将 Xcode 更新到最新版本 现在我收到此警告 但我不知道该由谁来删除它 也不知道它的真正含义是什么 有人可以向我解释一下吗 Thanks Select Main storyboard in
  • 个人帐户开发者之间的 Apple 开发/分发证书

    我一直在到处寻找有关处理证书的正确答案 想象一下以下帐户 Joe拥有个人 Apple 帐户 但他根本不会编码 他只是发布了该应用程序并将其称为自己的 Bob还有一个个人 Apple 帐户 Bob 是一位编码专家 Joe 付费让他开发他的第一
  • 防止 AlertView 被解雇

    任何人都可以帮助我防止在其按钮单击事件上解雇警报视图吗 我有一个 textview 作为我的alertView 的子视图 如果 textview 值为 nil 我不想关闭它 因为这是一个非常老的问题 但我得到了一个解决方案 并且如果其他开发
  • Google 地图 API -> OpenGLES 崩溃

    日志是从 Crashlytics 粘贴的 对于许多用户来说 崩溃经常发生 据我所知 它与设备 iOS 版本无关 我在我的代码中找不到任何错误 这似乎是纯粹的库问题 是 Google 地图 API 错误吗 我可以做些什么来修复它 或者我应该在
  • 在现有 iOS 应用程序中集成 React-native(0.40.0) 后找不到 Yoga/Yoga.h 头文件

    在我的 Swift iOS 应用程序中集成 React Native 后 我无法构建 yoga Yoga h file cannot be found 我已经浏览了文档 查看了react native github页面 检查了类似问题的SO
  • WhatsApp 显示警告“此项目无法共享。请选择其他项目。”对于 iOS 应用程序。

    我正在开发一个 iOS 应用程序 在该应用程序中 我有社交共享功能 并且社交共享功能使用深度链接来共享 URL 该网址共享对于所有应用程序都运行良好 除了WhatsApp 它会显示一个警报弹出窗口 此项目无法共享 请选择其他项目 以下是我的
  • 为什么我的视图仍然以横向呈现?

    我的视图是由导航控制器控制的 因此我将导航控制器支持的方向设置为明确的纵向和纵向UpSideDown 这可以工作 但是如果调用视图时前一个视图处于横向状态 它将以横向方式呈现并保持横向状态 直到设备旋转 如何防止这种情况发生 这是我的代码
  • UIWebView Bug:-[UIWebView cut:]:无法识别的选择器发送到实例

    In the UIWebView 如果包含文本的输入元素具有焦点 并且按下按钮导致输入失去焦点 则随后双击输入以重新获得焦点并从出现的弹出栏中选择 剪切 或 复制 或 粘贴 会导致这UIWebView因错误而崩溃 UIWebView cut
  • Swift C 回调 - Swift 类指针的 takeUnretainedValue 或 takeRetainedValue

    我有一些UIView or UITableViewCell 里面我有 C 回调 例如 CCallback bridge self observer data gt Void in let mySelf Unmanaged
  • 分发内部业务 IOS 应用程序

    我遇到了 IOS 应用程序分发的一个令人困惑的部分 因此 我需要简单细分一下我的限制 即仅将我的应用程序分发给我的员工 同事或任何被视为 内部 的人 这是表明我不希望该应用程序出现在应用程序商店中的另一种方式 我的情况是我为几家公司开发 他

随机推荐

  • ggplot2:使用循环在一页上打印多个绘图

    我有几个主题需要生成一个绘图 因为我有很多主题 我希望在一页上有多个绘图 而不是一个主题图 这是我到目前为止所做的 读取带有主题名称的txt文件 subjs lt scan ListSubjs txt what 创建一个列表来保存绘图对象
  • 膨胀类 android.support.v7.widget.RecyclerView 时出错

    我正在尝试在现有项目中使用 RecyclerView 构建时没有错误 但在膨胀时没有发现 RecyclerView 的类错误 看不到我做错了什么 感谢您的帮助 activity main xml
  • 使用 Paperclip 和 Amazon s3 上传照片时缺少凭据

    我在使用 Paperclip 将照片上传到 S3 时遇到问题 照片正确下载到网站 但尝试上传新照片时会出现 凭据丢失 消息 我尝试重置 S3 密钥 尝试更改编码中变量的访问权限 但没有成功 我几乎可以肯定这是照片问题 因为如果我提交没有照片
  • 使用 jquery 延迟对象链接多个 ajax 调用

    在寻找类似于此处描述的解决方案时 如何使用 jquery 链接 ajax 调用 https stackoverflow com questions 8612894 how to chain ajax calls using jquery l
  • 覆盖CSS属性全部:未设置

    对于我正在开发的 CSS 框架 我正在使用all unset 它本身工作得很好 foo all unset 但是 在某些情况下 我想 撤消 此规则的效果 如 foo hover all auto 然而 这显然行不通 因为没有值auto fo
  • Git 工作流程最佳实践

    愚蠢的问题 把我当作版本控制的完全新手 我是 Git 新手 我以前使用过 subversion 但只是基础知识 我了解 Git 及其分支命令的基础知识 我有一个想象的情况需要您的建议 假设我的软件当前版本是 v1 2 稳定且已发布 My S
  • 在 Visual Studio Code 中运行 python 脚本;如何让“input()”工作?

    我试图抓住一个简单的input using input 但是当我在其中运行脚本时视觉代码每当该行代码被执行时 程序就会挂起 我如何在其中运行代码视觉工作室代码并使用input task version 0 1 0 command pytho
  • 键入时禁用 Visual Studio Code 中的 linting

    前提 当我使用 Visual Studio Code 时 我希望在保存时进行 linting 并且我喜欢智能感知 尽管如此 我对 linting 感到非常恼火 又名错误和警告消息 形式为 ts jshint 这里你缺少一个分号 当我打字的时
  • EF 4.1 Code First 的复合密钥

    我试图弄清楚如何使用 EF code First 4 1 RC 拥有复合密钥 目前 我正在使用 Key 数据注释 但我无法指定多个键 如何指定复合键 这是我的例子 public class ActivityType Key public i
  • java.util.Scanner 读取剩余内容

    Using a java util Scanner例如 它是否可以返回所有剩余内容 我的情况是 一旦我阅读了一个中的多个字段String 我只想得到剩下的东西并将其存储在其他地方 例如我的内容可能包括 1 2 Some Garbage wi
  • Intellij IDEA 正则表达式字符类不能在字符范围内使用

    IDEA 不允许出现此错误 并且我无法找到关闭此类错误的选项 有谁知道如何修复错误或关闭警告 javascript 工作正常 只有 IDEA 认为这是一个问题 您正在使用以下命令创建一个范围连字符 在你的角色课程中 您应该将其移至任一端 另
  • 无符号 32 位整数的水平最小值和 SSE 中的位置

    我正在寻找一种方法来查找无符号 32 位整数的最小值及其在 SSE 中的位置 类似于 mm minpos epu16 我知道我可以通过一系列 mm min epu32 和洗牌 移位找到最小值 但这并不能让我找到位置 有人有任何很酷的方法吗
  • 使 SKScene 的背景透明不起作用...这是一个错误吗?

    有没有一种方法可以使 SKScene 的背景透明 并通过透明度将该场景呈现在另一个场景上 这个想法是让所呈现的场景的背景像这样 self backgroundColor SKColor colorWithRed 0 0f green 0 0
  • 将 HTML 表格粘贴到 Excel 中,如何在单元格中保留换行符

    我有一个简单的html表格 例如 只有一个单元格 但是当我复制dom节点并将其粘贴到excel中时 它将被识别为两行 如何使Excel获取正确的粘贴数据 table tr td 1 br 2 td tr tr tr table 我尝试添加c
  • Angular2 ngFor 跳过第一个索引[重复]

    这个问题在这里已经有答案了 如何跳过数组中的第一个索引 li user name is user age years old li 你可以使用片管 https angular io docs ts latest api common ind
  • 从 TableView 中的可编辑列动态填充 ChoiceBox

    基本上问题标题说明了一切 我有一列字符串 称为type 在表格视图和相应的数字列 称为size 每行代表一个对象CargoItem 它有两个属性type and size 两列都是可编辑的 TableView 与相应的可观察列表相关联Car
  • CFNetwork SSLHandshake 失败 iOS 9

    有使用 iOS 9 beta 1 的人遇到过这个问题吗 我使用标准 NSURLConnection 连接到 Web 服务 一旦调用 Web 服务 我就会收到以下错误 目前该功能适用 于 iOS 8 3 可能的测试版错误吗 任何想法或想法都会
  • 如何在 SonataAdmin 中创建自定义 DataGrid 过滤器

    我有一个带有许多状态代码的实体交易 我希望用户能够在 SonataAdmin 中将这些状态代码视为字符串 用户还应该能够根据这些状态代码进行过滤 Entity Transaction const TRANSACTION STATUS WAI
  • 有什么方法可以在 Phoenix 中定义自定义路线吗?

    假设我想创建一个resources通过添加一些自定义操作 rails 中的类似物是 resources tasks do member do get implement end end 这不仅会返回 7 条标准路线 还会返回 1 条新路线
  • 为什么我的本地通知在 iOS 10 中没有在前台触发?

    我试图理解为什么本地通知没有显示在前台 我相信我添加了所有正确的代码来允许此功能 但当我的应用程序位于前台时没有显示横幅 这是我添加的内容AppDelegate swift import UserNotifications UIApplic