絶品ゆどうふのタレ

ふと気づいたことを綴るだけのメモ

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.yamliccの値を20桁に変更。

したんだけど。。。状況カワンネ( ゚д゚)ポカーン

これはキャッシュかなーと思ってかるく探してみたんだけど、どうもそうではなかったので、結局ssbの中をごそごそあさる。

で、やっとこさ原因つきとめたのが、ssbがこの手のデータをCookieに入れてるってこと。
ここまでわかってやっと、Cookieを削除したらついに成功。DoCoMoの機種判別通りました。


あーうー。しかし、これは仕様に詳しくない人からしたら罠だなぁ。

なにしろ、0がいっぱい並んでるから桁なんてパッと見でわんないし、お遊びレベルでやってると普通は変更しないよね。

しかもこれって、ケータイ設定の画面を見ないとわからなくて、上部の機種情報欄には表示がないから、期せずして余計罠になってしまっている。


あとから気づいても、yamlで書いてる設定ファイルの内容をCookieで保存してるとはあんまり思わないんじゃないかね。
まぁ、ここは気のきく人ならとにかくCookieも消してみるところなので、俺の機転の利かなさではあるんだけど。


やー、しかし変なことで時間をつぶしてしまった。
でもおかげで、何かいろいろくわしくなったかなwww

※ちなみに、誤解のないように言っておくと、別にssbをDISる記事ではないので。
単に罠になりがちなので気を付けてね、というだけなので悪しからず。


SoftBankでもはまったのでつづきはこちら