Mac OS X 10.6 Snow Leopard、Apple Special Event September 2009、QuickTime Player の新規画面収録

Mac OS X 10.6 Snow Leopard 発売、Apple Special Event September 2009 と大変慌ただしい時期でした。

まず、 Mac OS X 10.6 Snow Leopard から、Apple Store (Japan) で 2009/08/26(Wed) に Mac OS X 10.6 Snow Leopard シングルユーザーを予約しました。発売日 2009/08/28(Fri) に届きました。

インストールする前に、念のため iPhone SDK 3.0 (Leopard) を ‘/Developer’ フォルダにあるファイル ‘About Xcode and iPhone SDK.pdf’ を参考にアンインストールしました。

私の場合、ターミナル上で

sudo /Developer/Library/uninstall-devtools --mode=all

を実行しただけです。

Mac OS X 10.6 Snow Leopard ファミリーパックの一部の人で、メディア不良によりインストールに失敗する人もいたようですが、Mac OS X 10.6 Snow Leopard シングルユーザー版のインストールには成功しました。

最初の起動時に実行される ‘/System/Library/CoreServices/設定アシスタント.app’ が設定途中で終了してしまったのですが、実害がないので、そのままにしています。(MobileMe などの設定は、既に登録してあります。)

数日利用して問題がないので Time Machine で使用される Time Capsule のハードディスクを消去して作り直しました。

‘アプリケーション/ユーティリティ/AirMac ユーティリティ.app’ で Time Capsule を選択し、’手動設定’ ボタンを押し、ツールバーの ‘ディスク’ をクリック、’ディスク’ タブを選択、左中央にリスト表示されている ‘Time Capsule ディスク’ をクリックすると、右側に ‘アーカイブ…’ ‘消去… ボタン’ が現れるはずです。リスト ’Data’ をクリックすると右側の表示内容が変わるので、注意してください。後は ‘消去…’ ボタンを押すだけです。

Apple Special Event September 2009 で iPhone OS 3.1 が公開されたので

iPhone Dev Center - Apple Developer Connection
http://developer.apple.com/iphone/

から

iPhone SDK 3.1 with Xcode 3.2 (Snow Leopard)

をダウンロードしインストールしました。

iTunes を使って iPod touch の OS を 3.1.1 にアップデートし、拙作 iYKRSS をビルドして iPod touch に転送してみました。キーチェーンなども問題なく iYKRSS は正しく動作しているようでです。

最初、Xcode のオーガナイザで iPod touch の認識に失敗し、エラーが出たのですが、iPod touch の電源を切って再起動すれば認識されました。

また iTunes 9 の Genius Mixes などの設定に

iTunes 9 Tips and Tricks - Solve the Mysteries of the New iTunes | Mac|Life
http://www.maclife.com/article/howtos/itunes_9_tips_and_tricks_solve_mysteries_new_itunes

上記 URL を参考にしました。

Mac OS X 10.6 Snow Leopard をインストールした直後、サービスを利用しているフリーウェアのショートカットキーが無効になっていました。システム環境設定のキーボード、’キーボードショートカットキー’ タブを選び、左側のリストから ‘サービス’ を選択し、ショートカットキーを有効にしてください。利用している人がいるとは思えませんが、拙作 NSService [ http://kyoshiaki.sakura.ne.jp/osx/panther.html#nsse11 ] を Universal Binary でビルド [ id:KYoshiaki:20071209 ]し直している人は、テキスト/’Today dot’、’Today Slash’ が該当します。

Apple Special Event September 2009 について

Apple - QuickTime - Apple Special Event September 2009
http://events.apple.com.edgesuite.net/0909oijasdv/event/index.html?internal=ijalrmacu
Apple Keynotes (iTunes Podcasts)
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=275834665

ビデオ撮影、FMチューナー搭載の第5世代 iPod nanoiPod touch (late 2009) が発売されました。

私自身、iPod nano にはあまり興味がないので、iPod touch (late 2009) になるのですが、カメラ機能が搭載されなかったので、購入するのか悩みました。iPod touch 8GB はハードウェアに変更がないので、論外ですが、iPod touch 32GB、64GB は高速化されています。

結局 iPod touch 32GB を Apple Store (Japan) で注文してしまいました。その後、カメラ搭載の iPod touch が近々発売されるという、うわさもあるので失敗したかと思っています。下記 URL のようにジョブス氏が発言しているので、どこまでが本当かわかりませんが!

iPod touchにカメラがないのは「ゲーム機だから」(ジョブズ談)
http://japanese.engadget.com/2009/09/10/ipod-touch/

最後に ‘/アプリケーション/QuickTime Player.app’ のメニュー ‘ファイル/新規画面収録’ を利用して ‘iPhone シュミレータ’ 上の iYKRSS


iYKRSS
無料
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=321871985&mt=8

の実行画面を録画してものを付けておきます。

動画編集には iMovie を利用しました。QuickTime Player はデスクトップ全体しか録画できないので、iMovie の起動画面中央のマイク、i マーク間の格子(切り取り・回転)をクリックし、右上画面で画像を回転させ、切り取る範囲を選び、デスクトップ全体から iPhone シュミレータの画面を切り取りました。(実際は、表示エリアを指定してあるだけで、保存時に切り取られます。)

iYKRSS バ−ジョン 1.0.0 の米国のカスタマレビューにあった発言のように、 RSS フィードの未読判別が難しいので、インジケーターを付けてみました。意外と便利です。画像を添付しておきます。iTunes App Store の公開は、まだまだ先になりそうですが!

iYKRSS Q&A / Tips

iTunes StoreApp Store に拙作


iYKRSS
無料
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=321871985&mt=8

が公開されました。シンプルな RSS リーダーです。レーティングが高いのは URL を入力するアプリは レーティング 17+ が必要だからです。

個人的に利用していたものですが、折角なので公開してみました。無料です。ダウンロード数も少ないので、良かったらダウンロードしてください。

あらかじめサンプルとなる RSS フィード URL も含まれているので、RSS リーダーがどんなものか理解していない人でも楽しめると思います。最近、話題の芸能人ブログも男女別にリストに含まれています。宮川大輔さん、男性には出川哲朗さんのブログがおすすめです。

また 中川翔子さんの RSS フィード URL が変更になっているので、次回に修正したいと思います。何か問題となる箇所がありましたら、コメント欄にお願いします。

iPhone でアプリを利用している方なら、理解しやすい動作だと思います。若干、理解しにくい部分があるので補足しておきます。

■ とにかく、芸能人ブログを登録して、RSS フィードを読み込みたい。

Top 画面右下の ボタン をタップすると RSS フィード入力画面に移ります。右下の ‘URL’ ボタンを選択し、表示される RSS フィードのリストをスクロールして、登録したい芸能人の RSS フィードをタップしてください。すると、入力画面に変わり、URL、タイトルなどが入力されているはずです。左下の ボタンを押して RSS フィードを読み込んでください。

■ 内蔵ブラウザを表示する時に便利な動作。

通常、 ボタンを押すと内蔵ブラウザが表示されますが、赤枠部分のタイトルをタップしても内蔵ブラウザが表示されます。

ボタンの動作の違い。

ボタンをタップしない状態で、 ボタンをタップすると RSS フィールドのアイテムが読み込まれますが、その後、RSS フィード設定画面で設定した保存期間を過ぎたアイテムは削除されます。

ボタンをタップした状態で、 ボタンをタップすると RSS フィールドのすべてのアイテムを読み込みます。

RSS フィードで、配信されているすべてのアイテムを読み込みたい。とにかく、初期状態に戻したい。

Top 画面の ボタンをタップしてから、URL を直接入力か、’URL’ ボタンをタップして RSS フィードを選び、 ボタンをタップすると配信されている RSS フィードをすべて読み込みます。

一度 RSS フィードを登録した場合、Top 画面の右上 ボタンを選び、RSS フィードのタイトルをタップしてから、 ボタンを押すと配信されているすべてのアイテムが読み込まれます。

RSS フィードの設定画面

追加した RSS フィードごとに設定画面があります。Top 画面で RSS フィードのタイトルをタップし、次に表示された画面、右下のギアマークをタップすることで RSS フィードの設定画面を表示することができます。

すなわち、RSS フィードごとに違う設定、保存期間などを割り当てることができます。

■ 日付ソートで ‘なし’ を選んでも並び順が元に戻らない。

読み込み動作を行った後、ソートしないという意味で ‘なし’ を選択しても、並び順は元に戻りません。初期状態に戻した場合は、’■ RSS フィードで、配信されているすべてのアイテムを読み込みたい。とにかく、初期状態に戻したい’ を参照してください。

■ Description オン/オフ の意味がわからない。

Description をオフにすると RSS フィードのアイテムをタップした時に下のような画面を表示せず、すぐに内蔵ブラウザで表示します。RSS フィードに全文が掲載されていない時に便利です。

RSS フィードリストの ‘はてなアンテナ – あいふぉんてな’ をうまく利用したい。

RSS フィード設定画面で

リセット: 有効
Description 表示: オフ

に設定してください。これでリロードする度に、すべてのアイテムを削除してから、アイテムを読み込みます。

■ iYKRSS が起動しない。

残り電池残量が少ない場合、起動しない場合があります。充電してください。
ネットワークに問題がある可能性があります。Safari でウェブページを開くことができるか、確認してください。
また RSS フィードの数が多すぎて、メモリが足りない可能性があります。iYKRSS を再インストールしてください。

RemoteKey

RemoteKey
カテゴリ/ユーティリティ
\230
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=301472359&mt=8

技術的に興味があったので購入してみました。無線 LAN 環境が必要です。(Mac に AirMac カードが内蔵されていれば、利用できます。設定方法は、下の URL の右下 ‘外出先での接続方法’ を参考にしてください。)

RemoteKey
http://hmdt.jp/remotekey/index-jp.html

iPod touch 上で RemoteKey を動作させた後、上の URL から ダウンロードし、Mac 上にインストールした RemoteKey Connect を起動します。
Devices (私の場合は iPod touch) を選んで Connect ボタンを押します。これで Mac の RemoteKey Connect で入力した文字が iPod touch の Remotekey に表示されます。
RemoteKey Connect で Mail ボタンを押せば iPod touch 上のメールが起動し、入力した文字列が本文として入力されています。RemoteKey Connect を終了するには、メニューバーの右端のアイコンからメニュー ‘Quit RemoteKey Connect’ を選択してください。

動作原理を調べてみました。間違っている記述もあると思いますが、メモとして残しておきます。

RemoteKey は Bonjour を利用して Mac と iPhone または iPod touch 間で動作します。
サンプルコード WiTap が参考になりそうです。(ソースを覗いてみましたが、私には理解するのに苦労しそうです。) WiTap は Bonjour を利用して2台の iPhone で 動作します。もちろん iPhoneiPod touch でも動作します。

WiTap
http://developer.apple.com/iphone/library/samplecode/WiTap/index.html
(iPhone Dev Center に登録していないと閲覧できません。)

私自身、iPod touch 1台しか所有していないので、WiTap を iPod touch 32GB、iPhone Simulator.app にそれぞれインストールして、両方の WiTap を実行し動作確認しました。WiTap は、カラーパッドをタップすると、もう一方の端末の WiTap のカラーパッドが点滅します。

iPod touch 上の ‘メール’、’マップ’ を起動するには NSURL、NSApplication を利用します。
‘メール’ を起動する例です。

	UIApplication *application;
NSURL *url;
url = [NSURL URLWithString:@"mailto:foo@me.com"];
application = [UIApplication sharedApplication];
[application openURL:url];

また、自分が作成したアプリケーションに Custom URL Schemes を登録して、他のアプリから起動させることもできます。動作確認には iPod touchiPhone Simulator.app 上の Safari の URL に Custom URL Schemes を含んだ URL を入力して試すと良いようです。下の例では URL は “xyzlist://Sample.koyama.jp/?test#20090221” です。

-- 起動されるアプリケーションの Info.plist (今回の例ではアプリケーション名 Sample) --
▼ Information Property List
▼ URL types
▼ Item 1                    : jp.koyama.Sample
URL identifier
▼ URL Schemes
Item 1               : xyzlist
//アプリケーション Sample を起動させるソースコード
UIApplication *application;
NSURL *url;
url = [NSURL URLWithString:@"xyzlist://Sample.koyama.jp/?test#20090221"];
application = [UIApplication sharedApplication];
[application openURL:url];

下記の URL が参考になります。(ただし、以降に出てくる Apple の URL は iPhone Dev Center に登録していないと閲覧できません。)

iPhone Application Programming Guide: Customizing Your Application’s Behavior
http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/ApplicationEnvironment/chapter_3_section_6.html#//apple_ref/doc/uid/TP40007072-CH7-SW22
The Core Application
Customizing Your Application’s Behavior
Communicating with Other Applications

The iPhone Developer's Cookbook: Building Applications with the iPhone SDK (Developer's Library)
Erica Sadun
10 Connecting to Services
Recipe: Subscribing Application to Custom URL Schemes
P303

上の本も参考にした方が理解しやすいと思います。また、’The iPhone Developer’s Cookbook’ [ asin:0321555457 ] は、

日本語に翻訳された本 ‘iPhone デベロッパーズ クックブック’ [ asin:4797352418 ] が発売されています。

他のアプリケーションから起動されたアプリケーションは

UIApplicationDelegate Protocol Reference
http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIApplicationDelegate_Protocol/Reference/Reference.html
Opening a URL Resource
- application:handleOpenURL:  optional method  

が呼び出され、起動します。

//   アプリケーション Sample の UIApplicationDelegate
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
//   url = @"xyzlist://Sample.koyama.jp/?test#20090221"
NSString *taskName = [url query];
NSString *dateString = [url fragment];
NSLog(@"%@ %@", taskName, dateString);
}

起動されるアプリケーション (上の例では Sample) の UIApplicationDelegate に上のソースを追加し、iPhone Simulator.app の Safari で URL “xyzlist://Sample.koyama.jp/?test#20090221” で起動させると、/アプリケーション/ユーティリティ/コンソール.app の ‘ログ・データベース・クエリー/コンソールメッセージ’ で下のメッセージを見つけることができます。

09/02/21 18:49:35 Sample[3392] test 20090221

また URL を利用して渡される値は下記の URL を参考にしてください。’メール’、’マップ’ を起動する時に渡すパラメーターが、Mail、Phone、Text、 Map、YouTubeiTunes Links としてそれぞれ説明してあります。

Apple URL Scheme Reference: Introduction
https://developer.apple.com/iphone/library/featuredarticles/iPhoneURLScheme_Reference/Introduction/Introduction.html#//apple_ref/doc/uid/TP40007891
NSURL Class Reference
https://developer.apple.com/iphone/library/documentation/Cocoa/Reference/Foundation/Classes/NSURL_Class/Reference/Reference.html#//apple_ref/doc/uid/20000301-4355
RFC 1808 - Relative Uniform Resource Locators
http://tools.ietf.org/html/rfc1808