[英]how to get device token?
我将用户名,密码和devicetoken的值发布到.net webservice。 但它没有获得任何设备令牌值。 我正在使用下面的代码。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeBadge|UIRemoteNotificationTypeAlert ];
}
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
NSLog(@"didRegisterForRemoteNotificationsWithDeviceToken: %@", deviceToken);
NSString *dt = [[deviceToken description] stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"<>"]];
dt = [dt stringByReplacingOccurrencesOfString:@" " withString:@""];
self.DeviceToken=dt;
NSLog(@"~~~~devToken(dv)=%@",deviceToken);
}
- (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error
{
NSLog(@"Failed to get token, error: %@", error);
}
但在控制台中显示
无法获得令牌,错误:错误Domain = NSCocoaErrorDomain Code = 3000“找不到应用程序的有效'aps-environment'权利字符串”UserInfo = 0x1a0810 {NSLocalizedDescription =找不到应用程序的有效'aps-environment'权利字符串
任何想法? 提前致谢!
我假设您正在设备上运行/调试,因为您尝试从模拟器注册推送令牌时会遇到不同的错误。 只是想把它弄清楚。
话虽这么说,通常会导致您看到的错误是在您选择的配置文件中未启用推送通知。 现在,您可能已经进入iOS Provisioning Portal并为您的App ID启用了Push(如果您已为您的开发或分发配置文件启用了Push,请注意)。 但是,在执行此操作之后,您必须进入并“清理”供应门户的供应配置文件,以生成其中包含推送权利的新供应配置文件。
通过'弄脏'它我的意思是进入并改变配置文件的一些设置以强制重新创建。 如果你回到配置文件列表,你会知道你是否“弄脏”它,状态会暂时变为'待定'几秒钟,然后再次变为'活动'并允许你下载它。
哦,我刚刚发现这也回答了这个问题(有人请帮忙,如果我把它链接错了请): 捆绑标识符和推送证书... aps-environment entitlement error
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
NSLog(@"didRegisterForRemoteNotificationsWithDeviceToken: %@", deviceToken);
NSString *dt = [[deviceToken description] stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"<>"]];
dt = [dt stringByReplacingOccurrencesOfString:@" " withString:@""];
self.DeviceToken=dt;
}
要获取设备令牌,请在设备中运行应用程序 。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Let the device know we want to receive push notifications
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
return YES;
}
- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
NSLog(@"My token is: %@", deviceToken);
}
- (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error
{
NSLog(@"Failed to get token, error: %@", error);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.