在我的 iPhone 应用程序中,我从 Apple 获取设备令牌,我在 Delegate 文件中分配了一个公共属性,如下所示:
- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
self.dToken = [[NSString alloc] initWithData:deviceToken encoding:NSUTF8StringEncoding];
}
dToken 属性声明如下:
NSString *dToken;
@property (nonatomic,retain) NSString *dToken;
但是当我尝试从另一个文件中检索设备令牌时,我得到了 null 值。
+(NSString *) getDeviceToken
{
NSString *deviceToken = [(MyAppDelegate *)[[UIApplication sharedApplication] delegate] dToken];
NSLog(@" getDeviceToken = %@",deviceToken); // This prints NULL
return deviceToken;
}
我究竟做错了什么?