【问题标题】:libPusher + updating an open NSMenulibPusher + 更新一个打开的 NSMenu
【发布时间】:2012-08-04 15:29:20
【问题描述】:

我有一个NSMenu,我想用通过pusherapp 推送到我的应用程序并使用libPusher client library 接收的项目来更新它。但是NSEventTrackingRunLoopMode似乎没有收到事件。

给定以下 sn-p:

[channel bindToEventNamed:@"my_event" handleWithBlock:^(PTPusherEvent *event) {
    NSLog(@"event received");
}];

我在保持菜单打开的同时等待推送发生,我希望立即收到该事件,但我只在关闭菜单时收到它。

我也尝试将主队列传递给bindToEventNamed:handleWithBlock:queue:(使用dispatch_get_main_queue();),但无济于事。

所以我想知道是我做错了什么还是 libPusher 中存在错误?

【问题讨论】:

标签: objective-c pusher


【解决方案1】:

我是 libPusher 的作者。您看到此问题的原因是 libPusher 使用的底层 WebSocket 库 SocketRocket 仅适用于默认运行循环模式。

好消息是这个问题已经在 SocketRocket 的最新 HEAD 中得到修复。我已经针对最新的 SocketRocket 测试了 libPusher,并且可以确认它修复了这个问题,并且我打算将这些更改滚动到下一个版本。

现在,我刚刚检查了尚未解决的 Github 问题,并意识到您是这个错误的原始报告者,所以您可能已经知道这一切,但无论如何我都会为后代发布这个答案。

【讨论】:

  • 实际上,我确实在 github 上发布了错误报告;)
猜你喜欢
  • 2012-04-25
  • 2011-06-05
  • 1970-01-01
  • 2011-02-17
  • 2012-07-31
  • 1970-01-01
  • 1970-01-01
  • 2013-02-16
  • 1970-01-01
相关资源
最近更新 更多