所以我有一个名为Dripper的应用程序,我在一个月前推出,然后几天前更新.该更新添加了推送通知和一些小调整.我使用开发配置文件使用sandbox-apn测试了它,并且工作得很好.然后我将东西切换到生产apn并将其推送到试飞,再次完美的工作.一旦我将更新推向市场并运行它,我注意到我没有在服务器上获得任何新的推送注册.我查看了设备的控制台日志,发现了这个:
12月4日17:55:15 Ina-touch-it coffco [1210]:注册远程通知
Dec 4 17:55:15 Ina-touch-it SpringBoard [52]:找不到有效的'aps-environment'权利字符串'滴头':( null).通知将不会发送.
12月4日17:55:15 Ina-touch-it coffco [1210]<Warning>: Failed to register with error : Error Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment' entitlement string found for application" UserInfo=0x174270900 {NSLocalizedDescription=no valid 'aps-environment' entitlement string found for application}
我有点困惑,因为我认为production-apn在ad-hoc和app store构建之间的功能相同.
这是我的应用程序ID及其权利 - > http://i.stack.imgur.com/uf4pB.png
以下是应用商店的配置文件 - > http://i.stack.imgur.com/AYOV5.png
我正在研究一个事件处理程序来报告远程api的异常(类似于newrelic代理),我找不到将我的中间件添加到机架而不在environment.rb文件中执行的方法.
我不想在environment.rb文件中这样做,因为我打算把它变成一个gem,我想最小化安装过程.
这是我想要添加到我的应用程序中的简单中间件:
#/lib/response_timer.rb
class ResponseTimer
def initialize(app)
@app = app
end
def call(env)
#do something here
@app.call(env)
end
end
Run Code Online (Sandbox Code Playgroud)
我可以找到包含它的唯一方法是将其添加到我的环境cofig:
config.middleware.use "ResponseTimer"
Run Code Online (Sandbox Code Playgroud)
我已经使用rails工作了一年多,但这是我第一次使用机架和中间件.
任何建议表示赞赏!