最近app收不到通知,android端正常,ios端收不到
所以这是我的尝试:
1) generate token from apple apn service
2) create the endpoint at amazon backend
3) publish the message at amazon backend
4) it does not receive message and the endpoint will go to disabled after a while.
我检查了以下内容:
1) try serveal ios device , including iphone/ ipad/ipod touch also the same result
2) checked the secret key/ platform arn it is matched
3) created another platform ARN but still the same.
那么,我应该继续调试什么方向,例如是推送通知证书吗?我应该检查编码的哪一部分,因为它以前有效但最近才失败。
非常感谢。
最佳答案
创建您的 APNs 沙盒(开发)证书(确保您选择的是开发证书的捆绑标识符)
创建沙盒证书后,验证推送通知服务是否已为您的配置文件启用(您不能使用 APNS 证书创建配置文件,您必须使用使用开发证书创建的配置文件)
如果您已经安装了开发配置文件,则从以下路径“xcode-prefrences-select apple developer account - view details - provisiong profile”中删除
从成员(member)中心下载开发配置文件并安装。选择新安装的配置文件和证书
登录到 Amazon SNS 并选择最近的位置(在右上角),如下图红色椭圆所示。 Change Location place
在“移动服务”部分下选择 SNS(推送通知服务)
现在您将进入 SNS 主屏幕,现在从侧面菜单中选择应用程序
单击“创建平台应用程序”。输入应用程序名称,然后选择推送通知平台为“Apple Development”,推送证书类型为“iOS Push Certificate”
现在你必须上传privateKey.p12
获取privateKey.p12的过程
要获取 privateKey.p12,请下载 APNs(sandbox) 证书并将其安装在 krychain 中。然后打开钥匙串(keychain)访问并展开证书然后选择开发者帐户持有人的姓名(它将有 key 图标和种类作为“私钥”) 现在右键单击帐户持有人姓名并单击导出(如果需要,请输入文件密码或留空)然后名称为 privatekey.p12 并将其存储在桌面上
从桌面选择 privateKey.p12 然后输入密码(如果已设置)然后单击“从文件加载证书”,然后证书和私钥字段将填充从 privateKey.p12 导出的值。
单击“创建应用程序平台”,您的新 ios 应用程序已创建。
点击 ARN,它将进入您的应用程序。现在点击“创建平台端点”
运行您的移动应用并获取 deviceToken
在“设备 token ”字段中输入设备 token ,并在用户数据中提供设备名称。现在点击“添加端点”
选择添加的端点并点击“发布到端点”
根据您的需要选择消息格式,然后输入您的消息,然后单击“发布消息”。
关于ios - Amazon sns(推送通知)不发送到 IOS 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30679032/
对于具有离线功能的智能手机应用程序,我正在为Xml文件创建单向文本同步。我希望我的服务器将增量/差异(例如GNU差异补丁)发送到目标设备。这是计划:Time=0Server:hasversion_1ofXmlfile(~800kiB)Client:hasversion_1ofXmlfile(~800kiB)Time=1Server:hasversion_1andversion_2ofXmlfile(each~800kiB)computesdeltaoftheseversions(=patch)(~10kiB)sendspatchtoClient(~10kiBtransferred)Cl
大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje
我构建了两个需要相互通信和发送文件的Rails应用程序。例如,一个Rails应用程序会发送请求以查看其他应用程序数据库中的表。然后另一个应用程序将呈现该表的json并将其发回。我还希望一个应用程序将存储在其公共(public)目录中的文本文件发送到另一个应用程序的公共(public)目录。我从来没有做过这样的事情,所以我什至不知道从哪里开始。任何帮助,将不胜感激。谢谢! 最佳答案 无论Rails是什么,几乎所有Web应用程序都有您的要求,大多数现代Web应用程序都需要相互通信。但是有一个小小的理解需要你坚持下去,网站不应直接访问彼此
我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r
刚入门rails,开始慢慢理解。有人可以解释或给我一些关于在application_controller中编码的好处或时间和原因的想法吗?有哪些用例。您如何为Rails应用程序使用应用程序Controller?我不想在那里放太多代码,因为据我了解,每个请求都会调用此Controller。这是真的? 最佳答案 ApplicationController实际上是您应用程序中的每个其他Controller都将从中继承的类(尽管这不是强制性的)。我同意不要用太多代码弄乱它并保持干净整洁的态度,尽管在某些情况下ApplicationContr
如果您尝试在Ruby中的nil对象上调用方法,则会出现NoMethodError异常并显示消息:"undefinedmethod‘...’fornil:NilClass"然而,有一个tryRails中的方法,如果它被发送到一个nil对象,它只返回nil:require'rubygems'require'active_support/all'nil.try(:nonexisting_method)#noNoMethodErrorexceptionanymore那么try如何在内部工作以防止该异常? 最佳答案 像Ruby中的所有其他对象
我是一个Rails初学者,但我想从我的RailsView(html.haml文件)中查看Ruby变量的内容。我试图在ruby中打印出变量(认为它会在终端中出现),但没有得到任何结果。有什么建议吗?我知道Rails调试器,但更喜欢使用inspect来打印我的变量。 最佳答案 您可以在View中使用puts方法将信息输出到服务器控制台。您应该能够在View中的任何位置使用Haml执行以下操作:-puts@my_variable.inspect 关于ruby-on-rails-如何在我的R
这里有一个很好的答案解释了如何在Ruby中下载文件而不将其加载到内存中:https://stackoverflow.com/a/29743394/4852737require'open-uri'download=open('http://example.com/image.png')IO.copy_stream(download,'~/image.png')我如何验证下载文件的IO.copy_stream调用是否真的成功——这意味着下载的文件与我打算下载的文件完全相同,而不是下载一半的损坏文件?documentation说IO.copy_stream返回它复制的字节数,但是当我还没有下
我正在尝试解析一个文本文件,该文件每行包含可变数量的单词和数字,如下所示:foo4.500bar3.001.33foobar如何读取由空格而不是换行符分隔的文件?有什么方法可以设置File("file.txt").foreach方法以使用空格而不是换行符作为分隔符? 最佳答案 接受的答案将slurp文件,这可能是大文本文件的问题。更好的解决方案是IO.foreach.它是惯用的,将按字符流式传输文件:File.foreach(filename,""){|string|putsstring}包含“thisisanexample”结果的
是否可以在应用程序中包含的gem代码中知道应用程序的Rails文件系统根目录?这是gem来源的示例:moduleMyGemdefself.included(base)putsRails.root#returnnilendendActionController::Base.send:include,MyGem谢谢,抱歉我的英语不好 最佳答案 我发现解决类似问题的解决方案是使用railtie初始化程序包含我的模块。所以,在你的/lib/mygem/railtie.rbmoduleMyGemclassRailtie使用此代码,您的模块将在