iOS推送通知证书的AuthenticationException
我正在尝试使用PushSharp将推送通知发送给我的应用.我有两个Apple帐户...一个是一个常规帐户,另一个是一个企业帐户.我在常规帐户上有一个开发人员证书,但我的开发和分销证书都无法从企业帐户中使用.我有一个身份验证例外.. A call to SSPI failed, see inner exception. Inner Exception: [System.ComponentModel.Win32Exception]: {"An unknown error occurred while processing the certificate"} 这是在此PushSharp的这个代码中发生的(我没有评论该行: try { stream.AuthenticateAsClient(this.appleSettings.Host, this.certificates, System.Security.Authentication.SslProtocols.Ssl
10 2024-04-25
编程技术问答社区
PushSharp APNS服务在Windows关机后停止工作
我可以使用Sandbox APNS服务器的Push Sharp将通知发送到我的iPhone设备,但我有问题. 我已经生成了.cer和.p12文件,然后成功地将它们安装在我的Windows 8开发机上. 我使用 this 在我的Windows 8机器上安装证书的教程. 昨天情况正常,我正在成功发送通知.我关闭了我的系统,然后第二天尝试运行遵循的代码时,我会遵循以下例外: 该消息是出乎意料的或格式不佳的PushSharp 我尝试了Google上可用的其他解决方案,但没有任何帮助.然后,我从我的机器中删除证书,然后重新安装它们,并且一切再次开始工作. 为了使Service Pool证明我关闭系统以检查通知发送失败是否失败,是的,它再次失败,同样的例外. 我再次删除证书并重新安装它们以纠正问题.我不知道Actuall问题是什么?是什么使PushSharp在关闭后停止发送通知. 注意:Windows Firwall被禁用. 任何想法? 解决方案
10 2024-04-24
编程技术问答社区
.NET核心2.1苹果推送通知
我必须使用我的.NET Core WebAPI将推送通知发送到特定的iOS设备,该设备将在Windows 2008 Server R2上执行.服务器本身不应该是问题,因为它正在使用node.js库.但是我希望它可以与ASP .NET Core 2.1中的WEPAPI一起使用,该核心2.1与内置的kestrel服务器自托管.也许您有一个想法如何解决这个问题. 我的代码: // This will encode the jason web token apns needs for the authorization // get the base64 private key of the .p8 file from apple string p8File = System.IO.File.ReadAllText(Settings.Apn.PrivateKey); p8File = p8File.Replace("-----BEGIN PRIVATE KEY-----", stri
2 2024-04-24
编程技术问答社区
当前仅支持HTTP/1.0和HTTP/1.1版本请求
我尝试使用HTTP2请求向APNS服务器发出请求,但我收到了此错误消息: 当前仅支持HTTP/1.0和HTTP/1.1版本请求. 我的请求: public static async Task SendManualApns(int type, long? requestId, string title, string message, int badge, string deviceToken) { var cert = new X509Certificate2(HttpContext.Current.Server.MapPath(ApnCertPath), ApnCertPassword, X509KeyStorageFlags.MachineKeySet); var req = new HttpRequestMessage(HttpMethod.Post, "https://api.sandbox.push.apple.com/3/devi
异步任务挂起
我有以下代码: public async Task SendPushNotificationAsync(string username, string message) { var task = ApnsNotifications.Instance.Hub.SendAppleNativeNotificationAsync(alert, username); if (await Task.WhenAny(task, Task.Delay(500)) == task) { return true; } return false; } 我注意到SendAppleNativeNotificationAsync无限期地悬挂(从未返回包含方法),所以我试图告诉它在500ms之后取消.但是仍然...对WhenAny的电话现在挂起,我从来没有看到return受到打击,导致消费者无限期地等待(这是一种称为异步方法的同步方法,所以我称之为.wait()
2 2024-04-22
编程技术问答社区
在iOS上使用Azure Notification Hub无法收到推送通知--didReceiveRemoteNotification未被调用
我遵循了这些通知中心资源,并且在我的iOS设备上没有成功接收推送通知. http://channel9 . 我已经检查,重新检查并重新检查了我的设置: 创建了一个新的通知中心:myhubname 遵循所有证书供应步骤. 在沙盒下导出了私人证书并将通知中载上传到通知中心以确保使用正确的APS网关 下载了配置配置文件,该配置文件与我的项目的捆绑包ID匹配,自动检测到代码签名,并成功编译.请勿使用" V2D7FJQXP".如果您想知道的话,该字符串显示在您的应用ID中:v2d7fjqxp.com.yourcompany.yourproject 在物理设备上运行 - 不在模拟器下 正在生成推送通知的演示应用程序: while (true) { string connectionString = ServiceBusConnectionStringBuilder.CreateUsingSharedAccessSecretWithFullAccess("
苹果推送通知与APNS锐利
我使用apns Sharp库作为我的Apple Push Notification.我已经从这里.锐利的库没有任何修改. 直到我将断开点放在那条代码线上之前,它根本不会发送任何通知. 如果我提出了休息点.我只是工作正常.这是预期的行为,还是我做错了什么.而且我没有任何例外.谢谢你的帮助. 这是代码 static void Main(string[] args) { bool sandbox = true; string testDeviceToken = "Token"; string p12File = "apn_developer_identity.p12"; string p12FilePassword = "yourpassword"; int sleepBetweenNotifications = 15000; string p12Filename = System.IO.Path.Combine(AppDomain.Cu
4 2024-04-22
编程技术问答社区
在Windows中为苹果推送通知创建P12证书
我在C#中为iPhone做推送通知(服务器端).我有" developer_push_ssl_certi.cer"文件. 如何从.cer文件创建.p12证书?或者我必须在PC中安装上面的.cer文件? 在服务器端发送推送通知所需的文件是什么. 请指导我,Windows中APN(服务器端)所需的认证过程是什么. 解决方案 首先将此新证书(developer_push_ssl_certi.cer)安装到您的Mac. 然后打开钥匙链访问并从左菜单导航到键.查找您的开发证书. 展开您的证书您会看到私人和公共线,然后右键单击"私人",用密码导出此证书. 那足以从Windows发送通知. 其他解决方案 您不需要Mac转换证书,只需使用openssl( http://www.openssl.org ) 这是命令 $ openssl x509 -in cert.cer -inform DER -outform PEM -out cert.pem
4 2024-04-21
编程技术问答社区
用pushsharp发送存折更新
我正在尝试测试与Apple的Push Notification Sandbox Server交谈. 我在 我制作了一个示例C#控制台应用程序,看起来像以下 PushBroker push = new PushBroker(); var appleCert = File.ReadAllBytes(@"devapns.p12"); push.OnNotificationSent += NotificationSent; push.OnChannelException += ChannelException; push.OnServiceException += ServiceException; push.OnNotificationFailed += NotificationFailed; push.OnDeviceSubscriptionExpired += DeviceSubscriptionExpired; push.OnChannelCreated += Chann
4 2024-04-20
编程技术问答社区
Pushsharp苹果通知 对SSPI的调用失败的错误
我正在使用PushSharp在C#中发送Apple Push Notification,我的Production .pem文件及其密码.以下是我的代码片段.am总是会遇到此错误. "A call to SSPI failed, see inner exception. ---> System.ComponentModel.Win32Exception: The message received was unexpected or badly formatted-" 或 "System.IO.IOException: Authentication failed because the remote party has closed the transport stream." 我尝试了Net中几乎所有可用的代码.我使用相同的.pem文件并运行一个PHP脚本将推送通知从同一服务器发送到APN,它可以正常工作. var push = new PushBroker()
8 2024-04-16
编程技术问答社区
用C#编写苹果推送通知的服务器端
我是.NET的新手,并且在C#中执行APN服务器端.我正在使用以下代码将消息推向Apple服务器. private void pushMessage() { int port = 2195; String deviceID = "4564c705 63b371aa 3811699e 1e4ac3d2 ba592b27 f2a5a613 d25cd035 xx213e54"; String hostname = "gateway.sandbox.push.apple.com"; // TEST //String hostname = "gateway.push.apple.com"; // REAL // @"cert.p12"; String certificatePath = HttpContext.Current.Serve
8 2024-04-15
编程技术问答社区
PushSharp Apple-收到的信息是意外的或格式不好的
我正在使用PushSharp的2.1.2版.该应用程序为.NET 4.5.1(尽管我也尝试针对.NET 4.5和.NET 4) 我正在尝试,但没有成功地通过沙盒Apple APN发送推送消息. 我正在成功地使用提供的PHP脚本发送消息 Ray Wenderlich的演练使用相同的证书并发送到与我的PushSharp应用程序相同的设备ID. 我已经通过从钥匙链中导出完成的证书作为p12进行了测试.导出完成的证书和密钥.导出私钥.同样是使用我已经将P12证书导入了我测试过的机器 - 似乎没有区别. 我尝试在将Apple推送服务注册到Push Broker时更改ISProduction标志.当将其设置为生产时,没有错误(即使这是沙盒证书),但是在这种情况下,它显然也不会访问该设备. 我的一条消息都不会通过,所有邮件都会得到一个服务异常,如以下内容: System.Security.Authentication.AuthenticationException:
4 2024-04-13
编程技术问答社区
如何在C#中实现基于苹果令牌的推送通知(使用p8文件)?
对于具有某种基于聊天功能的应用程序,我想添加用于接收新消息的推送通知支持. 我想做的是使用Apple的新的基于令牌的身份验证(.p8文件),但我找不到有关服务器部分的信息. 我遇到了以下文章: c# 但是,答案并不令人满意,因为关于如何: 没有太多细节 与APNS建立连接 使用P8文件(某种编码除外) 将数据发送到Apple Push Notification Service 解决方案 您目前无法在RAW .NET框架上真正执行此操作.新的基于JWT的APNS服务器仅使用HTTP/2,其中.NET Framework尚不支持. .net core的System.Net.Http版本,只要您符合以下先决条件: 在Windows上,您必须运行Windows 10周年版(V1607)或更高版本,或Windows Server 2016的等效构建(我认为). 在Linux上,您必须具有支持http/2的版本libcurl. 在MacOS上,您必须在支持HT
6 2024-04-13
编程技术问答社区
使用ASP.NET服务器添加iPhone推送通知
这是概述. 我需要在iPhone应用程序中添加推送通知.服务器端是C#中的ASP.NET. 我想要的是一些教练在整个过程中工作.然后,我将发布iPhone项目和ASP.NET Web应用程序的通用代码以及分步说明,以便其他人可以学习. 这是我的理解: 申请APNS证书,并将其添加到键链中. (不确定如何将其带到ASP.NET) 让iPhone登记为寄存器ForremoteNotificationWithTypes,将值发送到您的服务器,然后存储在DB中.似乎要注册的代码应该很容易,但我找不到一个好的样本. (将值发送到ASP.NET服务器没有问题.) 您的服务器应用程序创建一个有效负载字符串,是否编码JSON,使用将其设备令牌保存到DB中的iPhone(或可以用于组的iPhone)发送到APNS服务器. 为了开发加法,以下是: iPhone注册代码 将iPhone注册代码发送到服务器并保存到DB的代码(这很容易,我已经有这些作品). C
4 2024-04-13
编程技术问答社区
如何实现Firebase xamarin.ios c#的推送通知
我正在开发一个通过Firebase Backend在iPhone上使用的应用程序.我想要推送通知FCM Firebase ,但我不能,我想要AppDelegate.cs 中的代码 解决方案 要在C#中使用Xamarin.ios实现推送通知,您可以尝试使用 xamarin.firebase.ios.cloudmessaging . 和有关设置 - a-firebase-cloud-message-client-app-on-ios 那里. AppDelegate和Sample project中的代码示例也可用. 附加,在这里是关于在iOS应用中创建推送通知证书和设置的文档.
2 2024-04-12
编程技术问答社区
如何在C#中编写一个苹果推送通知提供者?
Apple确实有关于提供商如何连接和与他们的服务进行交流(在撰写本文时-2009)的糟糕文档.我对协议感到困惑.在C#? 中如何完成此操作 解决方案 工作代码示例: int port = 2195; String hostname = "gateway.sandbox.push.apple.com"; //load certificate string certificatePath = @"cert.p12"; string certificatePassword = ""; X509Certificate2 clientCertificate = new X509Certificate2(certificatePath, certificatePassword); X509Certificate2Collection certificatesCollection = new X509Certificate2Collection(clientCertificate);
4 2024-04-11
编程技术问答社区
我的应用程序显示名称与通知中心的名称不同
我的捆绑包就像sophia.music,但我将捆绑包中的显示名称更改为"音乐",它可以正常运行. 但是,当我收到通知时,我检查了通知中心的通知,它仍然显示音乐.我该如何更改它?有评论吗? 解决方案 请按照以下步骤更改名称: 转到目标设置 选择"构建设置" 搜索"产品名称".它可以在包装标头下 在这里写你的名字 其他解决方案 用于更改应用程序名称SET CFBundleDisplayName info.plist 文件中的值: CFBundleDisplayName New app name here 以这种方式指定的名称将显示在应用程序图标下的设备上. 推送通知服务取决于App Bundle ID CFBundleIdentifier. 因此您不需要再生证书.
2 2024-04-05
编程技术问答社区
iOS中的蓝牙LE和ANCS
我可以在iOS上开发服务以在ANCS上注册,以便当iPhone获取通知时,服务通过我的设备BT LE协议通知频段? 我在 解决方案 正确.在链接所述,您使用"服务招标"在被动扫描时引起iOS设备的注意. 您不需要在iOS设备上运行应用程序,也不需要向应用商店提交任何内容 - 您甚至不需要付费即可成为开发人员. 另外,我应该提到,您的硬件设计不需要提交给Apple MFI程序.
如何用Erlang发送推送通知?
我正在尝试使用Erlang向APN发送推送通知. 这是我到目前为止提出的代码: -module(apnstest2). -export([connect/0]). connect() -> application:start(ssl), ssl:seed("someseedstring"), Address = "gateway.sandbox.push.apple.com", Port = 2195, Cert = "/path/to/Certificate.pem", Key = "/path/to/Key.unenc.pem", Options = [{certfile, Cert}, {keyfile, Key}, {mode, binary}], Timeout = 1000, {ok, Socket} = ssl:connect(Address, Port, Options, Timeout),
14 2024-03-30
编程技术问答社区
从推送通知中更新sqlite数据库,应用程序已关闭,没有在后台运行,iOS
我正在尝试更新收到通知并由用户关闭/杀死应用程序时更新本地SQLITE数据库.当应用是背景模式或活动模式时,一切正常. 参考:参考堆栈链接1 参考堆栈链接2 这是我尝试的代码: -(void)application:(UIApplication )application didReceiveRemoteNotification:(NSDictionary )userInfo fetchCompletionHandler:(nonnull void (^)(UIBackgroundFetchResult))completionHandler{ NSLog(@"App Background :%@",userInfo); if(application.applicationState == UIApplicationStateInactive) { NSLog(@"Inactive"); //Show the view with
0 2024-03-27
编程技术问答社区