Проблемы с модулем libPusher - отключение во время подписки на канал
Я использую модуль libPusher в проекте Ruby Motion, но сталкиваюсь с проблемой, когда мой код работает при использовании в REPL, но не в самом приложении.
Когда я пытаюсь этот код в viewDidAppear
Метод, он подключается успешно, а затем отключается во время вызова подписки канала.
Когда я пытаюсь это в консоли, он подключается и подписывается отлично. (тот же код)
Я пытаюсь выяснить:
- Почему это происходит
- Что я должен изменить, чтобы облегчить проблему?
Я использую 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.
Не могу сказать, что точно знаю, почему это сработало, но я предполагаю, что это связано со временем между вызовами. Процесс подключения должен занять немного времени для завершения.