Apple Pro Speakers の現役復帰

MacHard

iMac G4 を復活させたのと同時に付属の Apple Pro Speakers を机の上に取り出したのだけど(→ 2015.3.26)長い時間眠っていただけあってさすがに鏡面のコーンは濁ってしまったし、その周囲も黄ばんでしまっていた。

せっかくの機会なので掃除してみることにする。

→ 続きを読む

ピカピ CAN で身の回りの金属製品をピカピカに磨く

MacHard

iMac G4 のハードディスクを交換したとき(→ 2015.3.23)本体を寝かせる必要があったのだけど、正面にある鏡面アップルマークを保護していなかったので細かい傷がついてしまった。使用中に目に入るので少し気になる。

この iMac の登場した時代の前後あたりから、iPod の裏面もそうだけど Apple 製ハードウェアの筐体に鏡面の金属がたびたび採用されている。最近でもステンレスボディの Apple Watch が鏡面だ。独特の存在感を放って美しいけど、長年使うとどうしても表面に細かい傷が増えたりして輝きを失ってしまう。

そういえば iMac のほかにも使っているうちに濁ってしまった金属製品がいくつもある。全部磨いてピカピカにしたら気持ちいいに違いない...! いい機会なので金属磨きをホームセンターで買ってきた。

→ Amazon.co.jp:アサヒペン 金属みがき ピカピカン 70G

研磨剤などが染み込んだ綿を缶に詰め込んだ、金属磨きのための製品。特徴的なのが、使う分だけ手でちぎって使用後はそのまま捨てられること。汚れた布を洗ったりして保管するのは手間がかかるのでこれはすばらしい。

早速、磨いてみることにする。製品によっては汚れたりメッキが剥げたりなどリスクはあるので、何を磨くのかは缶の説明書きを読んでよく考えた上で自己責任で。

→ 続きを読む

OS X 10.1 との再会(3)- iPhoto も生まれたばかり

MacSoft

今日、OS X 10.10.3 がリリースされて Photos が登場した。それと同時に iPhoto と Aperture が App Store から消滅。

iPhoto はまだいいとして、Aperture が消えたのは許せんぞ。Photos ではまだまだ力不足。せめて Photos が実用的になるまでは開発(メンテナンス)を続けてほしかった。

とは言っても自分はそんなにヘビーな Aperture ユーザではない。加工や RAW 現像は別のソフトでやっていて Aperture は管理専用。どうしても欠かせないのはプロジェクト(iPhoto での“イベント”)とスタックで写真をまとめる機能なのだ。設定やアングルを微調整して同じものを何枚も撮ることってよくあると思うのだけど、最近の Apple は iPhone でオート撮影することしか考えていないのだろうか。逆に言えば、この 2 つの機能さえ追加されれば Photos に乗り換えできそうではある。

とにかく今日は、新しく追加された Photos をざっと紹介しようと思うゎない。先月始めた OS X 10.1 特集がまだ終わっていないのだ。iPhoto 1.0 について紹介するよ!

→ 続きを読む

お餅ピザ

Others

作ってみたら簡単でおいしかった。“ピザ”かと言われると違う気もするけど。

→ 続きを読む

Yosemite の NSViewController はこれまでとは違う!

MacDev

iOS App を作っている人なら、UIViewController が必要不可欠な存在であることがわかるはず。View(ビューとその子孫ビューのいくつか)を管理して、Model との関係をつなぎ、そのまとまり全体の処理を統括する Controller であり UIKit における MVC の柱と言える。

Mac ではどうだろうか。もともと AppKit では、1 つの NSWindowController ごとに MVC の関係を形成していた。View はウインドウであり、それに含まれる子孫ビューも含む。

ウインドウ単位で 1 Controller しか用意していないようではそのクラスがあまりに巨大化してしまう懸念があるけど、OS X 初期では処理ごとにウインドウが独立していることが多かったので、当時はそこまで不便ではなかった。ドロワーもシートもパネルもみんな独立したウインドウである。

OS X が進化するにつれ、Mac アプリケーションでは 1 つのウインドウ内にすべての機能を詰め込むようなデザインのものが多くなってきた。ドロワーは使われなくなったし、パネルで用意していたような機能もサイドバーとしてウインドウ内に配置されるようになってきた。こうなるともっと処理を分散させたい。そこで、OS X 10.5 Leopard において追加されたのが NSViewController というクラス。待望の、ビュー単位の Controller。これでアプリケーション開発が楽になるかと思いきや、本当に使い物にならなかった。

中身がなさすぎた

Leopard の時点で使い物にならないのはしかたがないとして、4 回もバージョンを重ねた OS X 10.9 Mavericks になっても NSViewController の中身はほとんど変化せず

  • -initWithNibName:bundle:
  • -loadView
  • .representedObject
  • .nibBundle
  • .nibName
  • .view
  • .title
  • -commitEditingWithDelegate:didCommitSelector:contextInfo:
  • -commitEditing
  • -discardEditing

たったこれだけ。ほとんど nib でビューを読み込んで包み込むだけ。ビューからの必要な通知も受け取れないし、レスポンダチェーンとしてアクションを受け取ることもできない。Cocoa のほかのクラスからも無視された状態であり、NSViewController とのつながりがあったのは OS X 10.7 Lion で追加された NSPopover と OS X 10.8 Mountain Lion で追加された NSPageController ぐらいだった。

この状況は OS X 10.10 Yosemite の登場で大きく変わることになる。手を入れるのが遅すぎると言いたくなるけど、今回は本気のようだ。便利なプロパティやメソッドが増えただけではなく、Cocoa アプリケーションを構成する一員としてしっかりと組み込まれた。今回は AppKit Release Notes for OS X v10.10 を読みながら、その変更点を紹介してみようと思う。

とは言っても、iOS の UIViewController とほぼ同等のものになったというだけの話である。

→ 続きを読む