Archive for the 'Xcode' Category

XcodeでJavaScriptを外部ファイルとして扱う

10月 02 2009 Published by hkitago under JavaScript,Xcode,iPhone

UIWebView を使い iPhone のウェブアプリケーションをネイティブアプリケーションとして構築していると、Canvas 描画やタグ出力、Sqlite の扱い等、膨大なコード量になる JavaScript は次の様にしておくとプロジェクトの管理が楽になるのはウェブ開発者であれば誰もが思うところだが、そのままビルドすると Xcode は JavaScript をコンパイルしてしまい外部ファイルとして認識しないという問題がある。

<script src="xxx.js" type="text/javascript"><!--mce:0--></script>

そこで Developer Forums を覗いてみると、次のような回避策が紹介されていたので試してみた。

So you need to do two things – select the .js file in your project, and turn off the checkbox that indicates that it is compiled (the “bullseye” column).  If you don’t do this, you’ll get a warning in your build log about being unable to compile the file (which should be your first warning – always try to figure out and and correct any and all warning that appear in your build).

Then drag it and drop it in the target’s “Copy Bundle Resources”.

引用元: Developer Forums Beta: UIWebView and JavaScript ….

  1. 外部ファイルとして HTML に読み込みたい JS ファイルを選択し、表示メニューから詳細コマンドを選択する。(この詳細表示とエディタの間にあるハンドルをマウスで下方へドラッグしても良い。)
  2. ターゲットのチェックボックスを外す。ターゲットのチェックボックスを外す
  3. グループとファイルのターゲットからアプリケーション名ツリーの中にあるバンドルリソースをコピーに対し対象となる JS ファイルをドロップする。JS ファイルをドロップする

これで Safari ブラウザ等のデバッガと連携する JavaScript プログラムの管理や分業がより容易なものになり、加えて jQuery 等のライブラリも自由に扱える事で開発の効率が上がるのは間違いない(はず)。

更新:Xcode 3.2で検証した結果、チェックボックスのチェックが自動的に復活しているにも関わらず動作しているので手順1と2は不要かもしれない結論に至った。単にバンドルリソースとすれば良いらしい。

No responses yet

iPhone を DFU モードで起動する

8月 01 2009 Published by hkitago under Xcode,iPhone

What worked best for me is hold down power and home for about 10 seconds and then release the power button and keep holding home until the device is recognized.

引用元: How I downgraded 3.0 to 2.2.1 « cocos2d for iPhone.

iPhone SDK 3.1 beta を入れた時に iPod touch のアップデートに途中で失敗し Xcode や iTunes で認識しなくなったことがあるが、引用した手順を使って DFU モードで起動したところ、初期化状態(iTunes に接続する絵が表示)の iPod touch を認識し復元することで再起する事ができた。

しかもかなり愚かだったことが、iTunes のバックアッププロセスを無効にしていたことだった。加えてアップデートに失敗した原因を冷静に考えれば 3.1 beta は Snow Leopard や iPhone 3GS 以降のハードへの最適化を目指しているだろうから、手を出したのは感情に流されたとしか言いようがない。

No responses yet