LoginSignup
10
10

More than 5 years have passed since last update.

Titanium で iOS 8 系シミュレータを日本語環境で起動する

Last updated at Posted at 2015-01-14

Xcode 6 の iOS 8 系シミュレータはシミュレータ内で言語環境を日本語に設定しても反映されません。もちろんキーボードも日本語入力ができないし、Ti.UI.Picker で type プロパティに Ti.UI.PICKER_TYPE_DATE を指定すると英語表記になってしまいます。

シミュレータ起動時に -AppleLanguages (Japanese) を渡してあげればよいのですが、Titanium の場合はビルドコマンドがよろしくやってくれるので、そのままだと渡すことができません。

Titanium CLI をちょっと改造すればよいかと思いますが、実は CLI にはビルドコマンドがありません。ビルドは SDK に依存するため、SDK 内部に存在しています。さらに、ビルドコマンド自体がシミュレータの操作を行うのではなく、ioslib という npm が担当しています(正確には、さらにこの中に node-ios-device がいて、この npm がシミュレータを操作してくれます)。もちろん Titanium Studio な方でも内部的に CLI が使われているわけですから、今回の改造は問題なく適用されます。

というわけで、SDK に内包されているビルドコマンドが使っている、ioslib へちょいと手を加えます(そもそも Titanium へプルリクエストすれば良いのでが、依存関係が複雑で、時間があれば JIRA へチケット切ろうかと思っております)。

対象となるファイルは以下の場所にありますので、テキストエディタで開いて編集してください。これを書いている時点では、Titanium SDK 3.5.0.GA になります。

~/Library/Application\ Support/Titanium/mobilesdk/osx/3.5.0.GA/node_modules/ioslib/lib/simulator.js

編集箇所はここになります。cmd 配列の最後に日本語のオプションを追加してください。このブロックの下に 8 以前のシミュレータの記述がありますが、そちらには手を加えないでください。

'cmd': [
    iossim,
    'launch',
    '<app path>',
    '--verbose',
    '--xcode-dir', xc.path,
    '--udid', sim.udid,
    '--args', '-AppleLanguages', '(Japanese)' // この行
]

保存したら早速ビルドしてみましょう。キーボードに日本語が出てきましたか?

10
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
10