Titanium Mobile SDK 1.8.1 で実機ビルド通らない
表題の通り。
以下のエラーでビルドが通らず。
解決方法が判明したので下へ下へ。
まずは問題のエラー晒す。
make_function_from_file self.compile_js(file_contents) File "/Users/ユーザー名/Library/Application Support/Titanium/mobilesdk/osx/1.8.1/iphone/compiler.py", line 476, in compile_js self.add_symbol(sym) File "/Users/ユーザー名/Library/Application Support/Titanium/mobilesdk/osx/1.8.1/iphone/compiler.py", line 429, in add_symbol print "[DEBUG] detected symbol: %s" % api File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/codecs.py", line 351, in write data, consumed = self.encode(object, self.errors) UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 36: ordinal not in range(128) Command /bin/sh failed with exit code 1 ** BUILD FAILED ** The following build commands failed: PhaseScriptExecution Pre-Compile build/プロジェクト名.build/Debug-iphoneos/プロジェクト名.build/Script-241EAF36118E30260081A5BE.sh (1 failure) EXIT CODE WAS: 65 Exception detected in script: Traceback (most recent call last): File "/Users/ユーザー名/Library/Application Support/Titanium/mobilesdk/osx/1.8.1/iphone/builder.py", line 1432, in main execute_xcode("iphoneos%s" % iphone_version,args,False) File "/Users/ユーザー名/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/ユーザー名/Library/Application Support/Titanium/mobilesdk/osx/1.8.1/iphone/run.py", line 39, in run sys.exit(rc) SystemExit: 65
で、これの原因がPythonのデフォルトエンコーディングのお話らしい。
解決方法は以下のブログから拾いました。感謝。
昼行灯の通い路 - [Titanium Mobile]MacからAndroid実機転送時のエラー
http://blog.hirunokayoiji.net/?p=8
[Python] UnicodeEncodeErrorが発生した場合は、sitecustomize.pyでデフォルトのエンコーディングを指定する。 - SumiTomohikoの日記
http://d.hatena.ne.jp/SumiTomohiko/20070120/1169300624