ssbとNet_UserAgent_Mobile組み合わせたら変なところではまった。
まぁ最終的には、きちんと設定をしなかった自分のミスなんですが。
きっかけは、ssbつかってNet_UserAgent_MobileのisDoCoMoを実行したらErrorオブジェクトだったことから。
あれー?とか思って他の機種を試してみてたら、どうもFoma機種でアウトでmova機種ではセーフ。
こんな感じだったので、最初はNet_UserAgent_Mobileのバージョンアップによるバグかと思った。
んで、Net_UserAgent_Mobileの中をうだうだと追いかけていったところ、どうも_parseFOMAの中で引っかかってたんで、じーっと見てみるけどおかしなところなす。
で、じゃあ実際どこではまってんのって探してみたら、どうもicc(FOMAカード番号)の判定のところでアウトになってた。
そこまできてやっと気づいたんだけど、ssbってデフォルトで設定されているFOMAカード番号が[icc000000000000000]ってなってて、なんと15桁。
知ってる人は知っていると思うけど、FOMAカード番号は、icc + 20桁の数字っていうのが仕様で、Net_UserAgent_Mobileは厳密にこの仕様に従ってただけだったわけだ。
なので、ここにきてやっとssbの設定なのか―あうあうと気付いて、ssbのconfig/config.yamlのiccの値を20桁に変更。
したんだけど。。。状況カワンネ( ゚д゚)ポカーン
これはキャッシュかなーと思ってかるく探してみたんだけど、どうもそうではなかったので、結局ssbの中をごそごそあさる。
で、やっとこさ原因つきとめたのが、ssbがこの手のデータをCookieに入れてるってこと。
ここまでわかってやっと、Cookieを削除したらついに成功。DoCoMoの機種判別通りました。
あーうー。しかし、これは仕様に詳しくない人からしたら罠だなぁ。
なにしろ、0がいっぱい並んでるから桁なんてパッと見でわんないし、お遊びレベルでやってると普通は変更しないよね。
しかもこれって、ケータイ設定の画面を見ないとわからなくて、上部の機種情報欄には表示がないから、期せずして余計罠になってしまっている。
あとから気づいても、yamlで書いてる設定ファイルの内容をCookieで保存してるとはあんまり思わないんじゃないかね。
まぁ、ここは気のきく人ならとにかくCookieも消してみるところなので、俺の機転の利かなさではあるんだけど。
やー、しかし変なことで時間をつぶしてしまった。
でもおかげで、何かいろいろくわしくなったかなwww
※ちなみに、誤解のないように言っておくと、別にssbをDISる記事ではないので。
単に罠になりがちなので気を付けてね、というだけなので悪しからず。