0

正如我在谷歌上搜索的那样,我不确定在 .NET 服务器中实现 APN 需要什么。在 PHP 服务器中,我们创建 .PEM 文件,但我的 .NET 开发人员要求我提供 .P12 文件,所以我很困惑。

正如raywenderlich的这篇不错的教程所建议的那样,需要为 PHP 服务器生成什么是 .PEM 文件,但对于 .NET 需要生成什么?

正如本教程所建议的那样

  • CSR(开发者证书)
  • 私钥作为 p12 文件(myapp.p12)(开发证书)
  • SSL 证书 aps_development.cer

我想发送这个应用程序进行临时分发,所以我的 p12 文件将来自分发证书吗?

还是我必须只给.p12 file of my distribution certificatessl certificate

4

2 回答 2

1

我想你有你需要的所有东西。

您已将aps_development.cer其添加到您的 keyChain Access 中。会这样显示...

在此处输入图像描述

之后将此证书导出到 .p12 文件中

在此处输入图像描述

在此处输入图像描述

如果需要,请添加密码

在此处输入图像描述

而且mac会询问你的用户密码来验证

在此处输入图像描述

完成所有这些操作后,您将获得 SSL 证书的 .p12 文件。现在将此代码添加到您的 AppDelegate

- (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(@"Dilip My token is: %@", deviceToken);
       //remember this token it will be used at server side
}

- (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error
{
    NSLog(@"Dilip Failed to get token, error: %@", error);
}

现在您有两件事首先是certificate.p12文件并将Device Token其提供给您的 .net 开发人员,您将在您身边完成,您将收到通知。

在服务器端这两个链接对于在服务器端实现 APN 非常有帮助。

链接 1 链接 2

是的,不要忘记你从苹果得到的令牌会像这样显示, <a3002e43 c1d2d80d 95b0a1a6 893b3f7c c410a489 747b933d 04551d68 688c6c65>所以你必须删除空格和括号,当我第一次实现 APN 时我遇到了问题,你的字符串必须看起来像这样a3002e43c1d2d80d95b0a1a6893b3f7cc410a489747b933d04551d68688c6c65

于 2013-07-18T07:47:08.567 回答
0

或者,如果您想要一个简单的解决方案并且您不介意使用 3rd 方软件,您可以查看PushSharp。该库非常流行,并支持许多自定义选项。

要生成所需的证书和密钥,请使用本教程

希望能帮助到你!

于 2013-07-18T08:06:25.380 回答