0

Ruby Motion プロジェクトで libPusher ポッドを使用していますが、アプリ自体ではなく REPL で使用するとコードが機能するという問題が発生します。

メソッドでこのコードを試すと、viewDidAppear正常に接続され、チャネル サブスクリプションの呼び出し中に切断されます。

コンソールで試してみると、完全に接続してサブスクライブします。(同じコード)

私は理解しようとしています:

  1. なぜこれが起こっているのか
  2. 問題を軽減するには何を変更すればよいですか?

Ruby Motionのポッドv2.31のv1.5を使用しています

参考までに、私は 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:')
4

1 に答える 1

0

接続とサブスクリプションの呼び出しを別々のライフサイクル メソッドに分離することで、うまく機能するようになりました。

置いた:

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 メソッドに。

これが機能した理由を正確に知っているとは言えませんが、呼び出し間の時間に関係していると思います。接続プロセスが完了するまで少し時間が必要です。

于 2014-08-12T04:56:26.097 に答える