1

Channel API を使用してメッセージを iOS クライアントにプッシュすることを検討しています。私はそれについて完全に理解しているわけではありませんが、唯一の方法は、Objective-C メソッドをトリガーする非表示の UIWebView を使用することです。

これは機能しますか?非表示の UIWebView でチャネル メッセージをリッスンするには? Web ビューはチャネルから新しいメッセージをどのように通知されますか? 「新しいメッセージを受信しました」というアラートなど、新しいメッセージを受信したときに Objective-C メソッドをトリガーするにはどうすればよいですか?

このアプローチに欠点はありますか?

4

2 に答える 2

3

私は反対のことをしています。私は Urban Airship を使用して iOS 通知を iOS アプリに送信しています。これは、実際には UIWebView の iOS ラッパーです。

私の経験では、GAE チャネルは特に堅牢ではありません。特に接続を再確立する必要がある場合に、メッセージが送信されないことに気付きました。アプリがバックグラウンドに移行すると、UIWebView 接続が切断されるのだろうか。

于 2012-11-07T05:24:15.837 に答える
0

私はあなたが求めていることをしています。Objective-C から UIWebView への呼び出しを行うことと、UIWebView からイベントを取得して Objective-C にコールバックすることです。最初に行うには、UIWebView の "stringByEvaluatingJavaScriptFromString" メソッドを呼び出します。Objective-C にコールバックするには、Web ビュー デリゲートを登録し、「shouldStartLoadWithRequest」メソッドで「偽の」プロトコル (「js-callback」など) を探して、JavaScript でナビゲートできるようにします。 「js-callback:informationForObjectiveCToOperateOn」へのiframe。http://blog.techno-barje.fr/post/2010/10/06/UIWebView-secrets-part3-How-to-properly-call-ObjectiveC-from-Javascript/のブログ投稿で手順が説明されています。

于 2012-12-05T20:31:11.710 に答える