Iphone iOS推送通知不适用于分发
我已经为我的开发应用程序尝试了推送通知,它运行良好。当我生成生产(分发)的.p12文件时,它被创建。在服务器上部署.pem文件后,它将抛出并出错 OpenSSL::SSL::SSLError(SSL\u connect返回=1 errno=0 state=SSLv3读取服务器 会话记录单A:sslv3警报证书未知):“} 服务器:RoR(Ruby on Rails) 任何帮助都是值得感激的 注意:用于开发。p12工作正常。问题在于我部署分发时。p12。请建议我可能缺少什么。Iphone iOS推送通知不适用于分发,iphone,ruby-on-rails,ios,push-notification,apple-push-notifications,Iphone,Ruby On Rails,Ios,Push Notification,Apple Push Notifications,我已经为我的开发应用程序尝试了推送通知,它运行良好。当我生成生产(分发)的.p12文件时,它被创建。在服务器上部署.pem文件后,它将抛出并出错 OpenSSL::SSL::SSLError(SSL\u connect返回=1 errno=0 state=SSLv3读取服务器 会话记录单A:sslv3警报证书未知):“} 服务器:RoR(Ruby on Rails) 任何帮助都是值得感激的 注意:用于开发。p12工作正常。问题在于我部署分发时。p12。请建议我可能缺少什么。 感谢并问候如果您想跳
感谢并问候如果您想跳过验证,可以使用此选项
require 'net/http'
require 'openssl'
class Net::HTTP alias_method :origConnect, :connect
def connect
@ssl_context.verify_mode = OpenSSL::SSL::VERIFY_NONE
origConnect
end
end
资料来源:
但既然我们想要安全,你应该使用下面的
ENV['SSL\u CERT\u DIR']='/usr/share/ca certificates/'
有关更多解决方案,请参见服务器代码 gateway.push.apple.com,用于分发的端口2195 gateway.sandbox.push.apple.com,端口2195
如果所有其他选项都不起作用,那么您应该检查您是如何导出p12文件的。您应该导出与苹果生产证书关联的p12文件,我希望它会起作用。。因为它对我有效!!!我解决了它。它是一个.p12文件错误。我没有创建我必须使用的.p12文件
谢谢!!我正在使用gem'rpush',它从凭据文件夹中获取pem文件并将其存储在数据库中。我的解决方案是从数据库中删除所有旧的rpush::Apns::App记录,并在更新凭据文件夹中的pem文件后重新生成记录
app = Rpush::Apns::App.new
app.name = "ios_app"
app.certificate = File.read("/path/to/sandbox.pem")
app.environment = "sandbox" # APNs environment.
app.password = "certificate password"
app.connections = 1
app.save!
n = Rpush::Apns::Notification.new
n.app = Rpush::Apns::App.find_by_name("ios_app")
n.device_token = "..." # 64-character hex string
n.alert = "hi mom!"
n.data = { foo: :bar }
n.save!