Azure通知中心注册iOS设备始终返回未经授权

时间:2014-09-17 22:23:40

标签: xamarin azureservicebus azure-notificationhub

在使用Xamarin开发iOS应用程序的早期,另一位开发人员和我使用Azure消息传递组件获得了推送通知。现在几个月后,从那时到现在,推送通知停止了工作。代码仍然与以前基本相同(几乎与组件的示例代码相同),它只是为了可维护性而移动到它自己的类。

Hub.UnregisterAllAsync(DeviceToken, error =>上,错误是:

The operation couldn’t be completed. (NSURLErrorDomain error -1012.)

Hub.RegisterNativeAsync(DeviceToken, tags, error =>上,错误是:

URLRequest failed for <NSMutableURLRequest: 0x167dbd80> 
{ URL: https://[our namespace].servicebus.windows.net/[our hub name]/Registrations/?$filter=deviceToken+eq+'[long token]'&api-version=2013-04 } 
with status code: unauthorized

我们尝试了一个新的集线器,以及一个带有新集线器的新命名空间,但没有运气。我已经回滚了自工作以来我们所做的改变,但也没有运气。在多个网络上的多个设备上发生相同的错误。它从未在APNS的门户中显示任何错误,因此我假设这是对Hub本身进行身份验证的事情。真正奇怪的是,我们编写的用于测试此注册并使用相同凭据接收通知的Windows应用商店应用没有任何问题。有人能指出我正确的方向吗?上面的错误消息非常有用。

1 个答案:

答案 0 :(得分:3)

事实证明,测试设备都关闭了自动日期和时间同步。我主要测试的iPad只关闭了大约20或30秒,所以我没有注意到它已关闭。涉及Windows或Windows Phone注册的同样问题的另一个问题让我陷入其中,但我现在无法找到它的链接。对此表示歉意,感谢无论是谁!

Looking at the API,为什么它对此如此敏感才有意义。它使用日期和时间生成SAS令牌,因此当时间只有几秒钟时就会发生未经授权的响应。