メイン

Apple & Mac アーカイブ

2007年11月09日

最近の Mac を物色する

071109-02.jpgこれまで Mac 版ソフト開発は前向きには請けてこなかったのだけど、クライアントには Windows と Mac の両刀使いの会社もあるので、いつまでもそうは言ってられなくなってきた。現在も Mac 版ソフト開発の打診をもらっているし。だけど手元にあるのは数年前に某所から借りたままになっている PowerMac G4 Graphite が1台だけ。さすがにいまどきの開発のメインマシンとして使う気がしないので、最近の Mac 事情を知るためにも少し物色してみる。

とりあえず散歩がてらローカルのショップを回る。Best Buy には iPod はあったが Mac は置いていなかった(たぶんショップによる)。CompUSA には Mac コーナーがあるが、Mac に慣れていない僕にすれば陳列品のシステム構成がよくわからない。というわけで、Apple Store のサイトにアクセスして最新ラインナップをお勉強。Mac はあくまでソフト開発時のみに使うだけで常用するわけじゃない。常用には Windows ノートパソコンがあるので、もし買ったとしても僕が使わない(大半の)時間は、カミサンがインターネットを見るマシンとして使われるだろう。

071109-01.jpgサイトでまず目に付いたのは MacBook。ある程度のパワーと持ち運びできる便利さを備えたマシンだけど、$1,000 を超える価格は僕の用途的には高すぎる。試しに一番安い Mac mini を見てみると、見た目はオモチャっぽいというか「ちょっとした Mac もどき」という印象だけど、スペック的には Core Dup 1.6GHz と実用上も遜色無さそう。モニターはカミサンが使っている 14 インチフラットモニターを使うとして、マウスも Microsoft Mouse が余っているから、追加でキーボード $29 だけ買えばいいのか。

まあ正直言えば安価な Mac mini でも、買わないで済むならそうしたい。だけどマシンを借りてきてソフト開発して、その後はマシンが無いとなるとサポートの問題も出てくる。仕事の幅を広げるためにはこういう投資も必要だなと、ある程度の出費も覚悟しておこう。

2007年11月10日

Universal Binary の作成に必要な環境とは

071110-01.jpg2年ほど前だったか、僕が最後に触った Mac の開発環境は Mac OS X 10.3 + Xcode だった。リリース直後の Xcode は不安定で頻繁にクラッシュしたので、ProjectBuilder と行ったり来たりして開発に苦労した覚えがある。Intel Mac がアナウンスされたのはその後だから、現在の開発環境は大幅に変わっているに違いない。そもそも CPU さえも変わっている。浦島太郎状態なので、ネットで検索したりして予備知識をインプットしておこう。

071110-02.jpg最新 Mac OS X 用アプリは Universal Binary という実行形式らしい。要は、PowerPC 用バイナリと Intel 用バイナリの両方をアーカイブしたもの。実行されるマシンに搭載されている CPU の種別を識別して、実行時に該当するバイナリのみをロードするのだとか。

Universal Binary をビルドするには Xcode 2.2 以降を使う。Xcode 2.2 以降は Mac OS X 10.4(Tiger)以降でしか動作しないので、開発環境としては必然的に Mac OS X 10.4 が稼動するマシンが必要ということ。手元にある PowerMac G4 Graphite には Mac OS X 10.3 (Panther) までしかインストールされていないから、もしこのマシンを開発用に使うなら $129 払って Tiger を買わないといけない。だけど、こんな時代遅れのマシンに今さら金を掛けるのも惜しい。やっぱり Mac でのソフト開発の仕事が決まったら、とりあえず Mac mini でも買う必要がありそうだ。

2007年11月11日

Mac mini を Amazon.com に注文する

クライアントから Mac 版のユーティリティソフト開発の正式な発注があり、遂に Mac を開発マシンとして購入せざるを得なくなった。以前から気にして価格ウォッチをしていたのだけど、まあそれなりに信頼できるということで本日 Amazon.com に注文。注文したのは Apple Mac mini MA607LL/A (1.66 GHz Intel Core Duo, 512 MB RAM, 60 GB Hard Drive, Combo Drive)Apple USB Keyboard - White のみ。モニターとマウスは手持ちを使う予定なので注文せず。

夕方になって Amazon.com からメールが来て、まずは Apple USB Keyboard のみ発送したとのこと。Mac mini 本体は後日別便で発送されるらしい。キーボードだけ先に着いてどうするんだ?という話もあるが、あんまり早く Mac mini が着いても触る時間が取れそうもないので、確実に届いてさえくれれば時期的なものはあまり気にしない。これまで避け続けてきたが、これで僕も Mac オーナーになってしまったぞ。

2007年11月13日

Apple USB Keyboard が届く

一昨日注文した Mac mini と Apple USB Keyboard のうち、Apple USB Keyboard だけが本日到着。Mac mini はまだ出荷連絡が無いので、もうちょっと時間がかかりそう。

IMGP3597.jpg IMGP3601.jpg IMGP3607.jpg

2007年11月16日

Mac mini が到着する

先日 Amazon.com に注文した Mac mini が到着。同時に注文した Apple USB Keyboard は 別便で先に到着 している。随分大きな箱に梱包されていたが、中には小さな箱が1つ入っていて残りは梱包材で埋まっている。小さな箱を開けると Mac mini の箱が現れる。現物を触っている時間が無いので、とりあえず今日は化粧箱を眺めるところまで。

IMGP3791.jpg IMGP3792.jpg
IMGP3795.jpg IMGP3797.jpg IMGP3803.jpg

2007年11月17日

Mac mini を起動する

先日に到着した Mac mini。いつまでも放置しておくわけにもいかないので、とりあえず電源投入して正常に起動することは確認しておく。箱から出して手に取ると「小さい」という印象が強烈。さすが「mini」、というか、今までの Mac(G4)が大きすぎと言った方が適切かもしれない。併せて注文して到着したキーボードを接続し、マウスは手持ちの G4 Mac から外して接続。モニターはバックアップ用 PC に繋がっていた 14 インチ CRT。電源投入して初期設定を経て起動成功。G4 Mac に比べると格段に速い。せかっくなので付属 DVD から Xcode など開発環境をインストールしておく。今日はここまで。

IMGP3949.jpg

2007年11月18日

Universal Binary をビルドする

Mac mini を使ってソフト開発に着手する。今回客先からの依頼で開発するのは Command Line Utility 形式のソフト。GUI が無いので Mac ソフトというより Unix の Shell ソフトという感じ。Mac mini が届く前から Windows マシン上でコーディングして動作確認も済ませてある。大したステップ数も無い C 言語のソースコードを Windows マシンから Mac mini へ USB メモリを介してコピーし、Mac OS 10.4 上の Xcode 2.4 を使って Command Line Utility - Standard Tool のプロジェクトを作成すると、デフォルトで Universal Binary をビルドするように設定された。

しかし、ビルドされた Universal Binary を PowerPC Mac で実行しようとすると、以下のエラーで実行できない。

dyld: <プログラム名> can't open library: /usr/lib/libstdc++.6.dylib (no such file or directory, errno = 2) Trace/BPT trap

ADC のサイト で情報を探すと、Cross-Development Programming Guide のドキュメント中 に以下のような説明が見つかる。

前述のように、Mac OS X v10.4およびインテルベースのMacintoshコンピュータ向けにコンパイルするには、GCC 4.0を使用する必要があります。ただし、GCC 4.0とGCC 3.3のコンパイラの間で、C++ ABIに変更があるため、Mac OS X v10.3.9よりも前のMac OS Xのバージョンを対象とする場合は、GCC 4.0を使ってC++コードまたはObjective-C++コードをビルドすることはできません。

手持ちの環境をチェックすると、ビルドに使った GCC のバージョンは 4.0 で、PowerPC Mac の OS のバージョンは 10.3 である。ということは、OS を 10.3.9 へアップデートするか、バージョン 3.3 の GCC を使ってビルドしなければ、動作するようにはならないということか。WWDC での Steve Jobs のキーノートを見ていると「Intel Mac へのソフト対応は超簡単」といった印象を受けるが、実際にやってみるといろんな問題があるものだ。面倒臭い。

2007年11月19日

Xcode のコンパイラを GCC 3.0 に変更する

Mac OS 10.3.9 より前の Mac OS で動作する Universal Binary を作成するには GCC 3.3 を使わなければならないというので試してみる。

  1. Xcode でプロジェクトを開く。
  2. [プロジェクト]-[アクティブターゲット 'ターゲット名' を設定]メニューを選択する。
    すると["ターゲット "ターゲット名"" の情報]ウィンドウが表示される。
  3. ウィンドウ上部の[ルール]をクリックする。
    xcode1.jpg
    ここでビルド時に使うツール選択ルールを決めているようだ。
  4. [System C rule]を[GCC System Version (4.0)]から[GCC 3.3]に変更する。
    xcode3.jpg
    すると以下のメッセージが表示される。
    xcode2.jpg
  5. [コピーを作る]を選択し、作成された[C source files]で[GCC 3.3]を選択する。

設定はこれで良いと思うのだけど、ビルドしてみると以下メッセージが表示されてビルドできない。

Compiling /Users/ディレクトリ名/ファイル名.cpp (1個のエラー) gcc-3.3: installation problem, cannot exec 'cc1plus': No such file or directory コマンド /usr/bin/gcc-3.3 が終了コード1で失敗しました。

GCC 3.3 のインストールがうまくいっていない模様。Mac mini 付属の DVD に格納されていた開発ツールを指示されるままインストールしたはず。となると、Apple の提供ミスの可能性大か。コンパイラが起動されると幾つかのサブプログラムが順次起動されるのが普通だ。cc1plus はそういったサブプログラムの1つなのだろう。本当に存在しないのか、それともパスが通っていないのか。

その辺りを更に深く調べてみないとなと思っていたら、客先から今回開発するプログラムは 10.3.9 より前の Mac OS で動作させる必要は無いとの通知あり。というわけで、この問題は放置したまま終了となる。

2007年11月20日

GCC のインストールパスを調べる

Xcode で GCC 3.3 を利用する場合の不具合だけど、そのまま放置するのも気持ち悪いので、少しだけ追跡調査。

まず /usr/bin にインストールされている GCC をリストしてみる。

lrwxr-xr-x   1 root  wheel       7 Apr  1 23:18 gcc -> gcc-4.0
-r-xr-xr-x   1 root  wheel  264712 Dec 24  2005 gcc-3.3
-rwxr-xr-x   1 root  wheel   80164 May 16  2006 gcc-4.0

シンボリックリンクにより、デフォルトの GCC は GCC 4.0 に設定されている。昨日のエラーメッセージから推測すると、GCC 3.3 から cc1plus というサブプログラムが呼び出されているようなので、find コマンドを使って cc1plus をディスク内で検索してみる。すると、以下のディレクトリに cc1plus が見つかる。

/usr/libexec/gcc/darwin/ppc/3.3/cc1plus
/usr/libexec/gcc/darwin/ppc/3.3-fast/cc1plus
/usr/libexec/gcc/i686-apple-darwin8/4.0.1/cc1plus
/usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/cc1plus

試しにターミナルから cc1plus を起動しようとしてみるが起動できない。

$ cc1plus
-bash: cc1plus: command not found

ちなみに PATH は以下のように設定されている。

$ env
PATH=/bin:/sbin:/usr/bin:/usr/sbin

というわけで、Xcode から GCC 3.3 が実行できない理由は、GCC 3.3 のサブプログラム(cc1plus など)のパス指定がされていないためと推測。パスを指定してやれば解決しそうだけど以後放置。

2008年03月10日

Mac OS X Leopard を購入する

Leopard.JPG先日 Apple から iPhone SDK が公開された。動作環境は Mac のみの模様。以前のプロジェクトで購入した Mac mini が手元にあるので、早速 SDK をダウンロードして見てみようと思ったのだけど、SDK の動作環境には「Technical Requirement: Intel processor-based Mac running Mac OS X Leopard」とある。

手持ちの Mac mini は Intel プロセッサベースの Mac だけど、インストールされている OS は Mac OS X Tiger (10.4) だ。SDK をインストールするためには Leopard を調達しないといけない。Apple Store を見ると送料無料で $129 とのこと。もっと安く調達できないかなと eBay に行ってみると、大体 $90+ ぐらいの相場で新品の Leopard が多数売買されていたので、未開封の新品を送料込みで $85 で落札しておいた。iPhone SDK 公開のお陰で、僕のように新たに Mac OS X を購入したり、更には Mac 本体を新規購入したりする開発者も多かったりして。Apple は iPhone SDK 特需で潤っているのかも?なんて思う今日この頃。

2008年03月12日

Max OS X Leopard を入手する

先日 eBay で落札した Mac OS X Leopard が到着。新品未開封の綺麗なパッケージ。手持ちの Mac mini は常時使わずにしまい込んであるので、引っ張り出してきて配線して動く状態にしないといけない。なかなか時間が取れない今日この頃だけど、なるべく早くインストールしておきたいものだ。

DSCF4535.jpg DSCF4536.jpg DSCF4537.jpg

2008年03月14日

Mac OS X Leopard をインストールする

先日調達した Mac OS X Leopard を手持ちの Mac mini にインストールする。Leopard 調達時には気にも留めなかったけど、Mac mini は Leopard のインストール条件を満たしているだろうか。そんな不安が脳裏をよぎるが、まだ買って間もないハードだし、Tiger がプリインストールされて出荷されてきたぐらいだもの、まあ問題ないだろうな。

Leopard01.jpg

暫らく仕舞い込んであった Mac mini を引っ張り出してきてワイヤリングし、Mac OS X Tiger を起動する。そして調達した Leopard の DVD-ROM を挿入すると、画面には Mac OS X Leopard のインストール画面が表示される。「Install Mac OS X」をダブルクリックすると、システムを再起動するように促される。

Leopard02.jpg

再起動後は画面の指示に従って Leopard のインストールを実行する。画面に表示されるインストールの残り時間は約1時間15分。出掛ける用事があったのでインストールを実行したままマシンを放置する。3時間ほど留守にして帰宅したらインストールは無事に完了し、システムが再起動されてユーザ登録画面が表示されていた。画面の指示に従って残りの手順を実行すればインストールは完了。Leopard に変わってまず目に付くのは変更されたデスクトップ画面。宇宙的なイメージなんだろうけど僕の好みでは無いなぁ。

Leopard03.jpg

2008年03月15日

Xcode 最新版をインストールする

OS を Mac OS X Leopard に変えたので、開発環境も Leopard の DVD-ROM に同梱されている Xcode をインストールしておく。使うかどうか定かではないけど念のため。最新の Xcode はバージョン3。起動するとまず Welcome スクリーンが表示され、基本的な内容や追加リソースへのショートカットが羅列されている。僕が使っていた前バージョンではそんな表示は無かったので、最近のバージョンで付加されたのだろう。そういえば Windows の開発環境である Microsoft Visual Studio も 2005 版からそういう画面が表示されるようになっていたな。誰が誰の真似をしたのか定かじゃないけど、ネットへの常時接続が当たり前になった以降の開発環境ではそういう表示が当たり前になったということだろう。

Xcode01.jpg

当分使うことは無いだろうから、今日のところは Xcode の詳細は見ないまま終了。

2008年03月31日

Linisys 製 802.11N 機器は Mac と相性が悪かった

先日のエントリで、友人宅の Wi-Fi 環境をアップグレードするべく Linksys 製の 802.11N 対応の Wi-Fi ルーターを購入したことを書いた。その後設置に行ったのだけど、その場に 802.11N 対応のパソコンが無かったこともあり、常用の 802.11g 対応ノートパソコンには問題なく接続できることを確認。家を出て大学に行っている子供達が近々 MacBook 持参で帰省してくると聞いて「これまでと違って 802.11N 規格で接続が早くなりまっせ~」とアピールしておいたのだけど、実際にはそれどころか MacBook からは接続できないとのクレームをもらってしまった。

実際に僕が現場で確認したわけではないが、友人の言葉を借りれば、まず「ほとんど繋がらない」とのこと。アクセスポイントは認識されるが接続できないということなのか。WEP 等のセキュリティは試しに外してあるのでオープンな AP として普通に接続できるはずだけど。そして「たまに繋がることがあるが2分ほどで必ず切れてしまう」らしい。さらに「その後は他の AP に接続するか Mac が聞いてくる」のだという。念のために Wi-Fi じゃなくて LAN ケーブルで有線接続すれば問題ないのは確認済みとのこと。

ネットで検索してみると、Mac ユーザ向けの BBS で同じ現象に遭遇している人の書き込みを発見。いろんなレスが付いているが、本人が自力で解決先を見つけた模様。その解決策というのは以下の通り:

Mac User's Forum > Wireless Disconnect Problem
http://www.macusersforum.com/index.php?showtopic=19654

Problem solved. According to Mac tech support, the Linksys WRT150N router (w/ a manufacture date of 11/06) utilizes a "draft 1" technology & my Macbook Pro a "draft 2" technology. This apparently results in a compatibility issue. Thus, I swapped the Linksys for a Airport Express Base Station. Problem solved.

要は「802.11Nはまだドラフト規格で、Linisys 製 WRT150 ルータと MacBook Pro では異なる時期の規格を採用しているので相性が悪くて当然」ということか。さらに「Airport Express Base Station に交換したことで解決」とある。

さて友人の場合はどうしたものか。もう購入店に返品できる期間も過ぎているし、仮に別の機器に変えたとしても次のドラフト規格更新時にまた似たような問題が出ないとも限らない。現在ちゃんと繋がっている機種が繋がらなくなっても困るしな。今のところのアイデアは少々割高になるが、追加で Apple 製の Wi-Fi ベースを設置するかということ。あとは Linksys ルータのファームウェアのアップデートによる解決を期待するぐらいか。友人も事情を分かってくれてとりあえず保留となったが、次回 Mac 使いの子供達が帰省するのは6月とのこと。それまでに何とかしてやらないと。ドラフト規格と対応製品の悩ましい関係である。

2008年04月07日

Interface Builder の日本語処理に潜むバグ?

Interface Builder を使ってウィンドウ上に配置したボタンのテキストを編集しているとハングアップすることがある。Inspector ウィンドウのエディットボックスにテキスト入力するのではなく、ボタンをダブルクリックして編集可能状態にして日本語入力する場合に限定されるようだ。他に手がないので Interface Builder を強制終了するのだけど、クラッシュログを見ると Event: Hang となっているから不具合が起きているのは間違いないだろう。Interface Builder のバージョンは先日リリースされた iPhone SDK Beta 2 に含まれる v.3.1 (648) である。IB を使って日本語 UI をデザインする場合には、もしクラッシュしても編集内容が失われないように頻繁にセーブしながら作業を進めるように心がけよう。

080407_ib_crash.jpg

2008年04月09日

Interface Builder の挙動はやっぱりおかしい

先日のエントリ では Interface Builder がハングアップすると書いたが、ハングアップしないまでも日本語の取り扱いに不審な挙動が見受けられる。デザインしているウィンドウ上のボタンやラベルを選択し、Inspector ウィンドウ中のエディットボックスを使ってタイトルテキストを編集しようとするが、エディットボックスがフォーカスされていて日本語入力モードになっているにも関わらず、キーボードからタイプしたローマ字は変換されずに生アルファベットのまま入力されてしまう。やっぱり日本語の扱いには問題がありそうだな。ハングアップして強制終了を余儀なくされる度に問題レポート画面で「アップルに送信」ボタンを押しているが、対処してもらえるかどうかは甚だ疑問だよね。

About Apple & Mac

ブログ「dreamhound」のカテゴリ「Apple & Mac」に投稿されたすべてのエントリのアーカイブのページです。新しい順番に並んでいます。

次のカテゴリはインターネットです。

他にも多くのエントリがあります。メインページアーカイブページも見てください。

Powered by
Movable Type