Home > Mac

Mac Archive

iPhone Developer Program登録がやっと終わった

2バイトコード圏では高確率でアクティベーションが失敗しやがることで有名なIDPですが、やっと終わりました。ホントさ~、タダでさえ年1万円ほど取っとるんだから、そのへんのシステム整備はちゃんとやってほしい。(アクティベーションメール→エラーは去年のブログ記事とかでもずっと言われてるコトだし)

ちなみにキーチェーンで証明書作ってUPしてAppleからDLして(以下略)的なことをするのに非常に苦労をされている方が多いようですが、そうした人たちが提供して下さる情報のお蔭で、数時間も悩むことなく終わり、何はともあれ適当なサンプルコードを実機で動かすことができました。問題は、自分の能力が追いついてないことですが… orz

Appleとかソニーとか、特に昔のMicrosoft(IE4あたりか)とか、露骨にユーザー無視な囲い込みをする企業は「…ん~、それって長期的に見たら損じゃないの?」と思ってしまう。まーうまくやればうま味もデカイのが囲い込みですが、ソニーもウォークマンとかMDで味しめちゃったんだろうねぇ。ATRACとかUMD(あってる?)とかメモリースティックとか、もう明らかにどこも採用しないんだから、自社のファンを解放してやれよ、と思うような状態になってもやめないしね。

その中では慎重なAppleだけど、iPhone OS 3.0でやっとコピペ解禁ですよ。まあメジャーアップデートだけあって色々目玉はあるけど、コピペできるようになったことが目玉なOSってなんだって話ですよ。慎重なのはいいけど、ガチガチの状態でリリースして、徐々に緩和していくのはホント初期ユーザーがえらい目に遭うからなんとかしてほしい。

まあ、それでも売れるような、魅力的なもん作ってるから儲かってんだろうけどね(Appleの製品はわりと好きだが商売は巧いけどあまり好きじゃない)。

まー愚痴はともかく、ゆっくりやっていくかなぁ。OS3も楽しみだし。

Objective-Cを覚えたい

iPhoneアプリを開発したいのだがなぁ。

資料がまだ少ないのと、手続き型プログラムしか書かないのと、そもそも私の頭が残念な頭なのでなかなか先に進めません。

そんな中でも少しずつ資料を買い足したりしつつ、こうして覚えていくのがいいのかな、と思ったところを書いてみようと思います。
すんなり覚えちゃった人には戯言ですが、同じような状況の人には役立つところがあるかも知れません。
「プログラムとかよくわかんないけどiPhoneアプリつくりてぇ」という人がイキナリ「詳解 Objective-C」とか、Apple公式ドキュメントにいくと、まず挫折すると思う。

  • なんかプログラム書いた経験があったほうがいいし、ないなら書いてみるといい。手続き型でいいから。今からどうせやるなら、Objective-Cにも生かせるCとか。最近は解説書も易しいし多いし大丈夫。ひとつ言語をやってれば、大抵の言語では基本的な要素は共通してるから、他の言語でもOK。でも、難しいところまで覚えなくていい。
  • 基本的なプログラミングを覚えたら、次はオブジェクト指向でプログラムを書いてみるとか、書き直してみる。もし慣れた言語があるなら、それで覚えるといいと思う。本とかで意味や概念を知ってても、普段オブジェクト指向で実際にコード書いてみないと理解できない
    ただ、オブジェクト指向に弱い言語もあるから注意。最初にCから入ったなら、せっかくだしそのままObjective-Cにいってもいいかも(ネット上探せば資料あるし)。Javaとかやってる人はいいですよね。
  • Xcodeとか、Cocoa Touchはその後使い方覚えればいいと思う。一緒に解説してるのはどうも言語の解説が薄くなりがちだし、そもそもこれらを使いはじめるのは、オブジェクト指向プログラムを書き始めるよりも何倍もとっつきやすい。あとは、複雑な機能は順々に覚えていけると思います。

んな感じかなぁ。
オブジェクト指向ってとっつきにくいんですよね。大概の高級言語は書き方やクセに違いはあれど、基本的な構文とかはそんなに大差ないし、次の言語へのつなぎとして覚えるだけならそんなに難しくはない(プログラムで難しいのは言語そのものじゃなくて、処理とかだから)。
でも、オブジェクト指向は言語を覚えた上で、現実にはない独特の概念に沿ってプログラムを書くと色々いいですよー、というメソッドなので、いきなり言語すっとばしても覚えられないと思う。普通の人は。だから別に集中してやったほうがいいと思う。

あとは

  • コードは実際に書いて動かす(とりあえず写すだけでも何となく『ココでこうしてるんだ』と気づいたりすることもあるし、何より書かないと覚えられない)
  • 本や資料はケチらない。個人的に、1冊でなんとか覚えようとしてわからなくても、同様の本を数冊持っていると、書き方のクセとか表現の仕方が著者によって違うので、わからない部分を読み比べてるうちに分かってきたりすることがあります。
  • 「○○日で分かる」とかはあくまで基礎習得が○○日なだけです。特に、1週間とかでゲームプログラミングとか高度なことやってる本とか、やたら薄い本とかは、大抵大事な部分をすっとばしているだけで、実際にその本だけ読んでゲームが作れる、とかはまずないです。
    本当に覚えたいのなら、そういう本を読んで挫折するよりも、ある程度分厚くて「うわ…」と思うくらいの本のほうがいいです。そのほうが少しずつ進んでいくので、途中でわからなくなることが少ない。

まあ本選びは向き不向きもありますが、最初にどれ買ったらいいかわかんない、というときは、ケチらずに気になった本は数冊買っておくといいと思います。最初に買ったときワケがわからなくても、後でスキルアップしたときにすごく重宝したりするので。

最後に、細かい言語解説とかは他に譲りますが、Objective-CってイキナリXcode上でなんかアプリケーション作りだしたり、とにかくワケわからん資料も多いので、こちらを参考にObjective-C版のHello Worldに、コメントつけてみました。オブジェクト指向がおぼろげに分かりだしたら、上記サイトとあわせて見てもらうと「なんだ簡単じゃん」ってなると思います。

あ、ちなみに私はLinux上でコンパイルしてますが、MaxOS Xのgccコンパイラ(Xcodeの中身みたいなもんなので、ターミナルから使えます)でもできるはず。以下のコードを書いて

gcc ファイル名 -lobjc

とやれば、a.outというファイルができると思います(ファイル名はtest.mとかで)。それを

./a.out

で実行してあげると、文字列が表示されるプログラムです。
Objective-C HelloWorld
んでは、私も含めてがんばって覚えましょう。

MacBookをMini DisplayPortでデスクトップ機ぽく使う

MacBookが予想以上にイイのでわりとメインはっちゃっても大丈夫じゃね?的なノリなのですが、やはりノートサイズということで13インチなのはつらい。今までのWindowsは20.1型だったし、会社はそもそもデュアルだ。がっつり何か作業するというのには、根本的にノートは向いてないような気がする(機能しぼられてるのにバカ売れしたネットブックはそれを象徴してるね)。

ということで、Windows仮想環境をクッションにしとけばいざというときも困らんハズ!と、Mini DisplayPort – DVI変換アダプタを購入しまして、メインディスプレイにつないでデュアル環境にしてみました。
まず変換アダプタがこんなの。

DVI Mini Displayport アダプター

そもそもDVIのデカいケーブルがこのサイズになるというのも凄いし、これ1ポートでケーブル次第でDVIでもVGAでもつなげるのは素敵だ。ただケーブルが3,000円くらいするので、今回は必要なDVIのみ。プレゼンとかには使わないしねぇ。iWork買う機会があったら是非ともやってみたいんだけど、あのKeyNote + iPhoneでリモート操作。

Mini Displayport

これがMini DisplayPort側でMacBookにつなぐほう。Windows機はVGAポート搭載のやつもあるけどかなり場所をとってしまう。標準規格の関係で、ハードメーカーが勝手にこういう規格をつくるワケにはいかないんだろうけど、このアイデアはすばらしいと思うので、この際IEEE1394みたいにMacから取り入れてほしい。

DVI

DVI側。普通にDVIディスプレイのコネクタをここに差すだけです。ちょっと浅めなので、抜け防止ネジをとめるときにあれ?って感じでしたがギリギリささりました。まあ、問題があっても今んとこ代替品はないのですが…。

Mini Displayportをさした直後

とりあえず差した。PnPな上に、差したら一発で解像度などを最適にしてくれた。DVIだからカラープロファイルとかも自動的に機種にあわせて設定してくれたので、表示はすこぶる奇麗。
但しこの状態だとMacBookがメインディスプレイ、また位置的にはMacBookが左ディスプレイになる(サブが右になるのは標準的だけど、ポートの位置を考えると、デフォルトを逆にしないと配線がゴチャゴチャにならね?)ので、この配置で使うには環境設定からディスプレイの設定をちょいちょいといじります。

dual1

環境設定画面では現在の状態が分かりやすく表示されてるので、適切な位置にこれを変更します。変更はドラッグ&ドロップでOK。

dual2

まずノートを右にしたいので位置を入れ替えます。ちなみにここではやってませんが、ディスプレイのサイズとつなぎ目などをあわせたい場合には、ディスプレイの位置だけでなく高さも動かせます。このへんがOS標準なのはいいですな。

dual3

んで最後に、つないだほうのディスプレイをメインにしたいので、メニューバーをドラッグして、メインディスプレイにドロップします。

dual4

ほい。完成。

…とまあ、設定は5分程度あればすぐ終わります。あと、カラーキャリブレーション設定を開くと、ちゃんとそれぞれのディスプレイにどのプロファイルを使うかのウィンドウを個別に出してくれるので、色味の違いなどもさっくり設定できて良い感じです。

ちなみに、ケーブルを抜けば勝手にMacBook側に全ウィンドウが移動するし、再接続したら以前の構成に自動で戻ってくれます。メインディスプレイを別の入力に切り替えたいときにアダプタ抜くだけ。戻すとき差すだけ。これはいいなー。

本来はキーボードとかもつないで、ほとんどデスクトップ環境を再現して使いたかったのですが、PC/AT用キーボードはMacとアサインが違うのが不便だったのと、MacBookのキーはピッチ広くてかなり使いやすいので、とりあえずは端末のキーボードをそのまま生かす形にしました(純正キーボードは高いしなー)。Exposeとかのキーもあるので。
マウスは接続して、普段はそっちメインです。が、iPhotoとか見る際は、マルチタッチのトラックパッドのほうが良い場合もあるな…。悩ましい。

ところで、私がこんなことやってて全然知らぬ間に、AppleはMacBookを対象にした、まさしく自分のような人間用にMagSafe電源アダプタとかついたLED Cinema Displayとか出してたのね。Macは久々なもんで、Cinema Display=30万円?、と思ってましたが、10万切ってるのか。あ、あと自分のMacBookがLEDディスプレイとも知らんかった。

ホーム > Mac

Search
Link
Feeds
Meta

Return to page top