如何禁用 iOS 远程通知上的默认通知警报视图?

2023-12-25

在我的应用程序中我启用了远程通知,

if(SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"10.0")){
    UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
    center.delegate = self;
    [center requestAuthorizationWithOptions:(UNAuthorizationOptionSound | UNAuthorizationOptionBadge) completionHandler:^(BOOL granted, NSError * _Nullable error){
        if( !error ){
            [[UIApplication sharedApplication] registerForRemoteNotifications];
        }
    }];
}else{
    UIUserNotificationType userNotificationTypes = (UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound);
    UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:userNotificationTypes categories:nil];
    [application registerUserNotificationSettings:settings];
    [application registerForRemoteNotifications];
}

我实现了委托方法如下,

- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error{
    NSLog(@"Failed!!");
}


 - (void)application:(UIApplication *)application   didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
    // Print message.
    if (userInfo) {
        NSLog(@"Message ID: %@", userInfo);
    }

    completionHandler(UIBackgroundFetchResultNoData);
}

但是当应用程序位于前台并收到通知时,我得到了一个带有通知标题和消息的 UIAlertView。我想要

//Called when a notification is delivered to a foreground app.
-(void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler{
    NSLog(@"User Info : %@",notification.request.content.userInfo);
    completionHandler(UNAuthorizationOptionSound | UNAuthorizationOptionBadge);
}

//Called to let your app know which action was selected by the user for a given notification.
-(void)userNotificationCenter:(UNUserNotificationCenter *)center       didReceiveNotificationResponse:(UNNotificationResponse *)response    withCompletionHandler:(void(^)())completionHandler{
    NSLog(@"User Info : %@",response.notification.request.content.userInfo);
    completionHandler();
}

我调试了willPresentNotification:在此触发后我收到了警报。我也通过删除这个方法进行了测试。但在收到通知时仍然会显示此警报。

我如何禁用此警报视图?我的 iPhone 使用的是 10.2 iOS


我不认为UIAlertController来自通知。您确定不是在其他地方创建一个吗?

您的通知的实施似乎没问题。

您可以在您的项目中进行搜索并使用断点来查看是否有任何UIAlertController被击中了吗?

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

如何禁用 iOS 远程通知上的默认通知警报视图? 的相关文章

  • 存储应用内购买的正确且安全的方式

    在设备上存储应用内购买的最佳方式是什么 这样购买也可以离线访问 但是 购买的安全性没有受到损害 不要在设备上存储任何有价值的东西 因为它不可信 并且很容易被有动机的人破坏 现在 所有这一切都取决于所购买物品的类型和价值 以及如果物品受损会发
  • 访问 iPhone 上用户的短信

    有没有一种方法可以访问用户的短信 没有互联网连接 显然 不尝试获取客户的消息 并分析应用程序中的文本 如果没有 出于安全原因 这是完全可以理解的 但我想我还是会问 不 你只能发送它们 S http developer apple com l
  • 应用程序名称中的撇号

    我打算在 Apple 商店中发布一款标题中包含撇号的应用程序 我注意到 当 目标 名称包含撇号时 XCode 在构建代码时已经存在问题 我已经通过使用以下字符设法解决了这个问题 暂时 与以下相反 这似乎构建得不错 但我有点担心以后可能会发生
  • 将核心数据数据库/.sqlite 文件同步到 Dropbox

    我正在尝试将我的核心数据数据库 sqlite 文件同步 上传到保管箱 一旦我的用户登录 我就有一个上传文件的按钮 IBAction sync NSString localPath NSBundle mainBundle pathForRes
  • 在 Xcode 中调试未捕获的异常

    我正在努力更好地使用 Xcode 我打开了 AllExceptions 断点 当我的应用程序崩溃时 我会看到以下内容 Terminating app due to uncaught exception NSRangeException re
  • 使用 Accelerate 框架 32 位与 64 位进行 swift 矩阵乘法

    我正在尝试使用 Accelerate 框架在 Swift 中进行矩阵乘法 使用了vDSP mmulD 这在 iPhone6 6 plus iPad Air 模拟器 所有 64 位架构 中完美运行 但不适用于任何 32 位架构设备 看来 32
  • 如何将 UIview 添加到 imageView,同时确保 UIView 的内容位于其框架内?

    我有一个超级视图 其中包含ImageView a testView和一些按钮 我创建了一个UIView其中包含ImageView2 and a removebutton 当我添加UIView to UIImageView 内容UIView不
  • 如何检索所有连接的蓝牙外围设备

    我正在尝试获取所有连接到 iPhone 的外围设备的列表 我已连接 Bose Soundlink 但它没有显示在我的应用程序中 我不知道 UUID 所以传递 因为这应该得到我想的一切 func centralManagerDidUpdate
  • 将 id 传递给 calloutAccessoryControlTapped

    当点击附件按钮时 我需要传递 itemId 这样我就可以识别要传递到详细视图的项目 So far 添加注释 for id row in self detailItem Item i Item row CLLocationCoordinate
  • 如何重命名 MacOS/X 程序中的程序名称菜单标签?

    我有一个在 MacOS X 下运行的基于 Qt 的 GUI 程序 我希望能够更改该程序的第一个菜单标题的标签 即此屏幕截图中用红色圈出的标签 有没有一种编程方法可以做到这一点 假设不存在基于 Qt 的解决方案 则 Objective C 本
  • 如何在构建时自动重置 iPhone 模拟器

    将多个 JSON 文件从应用程序包根目录移动到目录结构内 也在应用程序包中 后 应用程序继续运行 就像文件保留在之前的位置一样 经过一番绞尽脑汁并进行了一次干净的构建后 我记得必须清除 iPhone 模拟器才能删除旧位置中的这些文件 如果能
  • 以编程方式创建图像的缩略图

    在我的应用程序中 我从服务器获取图像 并且能够在图像视图中显示图像 但现在我想将从服务器获取的图像存储在表视图中 并在单击表视图单元格时显示它们 我想要的是如何制作图像的缩略图 以便将其显示在表视图单元格中 如果我直接在表视图单元格中显示图
  • presentOpenInMenuFromBarButtonItem:不会导致菜单出现

    我试图通过以下方式显示 打开方式 菜单UIDocumentInteractionController and presentOpenInMenuFromBarButtonItem 这不会提出UIDocumentInteractionCont
  • 编译到模拟器时如何排除 Xcode 中的框架

    我在我的项目中包含了 TokBox 框架 这样我们就可以进行视频短信 问题是该框架以及它们所需的其他一些框架不允许您在模拟器中编译或运行该应用程序 他们不受支持 有没有办法设置编译器标志以在编译到模拟器时跳过 TokBox 和其他框架 原因
  • 难以访问在 Interface Builder .xib 文件中创建的 UITableViewCell

    在我的 UITableView 中 对于表格最后一部分的最后一行 我加载了一个特殊的 UITableViewCell 它与表格上的所有其他单元格不同 我在 xib 文件中创建了该单元 并为其指定了重用标识符 endCell 我认为我可以执行
  • 当Text超过Height时如何增加UITextView的高度

    我有一个 UITextView 当我在 5 6 行后输入数据时 数据正在向上滚动并且看不到 当输入的文本超过高度时 是否有任何属性可以用来增加 UITextView 的高度 请建议大家 使用此代码使 UITextView 的高度与其内部内容
  • 使用 XCode 5 的 iPhone 弹出窗口视图

    我想重复使用 iPhone 中描述的弹出窗口这个视频 http youtu be 1iykxemuxbk这正是我所需要的 问题是我无法绑定UIViewController弹出窗口的属性UIViewController就像视频中一样 该视频的
  • PerformSegueWithIdentifier 不会产生带有标识符错误的 Segue

    我很难让 PerformSegueWithIdentifier 正常工作 我不断得到 Receiver
  • iOS 7 导航栏在 viewDidAppear 上跳跃/拉伸

    I am trying to update my app for iOS 7 When my views appear on the screen you can see that there is a gap between the na
  • OSX 的网络连接 NSNotification?

    我只需要在分配有效 IP 地址时发出通知即可 我尝试过通过 SCreachability 进行轮询 但这似乎效率低下 有什么建议么 这看起来应该很简单 但我已经努力了几个小时才能让任何东西发挥作用 我知道这有点旧 但所选的答案并不理想 SC

随机推荐