Tag: 苹果推送通知

如果您已经在桌面上阅读,Facebook Messenger如何从locking屏幕清除推送通知?

当我在Facebook上收到消息时,我会在锁屏(iOS)上收到推送通知。 然后我在桌面上阅读这个消息。 在此之后,这个推送通知消失,没有任何与电话的交互。 我怎么能自己实现相同的东西去除过时的通知? 第二个用法可能是拼接通知。 例如,当有人喜欢你的照片时,Instagram会向你推送。 20后喜欢你的通知屏幕被破坏,无法读取。 但是,使用与Facebook相同的委托人似乎可以删除先前的相同类别的通知,并使用增加的计数器创build新的通知。 没有“用户A喜欢的照片X,用户B喜欢的照片Y等”,但“20个用户喜欢照片Z”。 在这里我已经看到类似的话题,但迄今为止还没有答案。 谢谢!

iOS推送通知 – 当您点击应用程序图标而不是通知时如何获取通知数据

类似于这个问题: 如何访问applicationDidBecomeActive上的远程推送通知数据? 但是不同之处在于,如何在applicationDidBecomeActive访问通知数据,以及是否单击了应用程序图标而不是推送通知。 stream程如下:如果点击push notification则会触发didReceiveRemoteNotification ,但是如果您单击原始应用程序图标,则只会触发applicationDidBecomeActive并且不会调用didReceiveRemoteNotification 。 我正在寻找后面的情况,所以我如何访问推送通知数据。 (这两种情况下,假设应用程序在后台,并没有被杀害。)

didReceiveRemoteNotification:fetchCompletionHandler:从图标与推送通知打开

我试图实现后台推送通知处理,但我有问题,以确定是否用户打开从推送通知,而不是从图标打开它的推送通知的应用程序。 – (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler { //************************************************************ // I only want this called if the user opened from swiping the push notification. // Otherwise I just want to update the local model //************************************************************ if(applicationState != UIApplicationStateActive) { MPOOpenViewController *openVc = [[MPOOpenViewController alloc] init]; [self.navigationController pushViewController:openVc animated:NO]; } else { ///Update local model […]

iOS – 要求在初始拒绝后启用推送通知

我想知道是否有可能迫使“XXXXX想要发送推送通知”popup应用程序内,在初步下降后。 用例如下: 用户安装应用程序,获取有关推送通知的警报,并拒绝,因为他们不知道/信任该应用程序。 他们使用应用程序,并在应用程序内主动要求在发生事件时提醒(例如,他们想要购买的东西已售罄,所以他们希望在库存时提醒)。 所以,现在用户已经要求应用程序通知他们有关具体的事情,但在操作系统级别禁用了推送通知。 因此,如果用户请求提醒,但是我发现他们在第一次运行时拒绝了提醒,我需要通知他们,并让他们打开推送通知,以便提醒工作。 理想情况下,我想强制“XXXX想给你发送推送通知提醒”(这是自他们安装应用以来的第二次)。 我猜计划b是向他们显示我自己的消息,告诉他们必须进入他们的系统设置,并手动重新打开,以接收他们想要的警报。 这远非理想。 任何帮助,将不胜感激。 谢谢。

找不到Apple开发推送服务的专用密钥

我已经咨询了很多来源,仍然无法弄清楚。 http://code.google.com/p/apns-php/wiki/CertificateCreation 基本上,我从iOSconfiguration门户>应用程序IDS(select“启用Apple推送通知”服务)下载“开发推送SSL证书”后,双击证书(文件名aps_development.cer)将其打开,钥匙串打开。 然后,我在左侧面板上select“login”和“证书”。 在右侧面板中,我看到“苹果开发IOS推送服务:…”,并且我所咨询过的所有指令都告诉我要通过点击名称旁边的箭头来“展开”这个选项来显示私钥,但是这个证书没有扩展选项。 任何人都可以帮我find这个私钥吗? 我是否下载错误的证书? 谢谢

如果应用程序已经在后台运行,如何响应推送通知视图

我想要做一件相当简单的事情。 我附加一个自定义的数据到我处理的一些推送通知 -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 我寻找UIApplicationLaunchOptionsRemoteNotificationKey和嘿presto那里。 如果我的应用程序第一次启动,该方法只会被调用。 如果我的应用程序已经在后台运行,并且用户按下了通知上的“查看”button,那么如何读取相同的密钥? 我想把它们发送到一个特定的视图控制器上打开数据,就像我第一次从通知中启动应用程序一样。

为什么不使用开发configuration而不是临时的?

我的印象是,当您使用开发configuration文件构build应用程序时,只有指定的开发人员才能将该构build部署到手机。 但是我只是部署了一个使用Xcode Organizer的开发概要文件来构build一个手机,尽pipe我不是那个configuration文件的有效开发者之一。 我的一个甚至没有安装Xcode的同事也用他的手机使用iTunes。 在这种情况下,为什么不使用开发configuration文件将您的应用程序分发给您的QA团队,而不是临时分发? 编辑:请在回答之前仔细阅读部分。 我不是在问一个基本的“这项工作如何”的问题。 我做了大量的开发,特设和app store构build,现在我发现我似乎做了一些错误的假设。

无声推送通知仅在设备充电和/或应用程序处于前台时才会提供

我已经实施了无声推送通知,但是我注意到了一些奇怪的行为。 无声推送通知通过以下方式处理: – (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler 只有设备正在充电(即连接电缆)和/或如果我的应用程序是前景,似乎只收到静音推送消息。 如果我将设备与充电器(或Mac)断开连接,则除非应用程序处于前台状态, 否则将不再接收静默推送通知。 在这两种情况下,我都会收到非静默推送通知。 如果我再次插入USB电缆,则会收到预期的行为,无论应用程序是前台还是后台,都会收到无声推送通知。 我正在使用UILocalNotification,所以我知道接收的是什么。 事实上,这一切工作正常与连接的设备表明,我的无声推动通知configuration正确,应用程序具有正确的背景模式设置在plist等。 这种行为在iPhone 5s,6和iPad 2上均可重复,全部运行IOS 8或8.1。 有没有人经历过这个? 应该很容易重现。 为什么将设备插入充电器的简单行为会改变接收静默推送通知的能力?

APN设备令牌对每个单独的应用程序都是唯一的吗?

我在iTunes商店有两个应用程序 – 都实现推送通知。 当我testing向这些生产应用程序发送通知时,我注意到针对应用程序A的推送命名并打开了应用程序B. 这两个应用程序都安装在同一部手机上。 我查看了我的设备表,看到为这两个应用列出的设备令牌(当然还有设备ID)都是一样的。 根据需要,我在服务器上使用两个不同的证书 – 每个应用程序一个。 我有点认为设备令牌或证书会将消息路由到正确的应用程序,但显然不是。 我可以看到在NSLog中,从每个应用程序发送的令牌确实是相同的。 设备令牌应该是独一无二的每个应用程序? 如果是这样,任何想法如何我的testing手机可以将两个应用程序相同的设备令牌发送到我的服务器。 请记住,这是来自App Store上的两个应用程序。 谢谢你的帮助!

为应用程序找不到有效的“aps-environment”授权string

我试图configuration我的应用程序来支持推送通知,但不断得到这个错误:无法获得令牌,错误:错误域= NSCocoaErrorDomain代码= 3000“没有有效的'aps环境'授权stringfind应用程序”UserInfo = 0x1f818fc0 { NSLocalizedDescription =为应用程序find没有有效的“aps-environment”授权string} 我确实启用了我的应用程序来支持推送通知(仅在此时进行开发)。 我确实在启用推送通知后创build了configuration文件。 我的包标识符与configuration文件中显示的相同。 在我的configuration文件中有一个string:aps-environment 我确保在“代码签名标识”部分下的项目和目标中,所有值都被select为我的预configuration文件。 还有什么想法? 谢谢。