【问题标题】:iOS Push Notification error with UrbanAirshipUrbanAirship 的 iOS 推送通知错误
【发布时间】:2012-05-01 20:35:46
【问题描述】:

我终于得到了 UrbanAirship 的推送通知。但是现在我遇到了一个问题,在这里搜索并找不到解决方案。

当应用程序正在运行并且我收到通知时,单击通知会将我带入应用程序并且一切正常。

当我终止应用并收到通知时,应用会因 SIGKILL 而终止。

这里是日志:log

好的,这是我的 appdelegate.m:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//Init Airship launch options
NSLog(@"Before NSMutableDictionary");
NSMutableDictionary *takeOffOptions = [[NSMutableDictionary alloc] init];
[takeOffOptions setValue:launchOptions forKey:UAirshipTakeOffOptionsLaunchOptionsKey];

// Create Airship singleton that's used to talk to Urban Airship servers.
// Please populate AirshipConfig.plist with your info from http://go.urbanairship.com
NSLog(@"Before takeOff");
[UAirship takeOff:takeOffOptions];


// Register for notifications
NSLog(@"Before UIApplication");
[[UIApplication sharedApplication]
 registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |
                                     UIRemoteNotificationTypeSound |
                                     UIRemoteNotificationTypeAlert)];

NSLog(@"Before reset badge");
//reset badge
application.applicationIconBadgeNumber = 0;

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.

self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
self.window.rootViewController = self.viewController;

[self.window makeKeyAndVisible];



return YES;
}

-(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
NSLog(@"didRegisterForRemoteNotifications");
[[UAirship shared] registerDeviceToken:deviceToken];
}

-(void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error
{
NSString *str = [NSString stringWithFormat: @"Error: %@", error];
NSLog(@"Error:%@",str); 
}

在此 Mac Mini 通过窗口之前,任何帮助都非常感谢 :-)

【问题讨论】:

  • 补充:似乎只有当设备连接到Mac时才会发生这种情况......这是正常行为吗?

标签: ios push-notification urbanairship.com


【解决方案1】:

我认为这与 Urban Airship 无关。如果你:

  1. 创建一个全新的项目
  2. 插入您的设备
  3. 运行应用程序
  4. 从手机强制关闭应用程序(您可能需要尝试 重新打开它)

您将收到相同的错误消息。

由于它发生在一个全新的项目中,甚至没有触及它,我认为这种行为是意料之中的。

【讨论】:

    【解决方案2】:

    你确实提到了...

    当我终止应用并收到通知时,应用会因 SIGKILL 而终止。

    我会检查您的 applicationDidBecomeActive:(UIApplication *)application 方法。 苹果文档说...

    调用此方法是为了让您的应用知道它已从非活动状态变为活动状态。这可能是因为您的应用程序是由用户或系统启动的。如果用户选择忽略使应用暂时处于非活动状态的中断(例如来电或短信),应用也可以返回活动状态。

    您应该使用此方法重新启动应用程序处于非活动状态时暂停(或尚未启动)的所有任务。例如,您可以使用它来重新启动计时器或提高 OpenGL ES 帧速率。如果您的应用之前处于后台,您还可以使用它来刷新应用的用户界面。

    【讨论】:

      猜你喜欢
      • 2011-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多