【问题标题】:pushsharp push notification to iOS error with the certificate带有证书的推送通知到 iOS 错误
【发布时间】:2019-10-04 14:59:36
【问题描述】:

大家好,我是 iOS 开发新手,我已经深入了解推送通知。我找到了 pushsharp 并正在使用本教程

Tutorial I a using

我使用的是 Windows 应用程序而不是 Web 应用程序,并添加了最新的 pushsharp。代码构建并运行,但我得到以下异常

错误发生在以下位置

我已经撤销了我的证书并重新创建了几次,并且我尝试过导出证书和密钥。两者都给了我同样的错误。

当我创建证书时,我在 Apple 门户中为 iOS 开发创建了一个。

这是我迄今为止尝试过的 根据 Jack Hua 的评论,我尝试了以下方法

登录苹果门户并删除

  • 应用 ID
  • 证书
  • 供应配置文件

Xamarin Visual Studio 没有预期的配置文件

从零开始

  1. 钥匙链访问
  2. 向证书颁发机构请求证书(代码签名)
  3. 保存证书签名请求
  4. 注册了一个启用了捆绑标识符和推送服务的新应用
  5. 添加新的配置文件
  6. 创建证书
  7. 使用创建的证书签名请求(第 3 步)
  8. 下载证书
  9. 双击证书安装到钥匙串 (钥匙串现在有新条目)
  10. 右键单击导出 p12 (如果我不这样做,我将无法在配置文件部分看到证书)
  11. 选择证书并创建配置文件 重新打开 Xamarin 工作室,配置文件显示在项目属性中

现在创建 APNs 开发证书

  1. 钥匙链访问
  2. 向证书颁发机构 (APN) 申请证书
  3. 保存证书签名请求
  4. 选择创建的应用 ID(第 4 步)
  5. 编辑应用 ID
  6. 在推送通知下选择创建证书
  7. 选择认证签名请求(第 14 步)
  8. 下载证书
  9. 双击证书进行安装 (现在 Keychain 证书中显示了两个条目,一个用于代码签名,另一个用于 APNs)
  10. 在钥匙串访问中选择APNs证书并导出.p12文件
  11. 将此包含在我的示例项目中 (根据 youtube 视频使用适当的设备令牌创建)

我仍然遇到同样的 Apns 连接错误。

我错过了什么?

根据 Jack Hua 的评论,我进一步做了这个尝试。 我已将验证标志设置为 false,但仍然出现连接错误,但内部异常是“无效的设备令牌”

经过一些研究取得了一些进展,我拥有的设备令牌有空格,删除了我没有收到任何错误的空格,但是通知从未在我的 iPad 上显示。我正在使用沙盒和 iOS 开发证书、配置文件。想知道这是开发中的一个已知问题,它将在生产中起作用。非常感谢任何帮助!!!

【问题讨论】:

标签: ios xamarin push-notification apple-push-notifications pushsharp


【解决方案1】:

创建 ApnsConfiguration 对象时会生成该错误消息,请参阅source code

 if (!Regex.IsMatch (commonName, "Apple.*?Push Services")
                    && !commonName.Contains ("Website Push ID:"))
                    throw new ArgumentOutOfRangeException ("Your Certificate is not a valid certificate for connecting to Apple's APNS servers");

不是创建推送认证...您所遵循的教程是创建一个分发配置文件,允许您将您的应用提交到 Apple App Store (不是通知)。

您可以关注this document 生成通知认证并配置您的应用以启用推送通知功能。

参考:send-push-notification-to-ios-pushsharp-certificate

【讨论】:

  • 嗨,杰克,感谢您的评论。我已经用我迄今为止尝试过的内容更新了我的问题。我仍然没有运气,我得到了同样的连接错误。我从一张白纸开始,不知道我错过了什么。有什么想法吗?
  • @Abe 您的钥匙串中的认证是否以 Apple Development iOS Push Services 为前缀? .p12 路径是否正确?项目中.p12的名字和你刚刚创建的一样吗?
  • 您的钥匙链中的认证是否以Apple Development iOS Push Services为前缀。?是 .p12 路径是否正确?是的(我没有遇到路径错误,并且配置已创建)项目中 .p12 的名称是否与您刚刚创建的名称相同?当我保存 p12 时,我用不同的名称保存了它。名称是否必须匹配,但我只关心文件中的内容。
  • @Abe 你的推送认证好像没问题。你能试试这个thread的解决方案吗?
  • 嗨,杰克,我尝试了您的建议。我仍然收到 Apns 连接错误,但内部异常是 Invalid device token。我有一个简单的应用程序,它在从 xamarin (Visual Studio) 发布的 ipad 上运行,它可以让我获得设备令牌。我在我的 Windows 窗体应用程序中复制此设备令牌并尝试发送通知。有什么想法吗?
猜你喜欢
  • 1970-01-01
  • 2015-01-10
  • 2023-03-18
  • 2014-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多