Проблемы с модулем libPusher - отключение во время подписки на канал

Я использую модуль libPusher в проекте Ruby Motion, но сталкиваюсь с проблемой, когда мой код работает при использовании в REPL, но не в самом приложении.

Когда я пытаюсь этот код в viewDidAppear Метод, он подключается успешно, а затем отключается во время вызова подписки канала.

Когда я пытаюсь это в консоли, он подключается и подписывается отлично. (тот же код)

Я пытаюсь выяснить:

  1. Почему это происходит
  2. Что я должен изменить, чтобы облегчить проблему?

Я использую v 1.5 из pod v2.31 из Ruby Motion

Для справки, я также использую платформу ProMotion, но сомневаюсь, что это как-то связано с этой проблемой.

Вот мой код:

client = PTPusher.pusherWithKey("my_pusher_key_here", delegate:self, encrypted:true)
client.connect
channel = client.subscribeToChannelNamed("test_channel_1")
channel.bindToEventNamed('status', target: self, action: 'test_method:')

1 ответ

Ну, я получил это, разделив вызовы подключения и подписки на отдельные методы жизненного цикла.

Я кладу:

client = PTPusher.pusherWithKey("my_pusher_key_here", delegate:self, encrypted:true)
client.connect

в метод viewDidLoad

а также:

channel = client.subscribeToChannelNamed("test_channel_1")
channel.bindToEventNamed('status', target: self, action: 'test_method:')

в метод viewDidAppear.

Не могу сказать, что точно знаю, почему это сработало, но я предполагаю, что это связано со временем между вызовами. Процесс подключения должен занять немного времени для завершения.

Другие вопросы по тегам