2012年8月アーカイブ

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  :

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

ここ数日、検索からぴよ盛りで「ぴよ盛り100までの攻略方法」に来てくれる方が激増しているので、その後も少し書いておくと、この地道な方法で120までは行けました。

IMG_2206.PNG

しかしもう数ヶ月前の事で、あいにくスクリーンショットも取り忘れててどの程度の盛り方だったのか分からないです。

久しぶりに自己記録を更新しておくかと思い1回やってみたところ...90に届かない(-ω-) 細かな調整に練習が必要そうです。

ただ、感触としてはぴよ盛り100までの攻略方法で丁寧にやれば130は超えられるかな〜と思ってます。

ひとつTipsを追加しておきます。目標にしてた数に到達して、もうこれ以上少しでもさわると崩れる!という状況で、まだたくさんぴよこが残っている場合、GIVE UPボタンを押して終了しても大丈夫です。そこまでの記録をキープして終わることができます。下手に捨てようとしてうっかり崩してしまっては目も当てられませんから使っていきましょう。

私はほとんどステージ1しかやってないので、その後増えているステージでは、それぞれ独自の攻略方法があったりするのでしょうね。

また上を目指してがんばるか!

#しかしトップの401匹って何事...

中身にはこだわらないので、なにしろ大きなテストファイルが欲しい時にddを使って作ります。

bs=expr 1024 \* 1024はサイズを分かりやすくするためShellに1024*1024=1048576を計算させているだけなので、直接bs=1048576と指定しても同じです。

count=10は10回繰り返すので、1024102410=10MBという事になります。

最近iPhoneで脱獄せずにテザリングできる系の話を連続で目にしました。仕組みは

  • ProxyとなるJavaScriptプログラムやアプリをiPhoneで起動
  • MacでアドホックWi-Fiネットワークを作成しiPhoneからWi-Fi接続
  • Macでの通信をiPhoneのSOCKET Proxyを介して行う

という事のようです。

もちろんそんなアプリがAppleに承認されるはずはないですし、最近話題になったアプリはこっそりw、JavaScriptプログラムを使用するものは運営会社のサーバを介するので気持ち悪い上にちょっぴり良くない話もあって、ちょっとなーというところです。

仕組みは分かってるのだから開発者たるもの自分で作れば良いじゃないか!普通の人にはテザリングするためだけにApple Developer Connectionの年間$80は高いでしょうが、どうせ既に払ってる訳ですし(笑)

よし、作るか!と思ったと同時に同じ事を考える人はたくさんいそうと思いつきGitHubで「ios tethering」で検索したらあった(・ω・)

https://github.com/PetroEkos/iOSTether

ソースコードがあるのでよからぬ事をしててもコードを読めば分かるネ!ざっと見た限り見知らぬところに情報を送ったりしてはいないようです。

追記:上記のリポジトリなくなってますネ...検索したら別のが見つかりましたが同じものかどうかまだ確認しておりません...https://github.com/FossilizedCarlos/iOSTether

ProxyアプリをiPhoneで起動

早速コンパイルして起動してみましょう。

プロジェクトをXcodeで開いたらiPhoneを接続しておもむろにRun。

そうするとiPhoneでProxyアプリが起動します。

image2012081501.png

Getting Startedというボタンを押すと接続する手順が書いてありますのでその通りにやります、がせっかくなので日本語で手順を紹介しておきます。

MacでアドホックWi-Fiネットワークを作成

  • 「システム環境設定>ネットワーク」を開いて「Wi-Fi」を選択します
  • 「ネットワーク名」プルダウンを開いて「ネットワークを作成...」を選択します
  • 「ネットワーク名」に適当な名前、後はデフォルトでOKなので「作成」します

ただ、CAFEとかで使うならセキュリティーを付けておいた方が良いかもしれません。

iPhoneでの設定

  • iPhoneの「設定」を開いて「Wi-Fi」から先ほど作ったアドホックネットワークを選択します
  • Tetheringアプリを開いてスタートをクリックします

Macのプロキシ設定

  • 「システム環境設定>ネットワーク>詳細...>プロキシ>SOCKS プロキシ」を選択します
  • 「SOCKSプロキシサーバ」にアプリの画面に表示されているIPアドレスとポート番号を入力して「OK」ボタンをクリックします
  • 「適用」ボタンをクリックします

確認

iPhone経由で接続できていれば、Tetheringアプリの画面のステータスが通信によって更新されると思います。

もし何も動かない場合は、他に使用しているネットワーク接続を切断してみてください。有線LANやEMobileなどです。

これで、ブラウザなどでどこかページ(もちろんココでも!w)にアクセスすればiPhoneの3Gネットワーク経由で表示されるはずです。

私はauのiPhone 4Sを使っていますが、WEBページのブラウジングなら全く問題ないスピードに感じます。

ダウンロードがauより速いSoftBankの回線(もちろん電波が強いところに限りますがw)ならばもっと快適なのではないかと思います。

端末としての機能ではないので、アプリがバックグラウンドに回ると動作しません。従ってテザリング中はiPhoneを使えないです。

また、キャリアが認めている方法ではない事は確かなので、パケット数の上限を超えて帯域制限をかけられたりしないよう、使用方法や時間に注意した方が良いと思います。

あと、やはりアドホックWi-Fiネットワークはセキュリティをかけた方が良いでしょうね。iPhoneで接続するのが少し面倒ですが。

このアーカイブについて

このページには、2012年8月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2012年7月です。

次のアーカイブは2012年9月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。