0

为什么我没有设备令牌?

 - (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

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

4

2 回答 2

1

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

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

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

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

同时更新 AirshipConfig.plist 文件

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

于 2013-03-19T09:52:27.577 回答
0

我有同样的问题。虽然您有 DEVELOPMENT_APP_SECRET 和 DEVELOPMENT_APP_KEY,但我猜 UrbanAirship 库需要 PRODUCTION_APP_SECRET 和 PRODUCTION_APP_KEY。当我将它们添加到我的 AirshipConfig.plist 中时,问题得到了解决,我能够通过 UrbanAirship 发送推送消息。

于 2013-12-05T12:06:36.920 回答