2012-03-28 3 views
1

Я пытаюсь внедрить push-уведомления в своем приложении. Итак, для тестирования я создал новое приложение и сделал все необходимые шаги (надеюсь ...). Я добавил в свой проект следующее:Ошибка устройства с использованием Urban Airship?

-AirshipConfig.plist 
-libUAirship-1.1.4.a 
-UAGLobal. 
-UAirship.h 
-UAObservable.h 
-UAPush.h 

и все рамки, указанные на их веб-сайте.

Мой AppDelegate.m является:

#import "AppDelegate.h" 
#import "UAirship.h" 
#import "UAPush.h" 

@implementation AppDelegate 

@synthesize window = _window; 

-(void)setupPushWithOptions:(NSDictionary *)launchOptions { 


//URBAN AIRSHIP PUSH NOTIFICATION CONFIGURATION 
//Init Airship launch options 
NSMutableDictionary *airshipConfigOptions = [[NSMutableDictionary alloc] init]; 
//[airshipConfigOptions setValue:@"5QQmJyTMRZWks0nbx-9pHQ" forKey:@"DEVELOPMENT_APP_KEY"]; 
//[airshipConfigOptions setValue:@"OMuzzHdCQOCnrOtfiWox9Q" 
forKey:@"DEVELOPMENT_APP_SECRET"]; 
[airshipConfigOptions setValue:@"xrUoy0B1RdyjZqZXEuwIsg" forKey:@"PRODUCTION_APP_KEY"]; 
[airshipConfigOptions setValue:@"qiRlUvoaSHGNeXxw9pj71w" forKey:@"PRODUCTION_APP_SECRET"]; 

#ifdef DEBUG 
[airshipConfigOptions setValue:@"NO" forKey:@"APP_STORE_OR_AD_HOC_BUILD"]; 
#else 
[airshipConfigOptions setValue:@"YES" forKey:@"APP_STORE_OR_AD_HOC_BUILD"]; 
#endif 

NSMutableDictionary *takeOffOptions = [[NSMutableDictionary alloc] init]; 
[takeOffOptions setValue:launchOptions forKey:UAirshipTakeOffOptionsLaunchOptionsKey]; 
[takeOffOptions setValue:airshipConfigOptions 
forKey:UAirshipTakeOffOptionsAirshipConfigKey];  

// Create Airship singleton that's used to talk to Urban Airship servers. 
// Please replace these with your info from http://go.urbanairship.com 
[UAirship takeOff:takeOffOptions]; 

[[UAPush shared] resetBadge];//zero badge on startup  
[[UAPush shared] 
registerForRemoteNotificationTypes:UIRemoteNotificationTypeNewsstandContentAvailability|UIRemoteNotificationTypeAlert]; // register for Newsstand and Alerts 

} 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: 
(NSDictionary *)launchOptions 
{ 
// Override point for customization after application launch. 
//Init Airship launch options 
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 
[UAirship takeOff:takeOffOptions]; 
[[UIApplication sharedApplication] 
registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | 
            UIRemoteNotificationTypeSound | 
            UIRemoteNotificationTypeAlert)]; 
// Override point for customization after application launch. 

[self setupPushWithOptions:launchOptions]; 
return YES; 
} 

- (void)application:(UIApplication *)application 
didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { 
UALOG(@"APN device token: %@", deviceToken); 
NSLog(@"%@", deviceToken); 
// Updates the device token and registers the token with UA 
[[UAirship shared] registerDeviceToken:deviceToken]; 
} 

- (void)applicationWillResignActive:(UIApplication *)application 
{ 
} 

- (void)applicationDidEnterBackground:(UIApplication *)application 
{ 
} 

- (void)applicationWillEnterForeground:(UIApplication *)application 
{ 
} 

- (void)applicationDidBecomeActive:(UIApplication *)application 
{ 
} 

- (void)applicationWillTerminate:(UIApplication *)application 
{ 
} 

-(void)application:(UIApplication *)application 
didFailToRegisterForRemoteNotificationsWithError:(NSError *)error { 
NSLog(@"Failing in APNS registration: %@",error); 
} 

@end 

Таким образом, я получаю сообщение об ошибке Apple Push служба отвергнута устройство маркеров Но я также понял, что мой маркер устройства может быть получен не правильно. Следуя предложению персонала UA, я загрузил из Appstore приложение Wide Angle, и я запустил его с подключенным iPhone и с консолью Xcode. Поэтому я вижу, что мой токен устройства - это еще один ... Где это может быть проблемой?

ответ

0

Вы не должны жестко указывать свои вариации в Городском дирижабле, как это.

Создать AirshipConfig.plist Библиотеки использует .plist конфигурации файл с именем AirshipConfig.plist для управления производством и профилей приложений развития.

Создайте 2 заявки на вашем счету Urban Airship - один для & другой для производства. Ex. Name_of_your_app_dev Name_of_your_app_prod Создайте файл AirshipConfig.plist Установите следующие значения для тех, в приложениях

Смежные вопросы