gpt4 book ai didi

iOS - 未确定推送通知

转载 作者:行者123 更新时间:2023-12-01 16:30:10 25 4
gpt4 key购买 nike

是否有任何解决方法可以确定用户是否曾被要求提供推送通知权限?
调用isRegisteredForRemoteNotifications直接对我来说是不够的。
我有一个屏幕会根据它是否是第一次启动应用程序而改变。

  • 如果是它说应用程序可以发送推送通知,当出现提示时请点击允许。然后用户单击Got it按钮,并显示带有推送通知提示的VC。
  • 但是,如果用户在另一个帐户上再次注册(记住推送通知),我想显示他需要转到设置以允许推送通知(如果它们被禁用)或只是跳过通知提示屏幕(如果用户允许它们)的信息。

  • 所以换句话说,我不需要知道用户是否允许推送通知,而是他是否被要求提供。

    在询问用户后,我尝试将一些数据保存在钥匙串(keychain)中,但是当应用程序被删除并再次安装时(一天或更长时间后,推送通知设置被重置)不询问用户(我只检查钥匙串(keychain)中是否有我的标志)。

    感谢帮助

    编辑 #1 我添加了显示我的问题的图像 Push notifications

    实际上,带有 OK 和 Go to settings 按钮的屏幕并不是单独的 View Controller,但这并不重要。

    最佳答案

    推送通知权限警报不是基于每个用户的。只会提示一次。您无法更改代码中的任何设置以获取每个用户的警报。

    即使您删除您的应用程序并重新安装它,它也不会请求许可。

    如果您真的想再次收到警报,您必须按照 Apple 记录的步骤进行操作,但肯定不是代码。

    https://developer.apple.com/library/ios/technotes/tn2265/_index.html#//apple_ref/doc/uid/DTS40010376-CH1-TNTAG42

    如果用户拒绝访问,请使用此选项

    NSUInteger rntypes = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];

    //除非我们发现其他情况,否则将默认设置为禁用...

    NSString *pushBadge = (rntypes & UIRemoteNotificationTypeBadge) ? @“启用”:@“禁用”;
    NSString *pushAlert = (rntypes & UIRemoteNotificationTypeAlert) ? @“启用”:@“禁用”;
    NSString *pushSound = (rntypes & UIRemoteNotificationTypeSound) ? @“启用”:@“禁用”;

    关于iOS - 未确定推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32175415/

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