1

ついにUrbanAirshipからプッシュ通知が機能するようになりました。しかし今、私は問題を抱えており、ここで検索して解決策を見つけることができません。

アプリが実行されていて通知を受け取ったら、通知をクリックするとアプリが表示され、すべて問題ありません。

アプリを強制終了して通知を受け取ると、アプリはSIGKILLで終了します。

これがログです:log

OK、これが私の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); 
}

このMacMiniがウィンドウを通過する前に、どんな助けでも大歓迎です:-)

4

2 に答える 2

1

これはアーバンエアシップとは何の関係もないと思います。もし、あんたが:

  1. まったく新しいプロジェクトを作成する
  2. デバイスを接続します
  3. アプリを実行する
  4. 電話からアプリを強制的に閉じます(アプリを再度開く必要がある場合があります)

同じエラーメッセージが表示されます。

まったく新しいプロジェクトでは、それに触れることなく発生するため、この動作は予想されるものだと思います。

于 2012-05-01T21:34:16.907 に答える