2011年4月10日日曜日

正誤表 p36

まあ、どっちを直すかだが、個数でP36の.h側を修正

・locationManager を manager に。(ここで→などを使うとポインタみたいなので言葉で表現)

2011年4月9日土曜日

アウトレットの接続

『iPhoneのオモチャ箱』036

・File's Ownerを右クリックして黒い半透明のウィンドウを出す。
・IBoutletとして定義した、_mapViewをMKMapViewに接続。
・TweetMapViewController.hに#import を追加。

接続先がどこなのか?と思ったが、MKMapViewしかないし、_mapViewというインスタンスが、画面上に配置したMKMapViewに対応する、という指定だと思えば、これで合っていそう。気分的にしっくりこないが、ここは自分からチューニングを合わせていくしかない。

アウトレットの定義と接続について、以前参考にしたマイコミさんの『iPhoneアプリケーション開発入門』に書いてあったのを思い出し、参考にする。幸い、Interface Builderの操作方法はXcode4でも同じだったので助かった。だがFile's Ownerが何を意味するのか、分かっていない。『iPhoneのオモチャ箱』が続編であるという、その元なる本『ユメみるiPhone』のAmazonのコメントを見ると、買ってもしょうがない(差分が埋まらない)気がするので、地道にAppleが提供するマニュアルやweb上の情報に当面は期待しよう。そもそも1冊の本で網羅するなど不可能なのだから、Xcode4で差分が埋められたら、自分で差分をまとめよう。

#import の追加は、勘。最初、unknown等のエラーが出ていたが、本には何も書いていない。追加したCoreLocation.frameworkのツリーを展開すると、ソースが出て来るので、多分importするのではないかと。Objective-CもWeb上の参考書を眺めた程度で、@protocolとかデリゲートとか、ほとんど理解していないが、何となくこんな感じか?という感覚はあるので、そのうち分かるだろう、というか分かりそうな気がする。

ディスクウォーリア

v4を購入したのは既出だが、ようやくHDDのバックアップが取れたので、かけてみた。

出力されたレポートには次のようにある。

・ 1個のファイルは、不正なテキストエンコーディング値を持つディレクトリエントリがありましたが、修復しました。
・ 33個のフォルダは、不正なカスタムアイコンフラグを持つディレクトリエントリがありましたが、修復しました。


これが特別な意味を持っているのかどうか、いまいち分からない。だが壊れているものを直して悪い事はないだろう。副作用が無ければだが。

感覚的には、何かこう、もっと酷い状況であれば納得するのだが、どうもそうではないらしい。喜ぶべきことなのだろうが、がっかりしてしまう。レスポンスが改善されたかどうかは、もう少し使ってみないと実感できないと思うので、そこでまた考えるとして、1つ気づいたことが。File Vaultだ。これを一旦解除した状態で実行しないと意味が無いのではないだろうか。その上で再度File Vaultをかけ直せば良い。確かに面倒だが、ここまで来たら、やるしかないと思っている。

2011年4月8日金曜日

Xcode4でframeworkを追加する


『iPhoneのオモチャ箱』という本を買った。いろいろあって、手元に届いたのが今日だった。『OpenGL...』も見始めたばかりだが、舌の根も乾かぬうちに、というわけではない。いろいろ試行錯誤したいのだ。

ほら、これもバージョンが違うので、スクリーンショットはあまり当てにならない。まあ当たり前過ぎる事。

で、frameworkの追加をしなければならないのだが、本に書かれているメニューが無い。Helpで検索すると、『Including Frameworks』という項目に、”select the framework directory”とある。さてそのdirctoryはどこか。それを探すために、既に組み込まれているframeworkを調べてみる。幸い、右メニューを見ると、show in finderとあり、すぐに見つかったが、実に長いパスである。ファイル選択のダイアログボックスで選んでいくのは、階層が深いため、面倒というより、正しく選んでいくのが大変だ。

だが、ふと、その既に組み込まれたframeworkの並びを見ると、追加したいMapKitがある。もしやと思い、Xcode上のframeworksの位置にドラッグ&ドロップしてみると、すんなり追加することが出来た。追加する際、何やらダイアログボックスが出てきたが、取りあえずデフォルトのままで追加した。frameworksのツリーに表示されてる感じでは、他のと同じようなので、取りあえず良しとする。

まあ、行き当たりばったりだな。バージョンについては、こちらは取りあえず(何回目の取りあえずだろう?)Xcode4で行って、途中で考えよう。

2011年4月7日木曜日

テンプレートがぜんぜん違う

--「OpenGLで作るiPhone SDK ゲームプログラミング」の話 --

さて、どうしたものか。

当然というか、幸いなことにというか、デフォルト(OpenGL ES Application)でビルドしたものは、本で説明されているように動くので、インストール自体に問題があるわけではなさそうだ(それだけで判断するのは短絡的過ぎるが)。

それで気づいたのが、iOSのバージョン管理。ifdefでも切るのだろうか。具体的にぶち当たったときに考えよう。設定項目があると気になってしまうが、しょうがない。

あとはXcodeとiOS SDKを本と同じレベルに戻すか。といって、言うのは簡単だが、戻せるのだろうか。Xcodeは3xまで戻せそうだが、iOSはどうだろう、同じテンプレートのレベルまで、果たして戻るだろうか。この方が勧め易いだろうが、何か違う気もする。ただ今の立ち位置からすれば。まずは出来るだけ同じ環境で馴れるほうがいいのではないだろうか。

まあ、いろいろ試行錯誤してみよう。

ということで、XcodeとiOS SDKを最新版と共存させながら(どこまで戻せるか分からないが)戻してたいと思う。

2011年4月5日火曜日

OpenGLで作るiPhone SDK ゲームプログラミング

という本を買った。大分前になるが、とある方のブログ(場所を失念)で知り、Amazonにデモビデオが載っていたのを見て、面白そうだったので。

OpenGL

VRMLというのが一時期流行ったとき(今も流行っていたらごめんなさい)、SONYの品川のオフィスのセミナーにも伺わせて頂いたことがあるのだが、当時はまだマシン性能的にギリギリだった面もあったのか、自分のアンテナ感度が悪いせいなのか、あまり聞かなくなってしまったが、そんな当時買ったOpenGLの本が会社にある。いつか読みたいと思い続けてもう10年以上は経っているような気がする。

さて第1章の初めに(以下引用)「ゲーム開発の際は、より高い処理能力を持つOpenGLを用います」とある。そうだったのか! OpenGLというのが処理能力が高いというのは知らなかった。言われてみれば、VirtualBoxで3Dアクセラレーションが有効にできるには、OpenGL2.0以上が必要とか、聞いた気がする。

楽しみだ!

Macいろいろ

1. Time Machineは使えない。
何故か。ログイン中のユーザ(つまり今この瞬間の自分)のFlile Vaultしたホームディレクトリは、バックアップ対象外だから。じゃあいつやるのか? ログインしていないとき。だからいつなのか? ログアウトしてからログインダイアログが出るまでの間? シャットダウンする間での間? 他のアカウントでログインしているとき? しかもFile Vaultされたディレクトリは丸ごと? 差分関係なし? じゃあ何のために暗号化されてデータが守られることを自慢しながら、一方では1時間置きに自動的にバックアップすることを自慢するのか、胸に手を当てて考えてみれば、やってることがデタラメだということに気づかないはずがない。危なくTime Capsuleを買うところだったが、たまたまビックカメラに在庫が無かったのが幸いした。

何故気づいたかと言えば、HDDを装換して出て来た元々入っていた200GBのHDDが余る格好になったので、まずこれでTime Machineでパーティションを分けて別々のマシンで使えるか試してみたいと思ったので試してみたのだが、そのとき、、そういう警告メッセージが表示されたから。まあ、警告が出るだけ偉いという向きもあるだろうが、何でもかんでもホームディレクトリに保存することこそ、ユーザフレンドリというコンセプトによるデザインの形であろうMacOSXにおいて、500GBに迫るビデオライブラリを、週末かけて編集に没頭しようという時に、
差分も取らずに1時間おきにコピーを取ったらどういうことになるか、言わずもがなというものだ。

2. NAS、その前に、RAID
RAIDといえば、今まで心情的にRAID1しか使ったことがないということもあるだろう、今までRAIDボードが壊れた事は確かにあったが、それでHDDが2つとも消去されたことは経験にない。ところが、それを当たり前だという人がいた。

いやいや。壊れるのはアリでしょう。でもその勢いで両方のディスクを消す? それは義務教育の体育の時間に、準備運動のためのラジオ体操のしすぎで倒れるということでしょうか。あるいはサッカーの試合で、交代を待つ控え選手が、アップのしすぎで倒れるっていうことでしょうか。とはいえ、もしそれが本当なら、RAIDをさらにバックアップする必要があるわけで、そうなると世の中、一体全体、RAIDが何を救ってくれるというのでしょうか。

ということで、かなり悩んだ末、RAIDを放棄することにした。

3. そしてNAS
となると、Mac、Windows、Linuxを同時に動かしながら、バックアップも取りたいとなったら、当然、NASの出番だろう。しかし、これからの電力事情を考えた場合、夏に向けて室温管理がかなり難しくなるのは必至。(これも前から言っていることだが)いよいよ冷蔵庫にサーバルームが必要になるはずだ。しかし結露の問題等もあると思われるので、、、というか自分ごときがそんな庫内の部屋の構造を考えても仕方が無い。東芝さん、よろしくお願いします。

それはさておき、そんな冷蔵庫が急に出て来るはずもなく、扇風機などでしのぐとして、バックアップを考えると、NAS+USBという構成は、何かこうUSBのマウント管理がしっくりこないので、NAS+NASで考えたいのだが、騒音が困る。かといってファンレスや静音物だと中々安くていい物が見当たらない上、本当に放熱は大丈夫なのか?という不安があるので、それではバックアップによる、精神的安静が得られない。

そんな事を考えているうち、本当にNASにメインディレクトリを置いていいのか? PC本体側のディスクを使わなくていいのか?ということに気づいた。例えばMacBook Airはそうはいかない。それは持ち出すためのマシンであり、かといってWebAccessなどはさすがに躊躇われる。まあ、いつか試してみたいとは思うが。Dropboxもレスポンス的に間に合わないこともある。使い分けるのは、何か余程合理的なツールがないと難しい。例えばNASからチェックアウトするような。だが今度は何をチェックアウトすべきかで悩むだろうし、そうするとWebAccessに流れてしまいそうである。いやWebAccessを悪く言いたいのではない。自分が間違いなくセキュリティを保って運用する自信が無いのだ。

4. 結局USBで地道にバックアップ
USBで3.5インチとなると、バックアップ時だけつないで電源を入れればいいのだが、以外とそれは面倒だ。分かっていても、頭が疲れていると、それは出来ないのだ。出来ないと分かっていることをやるのは愚の骨頂である。しかし、バスパワーで利用できる2.5インチなら、iPhoneを毎日抜き差しする要領で、抜き差しすれば(ただしいきなりは抜けないが)、そんなに苦でもないか、と。あとは差分バックアップを取ってくれるツールを探してきて、使いこなせるかどうか。

5. 最後にディスクウォーリア4.1
いろいろ見ているうちにこの評判が実に良く、装換前に感じていたストレスは、実はこれで解消するのではないか、ということで、購入した。これはもう只只、成功を祈るのみ。

6. BootCamp
とりあえずMacBookProでは止める事にしたいと思う。メールの管理に苦労するから。WindowsやLinuxは、デスクトップだと結局UPSを入れないといけないし、それでもせいぜい5分が良いところ。ということで、安いWindowsノートで液晶とバッテリがちゃんとしているものを2〜3万で見つけてくるのが良いのではないかと思っている。それまではLinuxのサーバ系はVMWareかQEMUかFusionで、PlayBookはFusionで、BlackBerry BoldとMeeGoは簡単な開発のお試しレベルはiMacのBootCampで(最悪ファイルが無くなっても良しとする)、そうしているうち、近いうちにMacOSX版がリリースされることを願って。

7. MacOSX 10.7 as Lion
Lionを入れようと思ったのだが、BootCampと同じ理由で見送ることにした。取りあえずテストが必要になったらairを使おう。それ以上に開発環境が必要になったら、そのときに考えよう。

そういえば今月はJavaFX2.0もパブリックベータ?が4月という噂。ただしJavaFX2.0のロードマップ上は、あまりチェックが入っていない。これから追い込みがあるのだろうか。とはいえ、General Availability - H2 2011 に期待している。HTML5が軽々使えたらすごいだろうなあ。