前回 Profile が作成出来ない、と書いたのですが。meta-doctor でのパッチ内容や FirstUse プログラムのパッチ箇所当たりのソースとか見ながら、何がいけいないのか考えていました。
私の場合 Palm pre 実機の前に Palm の wenOSdev からエミュレータ環境のソフトをダウンロードしていたので、エミュレータ内の FirstUse プログラムのソースとかとも比較しました。
で、エミュレータだと FirstUse を実行すると言語と国を選択する画面が出てきます。でもパッチを当てた Palm pre だと表示されなく、最初から Profile を作成する画面が表示されました。
対策その1
パッチでは setUpFirstUse() 関数の最初で setupSimulator() を呼び出しています。setupSimulator() では色々変数に値をセットした後 Mojo.Controller.stageController.pushScene(“intro”) を実行して Profile 作成画面を表示している様でした。しかし、エミュレータだと “intro” では無く”language” だったので novaterm を実行して Palm pre 内のプログラムソースを直接修正する形で “language” に変更して FirstUse を実行してみました。
結果は設定画面は表示されて選択出来たのですが、その後がアクセス中みたいな円がくるくる回っているだけで、一向に進みませんでした、失敗です。
対策その2
Profile を作成する為に実行しているで有ろう関数 createAccount: function(Account, successCallback, errorCallback, sceneController) を見てみると。引数(parameters)には
password
email
firstName
lastName
language
country
questionId
response
が有り、実際に入力してないのは、ここでも「対策その1」同じ言語と国です。
で、これらは Account オブジェクトの変数なので、setupSimulator() 内で無理矢理変数に値をセットする様にしてしまいました。
Account.language = “en”;
Account.country = “us”;
こんな感じです。「対策その1」は元に戻して実行してみました。すると、どうでしょう Profile が作成されて他の方が書かれている「無駄に長いデモ」を見る事が出来ました。ちょっと感動。
でも、単なるデモだけでは無くGPS での位置検索とかしても良いか、とか色々聞かれましたが、Profile が作成出来た喜びと、英語が良く分からないのと、文字が小さいのとで、適当に答えてしまった。
良いんだろうか(ちょっと不安)
暫くすると Palm から登録したメールアドレスに Profile 確認のメールが届き confirm のリンクをクリックして、ちょっと聞かれて(何処で買ったのか、とか)完了です。
これで、後は日本語化ですね。
もし、私と同じ様な問題をお持ちのかた、試してみてはどうでしょうか。但し保証は無しですけど。
unix 関連のコマンドが駄目だと言う場合はどなたかに meta-doctor 用のパッチファイルを作成してもらえば可能です。私は作成出来ませんので。