10月, 2011

NSTrackingAreaクラス

投稿者:アールケー開発 この記事は 2011年10月27日 に公開されました。

NSViewでカーソルのトラッキングを行うとき、NSViewクラスのaddTrackingRect:owner:userData:assumeInside:メソッドを使っていましたが、Mac OS X 10.5のときにNSTrackingAreaクラスが追加されて、もうちょっとオブジェクト指向的になっていたことに気がつきました。

機能的にはaddTrackingRect:owner:userData:assumeInside:と違いはないように思いますが、updateTrackingAreasという気になるメソッドがあります。

ドキュメントによるとNSViewのサブクラスを作ったときにオーバーライドして、トラッキングエリアの更新を行えるという位置づけのメソッドです。

NSViewのトラッキングエリアの指定は、ビューのサイズが変わったときや移動したときなどに自動的には追従してくれないので、そのことを意識したメソッドのようです。

動作環境が10.5以降のときはこっちを使った方がスマートですね。

▲ページトップへ戻る

iPhone 4 と iPhone 4S 側面が少しだけ違う

投稿者:アールケー開発 この記事は 2011年10月14日 に公開されました。

iPhone 4とiPhone 4Sですが、全く同じデザインだと思っていたのですが、側面は少しだけ違いました。下の写真で左側がiPhone 4、右側がiPhone 4Sです。ぱっと目立つのは、スリット(?)というか黒い部分がiPhone 4は下側だけ、iPhone 4Sは上下にあります。

それともう一つ。最初は気づかなかったのですが、音声をミュートにするためのボタンの位置が1mmほど下側に変わっています(写真では置いた位置が正確ではないですが)。iPhone 4Sのバンパーをつけてみると、ちょっとボタンの位置がぎりぎりになって、操作するときに引っかかるような感じだったので、ケースを買い替えました。

iPhone 4(左) と iPhone 4S(右)

iPhone 4(左) と iPhone 4S(右)

▲ページトップへ戻る

iCloudでのブックマーク同期はほぼリアルタイム

投稿者:アールケー開発 この記事は 2011年10月13日 に公開されました。

MobileMeからiCloudへ移行しました。

移行してから、iCloudでのブックマークの同期はほぼリアルタイムで行われていることに驚きました。

2台のMacを隣同士に置いて作業していたときに、どちらもiCloudでブックマークを同期するように設定してから、ブックマークバーにあるいらないフォルダを削除したところ、削除から0.5秒遅れくらいで隣のマシンのブックマークバーからも同じフォルダが消えていきました。

MobileMeでもブックマークの同期は使っていましたが、ここまでリアルタイムではなかったように思います。

▲ページトップへ戻る

LionにphpMyAdminをセットアップする

投稿者:アールケー開発 この記事は 2011年10月11日 に公開されました。

別の記事でMySQLをLionにセットアップする手順(LionでMySQLを稼働させるための5ステップ)を書きましたが、MySQLをセットアップすると欲しくなるのがphpMyAdminです。phpMyAdminはブラウザからMySQLの管理ができるWebアプリケーションで、PHPで記述されています。Lionにもインストールして使用することができます。

この記事では、phpMyAdminをLionにセットアップする手順について紹介します。

WebサーバーはLionの「Web共有」機能を使用します。次のように操作します。

1. アップルメニューから「システム環境設定」を開く

2. 「共有」を開く

3. 「Web共有」のチェックを入れる

4. 「Web共有」をオンにすると表示される「コンピュータのWebサイトフォルダを開く…」ボタンをクリック

5. 「phpMyAdmin」から「phpMyAdmin」をダウンロードする(この記事の執筆時点での最新版は3.4.5でした)

6. ダウンロードして解答したフォルダ名を「phpMyAdmin」に変更して、4の操作で表示されたフォルダ(「/Library/WebServer/Documents」)にコピーする

7. コピーしたフォルダ内の「config.sample.inc.php」ファイルを同じフォルダ内でコピーする

8. コピーしたファイルの名前を「config.inc.php」に変更する

9. 「config.inc.php」ファイルを開き、次の行の「”」の中にランダムな文字列を適当に書く

$cfg['blowfish_secret'] = 'ここにランダムな文字列を書く';

10. ファイルを保存して閉じる

11. PHPを有効にするため、「/etc/apache2/httpd.conf」ファイルを開く。なお、このファイルの保存には管理者権限が必要になるので、ターミナルで次のように入力して、「nano」で編集した方が簡単です。

sudo nano /etc/apache2/httpd.conf

変更箇所は一カ所で、次の行の先頭の#を削除します。

#LoadModule php5_module libexec/apache2/libphp5.so

次のように「#」を削除する

LoadModule php5_module libexec/apache2/libphp5.so

「nano」での操作に慣れていない場合には、「Finder」の「移動」メニューから「フォルダへ移動」コマンドを選択して、「/etc/apache2」と入力し、「Finder」でフォルダに移動して、「httpd.conf」ファイルをデスクトップなどにコピーして編集してから、「Finder」でファイルを上書きするという方法もあります。

12. Apache2を再起動します。システム環境設定を開き、「共有」を開いて、「Web共有」を一度オフにして、再度オンにします。

この手順で成功すると、次のURLでローカルマシンにセットアップしたphpMyAdminを使用できます。

http://localhost/phpMyAdmin/
▲ページトップへ戻る

LionでJava

投稿者:アールケー開発 この記事は 2011年10月10日 に公開されました。

LionからはJavaが標準インストールされていないので、Javaのソフトを実行するには、実行環境を別途インストールする必要があります。

Lion用のJavaのインストーラはApple社のサポートページで公開されています。

Java for OS X Lion

このページからインストーラをダウンロードして、ブラウザを終了した後、インストールを実行すればLionでもJavaのソフトが動くようになります。

▲ページトップへ戻る

C言語逆引きハンドブックの発売日について

投稿者:アールケー開発 この記事は 2011年10月9日 に公開されました。

先日、ご案内したC言語逆引きハンドブックの発売日は12日ではなく、10月11日でした。

C言語逆引きハンドブックについてはこちらをご覧ください。

「C言語逆引きハンドブック」を執筆しました

▲ページトップへ戻る

Macを起動するときのキーコンビネーション

投稿者:アールケー開発 この記事は 2011年10月9日 に公開されました。

Macは特定のキーを押しながら起動すると、特別な機能が動いたりします。覚えておくと、いつか役に立つかもしれないというものをピックアップしてみました。(他にもあったような気がしますが、覚えている範囲で)

はじめに

マシンに元々付属していたキーボードではない場合は反応してくれないことがあります。特にBluetoothのキーボードは、マシンが元々Bluetoothがバンドルされているモデルではない場合は、OSが起動してからBluetoothの認識処理になったりするので、起動時には無視されてしまうことがあります。そのようなときは、USBタイプのキーボードを使いましょう。

マウスダウンしながら起動

キーコンビネーションと書いておきながら、いきなりキーボードではなくマウスのボタンです。マウスのボタンを押しながら起動すると、CD/DVDが入っている場合イジェクトしてくれます。

Optionキーを押しながら起動

オプションキーを押しながら起動すると、起動ディスクの選択画面が表示されます。この画面を出しながら起動用のCD/DVDを入れると、それも認識してくれるので以外と便利。ここで選択したボリュームは「一時的」という扱いなので記憶されません(確かめていませんので間違っているかも)。記憶させたいときは「システム環境設定」の「起動ディスク」で選択します。

「C」キーを押しながら起動

CD/DVDから起動します。マシンに元々付属のキーボード以外だとうまくいかないことがあります。その場合は「Option」キーを押しながらの起動にしましょう。

「T」キーを押しながら起動

ターゲットディスクモードで起動します。ターゲットディスクモードになると、そのマシンがFirewire接続のハードディスクになります。他のマシンに接続すると、そのまま外部ドライブとしてマウントされます。

Command + Option + 「P」 + 「R」を押しながら起動

PRAMのクリアをします。押している間、何回も起動音がして、マシンの起動をやり押すような動きをします。このときPRAMがクリアされます。2,3回起動音がなったらキーを離して、マシンを起動させてください。なんか、マシンが変な調子なときに行うと直ることも。

「D」キーを押しながら起動

Apple Hardware Testを起動します。Lionプリインストールマシンの一部には、インターネット越しにApple Hardware Testが読み込まれるものもあるらしいですが、ほとんどのマシンでは、Apple Hardware Testが格納されたCD/DVD、もしくは、USBメモリ(いずれもマシンに付属していたもの)を入れている状態で行います。

Apple Hardware TestのユーザーインターフェイスはMac OS 8とか9時代のインターフェイスです。なんだか懐かしい。

Command + 「S」キーを押しながら起動

シングルユーザーモードで起動します。

Command + 「V」キーを押しながら起動

Verboseモードで起動します。

▲ページトップへ戻る

MOSADeN Online 第19回の原稿アップしました

投稿者:アールケー開発 この記事は 2011年10月9日 に公開されました。
MOSADeN Online 第19回の原稿をアップしました。11日に公開される予定です。
今回はEvent Kitを使って、アプリ側から任意の情報を設定したイベントを追加する方法と、アラームの設定方法についてです。
MOSADeN Onlineについては、こちら。
▲ページトップへ戻る

Mac用Subversionクライアントから3つピックアップ

投稿者:アールケー開発 この記事は 2011年10月7日 に公開されました。

Mac用のSubversionのGUIクライアントもいくつかあります。以前も、このテーマで記事を書きましたが、自分自身が使っているクライアントソフトが当時とは変わって来たので、まとめてみました。以前の記事はこちらです。

Subversionのクライアントソフト

svnx

オープンソースのSubversion。この記事の執筆時点での最新版、バージョン1.3.1ではMac OS X 10.7 Lionにも対応しています。一通りの機能も実装されており、結構使いやすいです。個人的に気に入っているのは、特定のリポジトリの状態に切り替えるのが簡単な所とフラット表示です。

また、本ブログの中でも使い方をまとめています。

svnXリポジトリウインドウの使い方

Cornerstone

Mac App Storeでも販売されているSubversionのクライアント。非常に使いやすい。Mac App Store版は複数のマシンにインストールできるのでコスト的もうれしい。1ウインドウで複数のリポジトリや複数のワーキングディレクトリが扱え、ファイル比較機能なども内蔵されています。

「Cornerstone」については、本ブログで別の記事にもまとめています。

Cornerstone、これだけ知っていればとりあえず始められる

Versions

こちらもMacらしいユーザーインターフェイスを備えた使いやすいクライアントソフト。この記事執筆時点ではMac App Storeでは販売されていません。直接、Webサイトからライセンスを購入できます。1つのウインドウで複数のリポジトリやワーキングディレクトリを扱えます。この記事執筆時点では、最新版が1.xなので、Mac OS X10.4で動作するバージョン1.0.9でも使用できるライセンスが購入できます。(「Cornerstone」は既にMac OS X 10.4で動作するバージョンのライセンスは購入できませんでした)

CornerstoneとVersionsを比較

「Cornerstone」と「Versions」で少し異なるのは、リポジトリとワーキングディレクトリの考え方だと思います。「Cornerstone」ではリポジトリの一覧とワーキングディレクトリの一覧を別々にしており、あくまで異なるものとして扱っています。一方「Versions」はチェックアウトしたワーキングディレクトリはリポジトリの下にぶら下がっており、視覚的にも関連づけられて、統合されているようなイメージです。

オープンソースと商用を比較して

私はそのときどきの使用する機能やマシンのライセンスなどによって、商用とオープンソースとを使い分けています。メインで使用しているのは商用の「Cornerstone」です。このアプリケーションは、変更を加えたときに、その変更を自動的に検出して、ワーキングウインドウなどに表示してくれます。この点は「Versions」も同様です。svnxでも「Refresh」ボタンをクリックすればその場で検出してくれますが、特にボタンなどをクリックしなくとも、ウインドウがアクティブになったときに検出してくれるのは、コミット漏れの防止になります(変更したこと自体を忘れていると、「Refresh」ボタンをクリックしないことが自分では多いので)

また、コミットしようとしたときに、リポジトリに追加していないファイルがあれば警告が出るなど、「何かを忘れている」や手間といった部分に対するケアは商用ソフトに一日の長があると思います。その他、タイムラインといった特定のファイルに対する変更履歴の追跡など、Subversionを使いこなすという面でも、この記事執筆時点では、商用ソフトの方が上だと思います。

また、私の場合「Versions」は「Cornerstone」が動作しない環境(Mac OS X 10.4。古いバージョンのCornerstoneなら動作するのですが、ライセンスを購入できないので)で使用しています。こちらも変更されていれば自動的に検出される機能などが入っています。私は少し古いバージョンを使用していますが、最新版はMac OS X10.5以降が動作対象です。

svnx

svnx – An OS X open source GUI for most features of the svn client binary. – Google Project Hosting

Cornerstone

Cornerstone - Zennaware GmbH Cornerstone – Zennaware GmbH

Versions

Versions – Mac Subversion Client (SVN)

▲ページトップへ戻る

Nibファイルに空のポップアップボタンを配置するときの注意

投稿者:アールケー開発 この記事は 2011年10月5日 に公開されました。

デフォルト状態では空になるようなポップアップボタンをNibファイルで作成するときには注意が必要です。Mac OS X 10.4上では、空のNSPopupButtonが入ったNibファイルをロードしようとするとダブルフリーが発生して、Nibファイルをロードできません。環境依存かもしれませんが、私の10.4.11の入ったマシンでは100%例外が投げられます。(本来、想定されていない状態なのかと思われます)

少なくともメニューアイテムを一つ作成しておいて、awakeFromNibメソッドで「removeAllItems」メソッドで削除するなど、少し工夫が必要です。

ただ、Mac OS X 10.6上ではこのようなことは起きません。開発しているマシンのOSでは起きないのに、テスト環境で起きるという嫌なタイプの事象です。

原因が分かるまで、少しはまりました。

▲ページトップへ戻る