Urban Airship没有创建设备令牌

时间:2013-03-19 09:30:06

标签: iphone objective-c xcode push-notification urbanairship.com

为什么我没有设备令牌?

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary      *)launchOptions {

 //Create Airship options dictionary and add the required UIApplication launchOptions
 NSMutableDictionary *takeOffOptions = [NSMutableDictionary dictionary];
[takeOffOptions setValue:launchOptions forKey:UAirshipTakeOffOptionsLaunchOptionsKey];

// Call takeOff (which creates the UAirship singleton), passing in the launch options so the
// library can properly record when the app is launched from a push notification. This call is
// required.
//
// Populate AirshipConfig.plist with your app's info from https://go.urbanairship.com
[UAirship takeOff:takeOffOptions];

// Set the icon badge to zero on startup (optional)
[[UAPush shared] resetBadge];

// Register for remote notfications with the UA Library. This call is required.
[[UAPush shared] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |
                                                     UIRemoteNotificationTypeSound |
                                                     UIRemoteNotificationTypeAlert)];

// Handle any incoming incoming push notifications.
// This will invoke `handleBackgroundNotification` on your UAPushNotificationDelegate.
[[UAPush shared] handleNotification:[launchOptions valueForKey:UIApplicationLaunchOptionsRemoteNotificationKey]
                   applicationState:application.applicationState];



  2013-03-19 04:22:44.202 MyApp[1070:907] [D] -[UAPush applicationDidBecomeActive] [Line 555]        Checking registration status after foreground notification
  2013-03-19 04:22:44.204 MyApp[1070:907] [D] -[UAPush applicationDidBecomeActive] [Line 561]           Checking registration on app foreground disabled on app initialization
  2013-03-19 04:22:44.241 MyApp[1070:907] [D] -[UAUser listenForDeviceTokenReg] [Line 931]   ListenForDeviceTokenReg
  2013-03-19 04:22:44.270 MyApp[1070:907] [D] -[UAUser userCreated:] [Line 467] User created:   201:{"username": null, "alias": null, "tags": [], "user_id": "xK4v5lARRDCAvekt25TeqA",   "user_url": "https://device-api.urbanairship.com/api/user/xK4v5lARRDCAvekt25TeqA/",   "device_tokens": [], "password": "oZeZFMO9SpyDZw3lM", "apids": [], "device_pins": [],  "ua_device_id": "2A6651E5-6D23-4FAD-B53C-4D6356D7A2AA"}
  2013-03-19 04:22:44.336 MyApp[1070:907] [D] -[UAUser updateDefaultDeviceToken] [Line 978] Updating device token.
 2013-03-19 04:22:44.338 MyApp[1070:907] [D] -[UAUser updateDefaultDeviceToken] [Line 981] Skipping device token update: no token, already up to date, or user is being updated.
 2013-03-19 04:22:58.766 F

我有DEVELOPMENT_APP_SECRET&我的AirshipConfig.plist中的DEVELOPMENT_APP_KEY以及APP_STORE_OR_AD_HOC = NO

2 个答案:

答案 0 :(得分:1)

我认为,配置时缺少一些步骤:

请再次查看https://docs.urbanairship.com/display/DOCS/Getting+Started:+iOS:+Push

并尝试在AppDelegate中记录您的令牌:

-(void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
NSLog(@"My token is: %@", deviceToken);
[[UAPush shared] registerDeviceToken:deviceToken];
}

还会更新AirshipConfig.plist文件

可能是错误配置的证书/配置文件的问题。

答案 1 :(得分:0)

我遇到了同样的问题。虽然你有DEVELOPMENT_APP_SECRET& DEVELOPMENT_APP_KEY,我猜UrbanAirship lib期望PRODUCTION_APP_SECRET和PRODUCTION_APP_KEY。当我在我的AirshipConfig.plist中添加它们时,问题得到解决,我能够通过UrbanAirship发送推送消息。