Titanium Studioでの実機転送が失敗する原因としてApple Developer ConnectionアカウントのプロフィールでFirst Name、Last Nameに日本語の名前を設定してしまったために起こるものがあります。

そして、このプロフィール名はApple IDの設定では変えられないのです。orz

そのままプロビジョニングプロファイルを作るとキーに日本語が含まれるものができてしまい、Titaniumのビルドスクリプトが変換に失敗して落ちてしまいます。

[INFO] One moment, building ...
Traceback (most recent call last):
  File "/Users/iwazawa/Library/Application Support/Titanium/mobilesdk/osx/2.1.1.GA/iphone/builder.py", line 1604, in 
    main(sys.argv)
  File "/Users/iwazawa/Library/Application Support/Titanium/mobilesdk/osx/2.1.1.GA/iphone/builder.py", line 724, in main
    dist_name = dequote(args[7].decode("utf-8"))
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/encodings/utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x89 in position 0: invalid start byte

回避方法を調べようとネットで検索をかけるとDeveloper Centerのサポートに名前を変更してもらうというのしか出てこないのですが、Xcodeでは別に日本語だって問題ないわけですしRubyMotionも適切にエンコードした文字列を指定しておけば大丈夫。なのでTitaniumのビルドスクリプトが対応していないだけだと思います。

落ちている箇所のソースコードを見てみると

vi ~/Library/Application\ Support/Titanium/mobilesdk/osx/2.1.1.GA/iphone/builder.py

723  :
724  dist_name = dequote(args[7].decode("utf-8"))
725  :

ちゃんとUTF-8でデコードしてるのにおかしいな?と調べてみたところ、引数としてShift_JISが渡ってきてました。

パラメータとして渡す元を変えるのが正しい修正方法の気がしますが、とりあえずすぐにビルドしたかったので

722  :
723  args[7] = args[7].decode("shift_jis").encode("utf-8") # <---コレ
724  dist_name = dequote(args[7].decode("utf-8"))
725  :

直前にこんな風な変換を追加してやると、無事成功しましたヽ(´ー`)ノ