TiSocial.Frameworkを使うとwindowのfocusイベントが取れなくなる問題

  • 2
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。
  • Titanium SDK : 3.4.1
  • MacOS : 10.10.1

TiSocial.Framework

Titaniumでツイッター投稿するときサクッと作成できるモジュール。

問題点

TiSocial.Frameworkでツイート画面を開いて、ツイートするなりキャンセルするなりしたあと、それ以降全くfocusイベントが効かなくなる。
新しく画面をタブに追加しても、タブを移動してもfocusイベントが呼ばれなくなる。
最初私がなにか実装方法がおかしいかと思ったけどどうやらバグっぽい。

対処法

暗黒魔術です。上記issueに載っているのに加筆したもの。

var fakeWin = Ti.UI.createWindow({
    backgroundColor : 'transparent',
    zIndex : 1500,
    touchEnabled : false,
    top : 20//fullscreen: true
});
fakeWin.open();
fakeWin.close();

TiSocial機能を使ったあとにfakeWinを作成しすぐ消す。

これで現状回避できた。

最近Titaniumでこういう暗黒魔術あまり使ってなかったんだけど、久しぶりに使った。
数年前を思い出して懐かしい気持ちになった。

こうなる原因はissueの解決策載せてくれた人が記載してくれてて、といってもモジュールのソース追った方が絶対に良いのだが、いかんせんObjCからっきしなので辛い。
Swiftは勉強中なのでSwiftはちゃんと出来るようになりたい。