/ Как да поискате токейн устройство на iphone - iphone, натискане, натискане

Как да поискате токейн устройство на iphone - iphone, натискане, натискане

Мога да използвамdidRegisterForRemoteNotificationWithDeviceToken метод за обратно извикване, за да получите символа на устройството на моя iphone, когато се абонирате за натискане на известия. Въпросът ми е как мога отново да получа това означение по-късно? Когато потребител се абонира за нещо в молбата ми, искам да изпратя токена на устройството и идентификатора на артикула, за който се абонират ... но не мога да разбера откъде да взема символа на устройството от. Опитах се да използвам uniqueIdentifer от класа UIDevice, но тази стойност е различна от оригиналния токена.Бях предполагал, че бих могъл да се обадя registerForRemoteNotificationTypes всеки път, когато моето приложение започва да произвежда символа.Но ако го направя, аз не съм сигурен как мога да получа достъп до тази стойност от различен клас (моята didRegisterForRemoteNotificationWithDeviceToken обратна връзка се намира в главния делегат на приложението). Благодаря за всяка помощ за цел C новак!

Отговори:

5 за отговор № 1

Бих задал собственост в AppDelegate, която може да бъде достъпна отвсякъде и да я настроите на символа на устройството.

// .h
@interface SomeAppDelegate : NSObject <UIApplicationDelegate> {
NSString * dToken;
}

@property (nonatomic, retain) NSString * dToken;

// .m
@implementation SomeAppDelegate;
@synthesize dToken;

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {

NSString * token = [[NSString alloc] initWithData:deviceToken encoding:NSUTF8StringEncoding];
[self setDToken:token];
[token release];
}
- (void)dealloc {
[dToken release]
[super dealloc];
}

След това можете да получите достъп до това означение навсякъде, като използвате:

NSString * token = [(SomeAppDelegate*)[[UIApplication sharedApplication] delegate] dToken];