registerUserNotificationSettings 不显示提示 iOS 8

2024-07-01

我似乎无法收到显示的提示registerUserNotificationSettings在 iOS 8.1 或 8.2 中。

这就是我正在做的didFinishLaunchingWithOptions:

  if ([application respondsToSelector:@selector(registerUserNotificationSettings:)]) {
       #ifdef __IPHONE_8_0
        UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeAlert
                                                                                             |UIUserNotificationTypeSound | UIUserNotificationTypeBadge) categories:nil];
        NSLog(@"Reg settings %@", settings);
        [application registerUserNotificationSettings:settings];
    #endif
    }

还可以在这里得到正确的回调:

- (void)application:(UIApplication *)application
didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings{
    NSLog(@"Did register - %@", notificationSettings);
}

但从未显示任何提示。更烦人的是,设备锁定时会显示警报,但不会发出通知警报声音。关于解决方法有什么想法吗?


iOS 11+ 更新:

自 iOS 11 起Resetting the Push Notifications Permissions Alert on iOS手续似乎不再需要了。只需卸载/重新安装该应用程序即可。


使用您的代码,我在第一次应用程序启动时收到提示,并且仅在第一次启动时收到提示。但据我所知,这是 iOS 中的预期行为。 至少照片库、麦克风访问等是一样的:

权限提示行为

  1. 首次使用时弹出(或至少请求使用它)
  2. Apple 在设置中添加了一个条目(例如隐私,或在通知设置下)

首次使用

In the Settings您可以配置的应用程序Notifications对于每个应用程序

  1. 向下滚动,选择您的应用程序
  2. Select Notifications
  3. 启用/禁用它们,或调整它们的行为

在 iOS 上重置推送通知权限警报

启用推送的应用程序第一次注册推送通知时, iOS 询问用户是否希望接收该应用程序的通知。 用户响应此警报后,该警报就不会再次出现 除非设备已恢复或应用程序已卸载 至少一天。

如果您想模拟应用程序的首次运行,您可以离开 该应用程序已卸载一天。您可以实现后者,无需 实际上,按照以下步骤等待一天:

  1. 从设备中删除您的应用程序。
  2. 完全关闭设备并重新打开。
  3. 转到“设置”>“常规”>“日期和时间”,然后将日期提前一天设置 或者更多。
  4. 再次完全关闭设备并重新打开。

Source: https://developer.apple.com/library/ios/technotes/tn2265/_index.html https://developer.apple.com/library/ios/technotes/tn2265/_index.html

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

registerUserNotificationSettings 不显示提示 iOS 8 的相关文章

  • Xcode 7.3.1 UITests 代码覆盖率始终为 0%

    除了主应用程序之外 我的项目中还有两个单独的单元测试和 UI 测试目标 这两个目标有不同的方案 以便我可以分别在我的 CI 服务器上运行它们 我在这两个方案中都检查了 收集代码覆盖率 最初 我通过使用 Cmd U 分别构建和运行这两个方案来
  • 使用 xctool / xcodebuild 与 XCode Archive 的成功相比出现错误 ITMS-90046

    我有一个命令行脚本 用于编译 存档并将我的 ios 版本提交给 ITC 以进行 TestFlight 部署 它们工作得很好 但我最近在尝试在我的其他工作项目中使用嵌入式框架时遇到了一个问题 我的脚本成功编译并存档了项目 但由于嵌入的二进制冲
  • 是否可以更改 UISearchBar 占位符的对齐方式?

    由于输入语言不同 我需要以不同的对齐方式显示 UISearchBar I saw 这个答案 https stackoverflow com questions 9251592 how to change the alignment of a
  • 在 UITextView 内画一条线 - NSAttributedString

    我想在里面画一条可定制的线UITextView由一些文本组成 使用NSAttributedString 这是我尝试过的 NSString unicodeStr NSString stringWithFormat C C C 0x00A0 0
  • 文件从 iOS 应用程序传输到 Mac 应用程序?

    是否可以在 Mac 应用程序和 iOS 应用程序之间传输文件 我想通过 Wifi 将 iOS 应用程序中的文档目录中的文件传输到 Mac 应用程序 我该怎么做 嗯 从 iOS 5 开始 就有了 iCloud 由于这仍处于保密协议之下 我只需
  • iOS 7 UITableView didSelectRowAtIndexPath 以编程方式推送ViewController,动画问题

    编辑 我找到了我自己问题的答案 请看我帖子的底部 我在尝试推动时遇到动画问题UIViewController in didSelectRowAtIndexPath on a UITableView以编程方式 当我在 iOS 6 中运行此代码
  • Xcode 4.3.2 足以为 iOS 6 构建应用程序吗?

    在今天宣布 iOS 6 Beta 可供开发人员使用之后 我想知道如果我尽快使用 iOS 6 我是否仍然能够在我的设备 iPhone 上从 Xcode 4 3 2 构建正在进行的应用程序 或者 Xcode 也需要更新吗 更新 目前我的 iPh
  • 如果用户应答传入的 iMessage,WKWebView 会崩溃

    我的应用程序发生严重崩溃 CALayer position contains NaN 377 833 nan 具有以下堆栈 Fatal Exception CALayerInvalidGeometry 0 CoreFoundation 0x
  • 导航标题颜色更改问题

    当我弹出控制器时 我面临的导航标题颜色没有改变 请找到下面的代码 ProfilescreenVC swift override func viewWillAppear animated Bool super viewWillAppear a
  • 解析 Apple Mach O-Linker 错误?

    我正在使用解析框架 突然出现 39 个错误 即使我删除框架 它仍然有错误 我已经检查了构建阶段 设置和路径 但没有任何效果 另外 我正在使用 xcode 4 6 3 我有一台过时的 macbook Ld Users anikakablan
  • WKScriptMessageHandler 不会侦听网页上按钮元素上的“onclick”或“click”事件。网页是使用Reactjs开发的

    我正在使用一个WKWebView在 UIViewController 的视图中使用 url 端点显示托管在服务器上的网页 该网页使用Reactjs 这就是我所掌握的有关该网页的所有信息 该代码创建一个 Web 视图并将该 Web 视图作为控
  • 如何使用 Swift 3 使用后台任务?

    我是后台任务的新手 我有一个小工作 我正在获取推文 如果我的应用程序处于后台模式 那么它也应该获取推文 但我不知道如何 我在 Appdelegate didFinishLaunchOption 方法中使用简单的计时器 当我关闭该应用程序时
  • AVAudioSequencer 导致 Deinit/Segue 崩溃:“所需条件为 false:outputNode”

    每当对象被取消初始化时 例如 当执行展开转回到另一个 ViewController 时 以下代码会导致崩溃并出现以下错误 所需条件为 false AVAudioEngineGraph mm 4474 GetDefaultMusicDevic
  • NSOperationQueue 指定线程

    我想用一个NSOperationQueue调度 CoreData 操作 然而 操作队列的行为并不总是相同的 例如 它使用libdispatch在使用线程池的 iOS 4 0 OS 10 6 上 并且队列可能并不总是使用相同的线程 如NSMa
  • 寻找 MKOverlayPathRenderer 示例

    我正在尝试弄清楚如何使用新的MKOverlayPathRenderer class 在我之前使用的应用程序中MKOverlayPathView使用 iOS 6 SDK 构建时 但不幸的是 它似乎不适用于 iOS 7 SDK 所以我试图将我的
  • Cocos2D 与 iOS6 旋转错误

    我正在构建一个使用 cocos2D 的应用程序 我使用 iOS 5 开发了我的应用程序 现在当我使用 iOS 6 模拟器进行测试时 整个应用程序都会旋转 我的应用程序应该处于横向模式 但 iOS 6 将其旋转为纵向 任何建议都会有所帮助 谢
  • 为模拟器构建时“重新定义模块...”

    我有一个 iOS xcode 项目 当我有Generic iOS Device选择作为我的目的地 但是 当我选择任何模拟器选项时 构建都会失败 并显示许多Redefinition of module abcde 每个模块中定义的一个错误iO
  • 如何在 xcode 6 中查看汇编代码

    如何在 xcode 6 中使用 iOS 设备运行应用程序时查看编译器生成的汇编代码 我应该在 xcode 中启用哪些设置才能查看汇编代码 在 Xcode 选项中 选择选项 调试 gt 调试工作流程 gt 始终显示反汇编 在要查看汇编代码的代
  • AFNetworking 在 post 请求的 JSON 参数中发送数组

    我正在尝试通过 POST 将参数发送到我的服务器 并且它通常可以工作 但我不知道如何发送包含数组作为参数之一的 JSON 这是我尝试过的 AFHTTPClient httpClient AFHTTPClient alloc initWith
  • 下拉即可显示视图

    I have UITableView 我想添加一个UITextField位于tableView之上 可以通过向下拉tableView来访问它 我想通过拉起 tableView 来隐藏我的 textField 我怎样才能做到这一点 这是我尝试

随机推荐