我正在开发一个已实施Apple推送通知的应用。当我的应用程序处于后台状态时,我能够接收推送通知但是当我的应用程序处于活动状态时,我无法获得任何推送通知,可以对此进行任何帮助吗?
答案 0 :(得分:2)
尝试检查didReceiveRemoteNotification
- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler
委托方法接收所有州的远程通知。
如果要在活动状态下显示通知警报。使用HDNotificationView
显示通知提醒。
if(application.applicationState == UIApplicationStateActive) {
[HDNotificationView showNotificationViewWithImage:[UIImage imageNamed:@"Icon-40.png"]
title:title
message:message
isAutoHide:YES
onTouch:^{
/// On touch handle. You can hide notification view or do something
[HDNotificationView hideNotificationViewOnComplete:nil];
}];
}
答案 1 :(得分:0)
在ItemTouchHelper
内添加UIAlertView
并检查您是否在didReceiveRemoteNotification
收到通知。检查以下代码
active state
答案 2 :(得分:0)
当您的应用程序收到推送通知时,应用程序可以是以下5种状态之一参考 :: https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/TheAppLifeCycle/TheAppLifeCycle.html
1)未运行
<强> 2)非活动强>
第3)背景强>
<强> 4)悬强>
<强> 5)活性强>
如果应用程序状态为1,2,3,4,则iOS将处理并显示横幅 如果是5(活动状态),我们的应用程序需要处理此案例 在这种情况下,下面的方法将被称为
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^airport/(.*) ./cabs/airport.php?loc=$1
这里你需要使用application.state == Active来检查app的状态然后你可以做你想要的理想情况,我们需要显示警告。