読者です 読者をやめる 読者になる 読者になる

TitaniumMobile勉強記

Web系エンジニア向けのキャリアアドバイザーやってましたが現在はフリーランスで開発含めて色々やってます。技術ネタとしてはRuby/RailsとJavaScript関連(Node.js、Titanium)あたり

突然build時にoutput = run.run(args,False,False,o)のエラーが出た→1日悩んだ→解決した

Titanium Mobile

これまで全く問題なくビルド出来てたプロジェクトで突然以下のエラーが出るようになりました

[ERROR] Error: Traceback (most recent call last):
File "/Users/xxxx/Library/Application Support/Titanium/mobilesdk/osx/1.8.1/iphone/builder.py", line 1286, in main
execute_xcode("iphonesimulator%s" % link_version,["GCC_PREPROCESSOR_DEFINITIONS=__LOG__ID__=%s DEPLOYTYPE=development TI_DEVELOPMENT=1 DEBUG=1 TI_VERSION=%s %s %s" % (log_id,sdk_version,debugstr,kroll_coverage)],False)
File "/Users/xxxx/Library/Application Support/Titanium/mobilesdk/osx/1.8.1/iphone/builder.py", line 1192, in execute_xcode
output = run.run(args,False,False,o)
File "/Users/xxxx/Library/Application Support/Titanium/mobilesdk/osx/1.8.1/iphone/run.py", line 39, in run
sys.exit(rc)
SystemExit: 65


AppceleratorのQ&Aに出てるものと症状的には同じような感じでした。定番の(?)build以下を削除してclean buildしても症状変わらず、ひとまずbuild.pyのソースをパッと見てビルド作業の全体が把握できるようなものでもなく、途方にくれていました。

ふと気づいたこと

build/iphone/xxx.xcodeproj のファイルをXcodeで開いて、試しにそちらでビルドした所、同じようにエラーにはなったのですが、ちょっとだけヒントになりそうな

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3

というエラーメッセージが出てました。

このエラーメッセージを頼りにググったらPythonのUnicodeEncodeErrorを知るというエントリを見つけました。

読み終えてから

「ん?なんとなく日本語に関連する処理で止まっているのかな。。でもどっかのソースコードに全角スペースと入ってないしなぁ」

と考えていて、その後すぐに

「あー、1つだけこころあたりある」

と以下フォルダのとあるファイルの存在に気づきました

f:id:h5y1m141:20120229081415p:plain

「スライス1.png」 という日本語が含まれたファイルをいつのまにか作ってました。

※UIのパーツの画像切り出しする時に間違って作ってしまったみたい・・

解決方法

上記のスライス1.pngを削除した上で、clean build したら、あっさり治りました。解決して良かったー