为什么我没有设备令牌?
- (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
答案 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发送推送消息。