Azure通知中心未注册到服务器。我没有更改代码中的任何内容,它将设备注册到服务器。早些时候它工作得很好,但现在不行。
运行此代码时出现此问题:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
SBNotificationHub* hub = [[SBNotificationHub alloc] initWithConnectionString:HUBFULLACCESS notificationHubPath:HUBNAME];
[hub unregisterAllWithDeviceToken:deviceToken completion:^(NSError* error){
dispatch_async(dispatch_get_main_queue(), ^{
[hub registerNativeWithDeviceToken:deviceToken tags:tags completion:^(NSError* error) {
if (error != nil) {
NSLog(@"Error registering for notifications: %@", error);
} else {
NSLog(@"Registerd for notification");
}
}];
});
}];
});
这是错误:
错误Domain = WindowsAzureMessaging Code = 400“对于{URL:https://.servicebus.windows.net//Registrations/2044525541292942848-4457854038111768645-1?api-version = 2013-04},URLRequest失败,状态码为:bad请求“UserInfo = {NSLocalizedDescription = URLRequest失败,{URL:https://.servicebus.windows.net//Registrations/2044525541292942848-4457854038111768645-1?api-version = 2013-04},状态码:错误请求}
我检查了所有证书和个人资料,一切都很好。
答案 0 :(得分:0)
由于Create Registration表示约400个响应代码:
无效的请求正文。无法创建注册,因为请求格式不正确。
根据我的理解,您可以利用fiddler和Capture Traffic from iOS Device获取详细的错误消息,这是我的测试,您可以参考它:
此外,我假设您需要检查标签的格式。正如Routing and Tag Expressions所述,标记:
标签可以是任意字符串,最多120个字符,包含字母数字和以下非字母数字字符:'_','@','#','。',':',' - '。