アップル 2010年秋 スペシャルイベント、Twitter 用ライブラリ XAuthTwitterEngine に機能を追加して公開

アップル 2010年秋 スペシャルイベントが 9月1日 (September. 1, 2010 at 10 a.m. Pacific Time : 日本時間9月2日深夜午前2時) に Yerba Buena Center で開かれました。スペシャルイベントのストリーミング動画は

Apple - Apple Events - Apple Special Event September 2010
http://events.apple.com.edgesuite.net/1009qpeijrfn/event/index.html

で見ることができます。iTunes Podcast

Apple Keynotes - Apple Special Event, September 2010
http://itunes.apple.com/jp/podcast/apple-keynotes/id275834665

でも配信されています。

今回のイベントで発表されたのは新 iPod ラインナップ、iOSプレビュー、新 iTunes とサービス、新 Apple TV でした。

iPod nanoiPod shuffle には興味がありませんが、新 iPod touch は、拙作 iYKRSS を Retina ディスプレイには対応させるために購入しようか悩んでいます。カメラ機能も購買意欲をそそられます。

以前 id:KYoshiaki:20100627、紹介したように自作した iPadRSSリーダー iYKRSSHD と Twitter アプリ iYKTwitter は毎日使用しています。ところが、Twitter の認証方式が OAuth 認証必須になり、Basic 認証が廃止されました。それで iYKTwitter を OAuth 認証に対応させる必要が生じました。

ネットで調べてみると OAuth 対応は難しそうなので OAuth 認証の簡易版 xAuth が良さそうです。

xAuth を使うために以下のサイトを

xAuthを使うための手続き - タイトルは未定
http://d.hatena.ne.jp/nakaji999/20100623/1277306203
xAuthの申請をしてみた « Today’s Replay
http://tmokita.sakura.ne.jp/wpress/2010/06/28/xauth%E3%81%AE%E7%94%B3%E8%AB%8B%E3%82%92%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F/

を参考にしました。

Create cool applications! | dev.twitter.com
http://dev.twitter.com/

まず、最初に上の URL で Twitter アカウントでサインインし、2. Register an app をクリックするとアプリケーション登録申請ページが開きます。自作アプリを登録します。ただし、アプリケーション名で Twitter という文字を含んでいるとエラーになります。私の場合、iYKTwitter では登録できませんでした。それでアプリケーション名を iYKTweetHD に変更しました。これで OAuth 認証が使えるようになりました。

OAuth 認証の簡易版 xAuth を利用するためには api@twitter.com にメールを送って、有効にしてもらう必要があります。メールに送る内容については、先ほど紹介した下記 2つのページが参考になります。

xAuthを使うための手続き - タイトルは未定
http://d.hatena.ne.jp/nakaji999/20100623/1277306203
xAuthの申請をしてみた « Today’s Replay
http://tmokita.sakura.ne.jp/wpress/2010/06/28/xauth%E3%81%AE%E7%94%B3%E8%AB%8B%E3%82%92%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F/

それぞれ申請するアプリの platform に合わせて送信する内容を置き換えてください。私の場合は iPadiOS 3.2 です。また、下記本家サイトを確認すると

Using xAuth | dev.twitter.com
http://dev.twitter.com/pages/xauth
xAuth access is restricted to approved applications. If your application is a
desktop or mobile application and the standard web OAuth flow or PIN-code
out-of-band flow is not right for you, send a detailed message to api@twitter.com
to request xAuth privileges. Include the name of your application,
the consumer key, the application ID (if available), and a summary of how xAuth
is best-suited for your application.

consumer key も必要そうなのでメールで送りました。スクリーンショットについては、私は MobileMe に加入しているので、Sites フォルダにスクリーンショットファイルを置いて下記 URL をメールに書いて送りました。

http://homepage.mac.com/'メンバー名'/'スクリーンショットファイル'

次の日にメールで xAuth が使用可能になったと返事が届きました。

xAuth を自力で実装するのは無理なので、参考になるライブラリを探しました。XAuthTwitterEngine が良さそうです。

最初に見つけた XAuthTwitterEngine ライブラリは

aral's XAuthTwitterEngine at master - GitHub
http://github.com/aral/XAuthTwitterEngine

です。さらにフォークを探してみるとリストに対応した

penso's XAuthTwitterEngine at master - GitHub
http://github.com/penso/XAuthTwitterEngine

を発見しました。ところがファイルがすべて揃っていません。仕方がないので自分で作成しました。また statuses/home_timeline や retweeted_status も実装されていないようなので追加しました。私が個人的に利用するために作成したものなので status の id が文字列に変更されています。注意してください。それにしてもきれいなソースには驚かされました。大変勉強になります。

github の使い方がよく分からないので、はてなのファイルアップロード機能利用して機能を追加した XAuthTwitterEngine Zip ファイルをアップロードしておきます。下記リンクからダウンロードできます。ただし、下記リンクのファイル名をクリックするとダウンロードされたファイル名が変化しますので、横の矢印↓をクリックしてダウンロードしてください。

Yoshiaki-XAuthTwitterEngine.zip 直

Yoshiaki-XAuthTwitterEngine.zip
http://kyoshiaki.sakura.ne.jp/osx/Hatena/Yoshiaki-XAuthTwitterEngine.zip

簡単な説明は、Zipファイルに同封された ReadMe-j.rtf に記載しておきました。公開に問題があったら、取り消しするかもしれません。質問についてはコメントを利用してください。返事は遅くなるかもしれません。

最後に XAuthTwitterEngine を利用して作った自作 Twitter アプリ iYKTweetHD の実行画面を添付しておきます。



米Apple、アンテナ問題の記者会見、Xcode オーガナイザ による Application Data の管理、iTunes のファイル共有

Apple、アンテナ問題の記者会見のビデオを公開

アップル - QuickTime - 7月16日の記者会見
http://www.apple.com/jp/apple-events/july-2010/
アップル - スマートフォンのアンテナ性能
http://www.apple.com/jp/antenna/
アップル - アンテナ設計・試験室
http://www.apple.com/jp/antenna/testing-lab.html

個人的な意見ですが、iPhone 4 の外部アンテナが剥き出しで目視できることが問題なんだと思います。いろいろなウェブサイトから判断すると、性能的には欠陥というほどではないような気がします。

Statement by Apple on White iPhone 4
http://www.apple.com/pr/library/2010/07/23iphonestatement.html
アップル - iPhone 4 - ケースプログラム
http://www.apple.com/jp/iphone/case-program/

iPhone 4 ホワイト モデル発売が延期になったようですね!
2010年9月30日までに iPhone 4 を購入した方への iPhone 4 Bumper、または特定の他社製ケース無償配布の受付も始まったようです。

前回紹介したように iPhoneRSS リーダー iYKRSS を iPad に移植しました。

iPad Programming Guide: Starting Your Project
http://developer.apple.com/iphone/library/documentation/General/Conceptual/iPadProgrammingGuide/StartingYourProject/StartingYourProject.html#//apple_ref/doc/uid/TP40009370-CH9-SW3
▼Creating a Universal Application
Adding Runtime Checks for Newer Symbols
Using Runtime Checks to Create Conditional Code Paths

上記ページを参考にして iPhoneiPad 両方で動作する Universal Application を作成しようと思ったのですが、ソースが複雑になりそうだったので、iPhone 用 iYKRSS を iPad 用に iYKRSSHD というプロジェクト名で新規作成しました。

iPad Programming Guide: Views and View Controllers
http://developer.apple.com/iphone/library/documentation/General/Conceptual/iPadProgrammingGuide/UserInterface/UserInterface.html#//apple_ref/doc/uid/TP40009370-CH3-SW7
▼Views and View Controllers
▼Using Popovers to Display Content

上記ページを参考に popover を使用しました。一例が下図です。

ModalView を中央に表示するのに UIViewController の modalPresentationStyle に UIModalPresentationFormSheet を設定し、下記ソースのように利用しました。

- (IBAction)toolbarItemAddTapped:(id)sender
{
EditController *content;
if (self.gEditController == nil) {
content = [[[EditController alloc] initWithNibName:@"EditController" bundle:nil] autorelease];
content.gRootController = self;
content.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
content.modalPresentationStyle = UIModalPresentationFormSheet;
//		content.modalPresentationStyle = UIModalPresentationPageSheet;
self.gEditController = content;
}
[giYKRSSHDViewController presentModalViewController:gEditController animated:YES];
}

UIModalPresentationFormSheet の実行結果が下図です。

他の部分は iPhoneRSS リーダー iYKRSS とほとんど同じなので、難なく作成することができました。

RSS リーダーに登録したフィードなどのデータをファイルに保存するには、plist、NSKeyedArchiver、CoreData の3通りあります。

拙作 iYKRSS、iYKRSSHDでは CoreData を使うほど本格的なデータベースは必要ないし、plist を使うほど単純ではないので、NSKeyedArchiver を利用しています。

iYKRSS、iYKRSSHD で保存されるデータ構造は同一で同じファイル名 RSSArchive.iYKRSS です。ファイル RSSArchive.iYKRSS は、各々アプリケーションごとに作成される ‘アプリケーション’ フォルダの Documents フォルダに保存されています。

  • plist
Property List Programming Guide: Introduction to Property Lists
http://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/PropertyLists/Introduction/Introduction.html#//apple_ref/doc/uid/10000048i
  • NSKeyedArchiver
Archives and Serializations Programming Guide: Introduction
http://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/Archiving/Archiving.html#//apple_ref/doc/uid/10000047i
  • CoreData
Core Data Programming Guide: Introduction to Core Data Programming Guide
http://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/CoreData/cdProgrammingGuide.html#//apple_ref/doc/uid/TP40001075

iPhone 用 iYKRSS の RSS フィードデータファイル RSSArchive.iYKRSS を iPad 用 iYKRSSHD の Document フォルダに移動すれば iYKRSS の RSS フィードを iYKRSSHD で引き継ぐことができ便利です。iYKRSSHD 上で最初からフィードの URL を入力する必要もありません。

幸いにも Xcode でビルドしてデバイスにインストールしたアプリケーションの Application Data (Documents フォルダのデータも含む) は、Xcode のオーガナイザを使って読み書きすることができます。

オーガナイザは Xcode のメニュー(上図) ‘ウインドウ/オーガナイザ’ (下図) で開くことができます。

iOS Development Guide: Running Applications
http://developer.apple.com/iphone/library/documentation/Xcode/Conceptual/iphone_development/120-Running_Applications/running_applications.html#//apple_ref/doc/uid/TP40007959-CH6-SW4
▼Running Applications
Managing Application Data

上記URL が参考になります。

簡単に説明すると iPhoneiPad などのデバイスを USB で Mac に接続し、 Xcode のオーガナイザを開き、デバイス名をクリックします。’Summary タブ/ Applications’ のダウンロードしたいアプリを選び、三角を開くと ‘Application Data’ という名前が表示されます。右側にあらわれたダウンロードボタン(上図の赤枠部分)をクリックして保存してください。Finder 上にフォルダが作成されます。(下図参照) Documents フォルダに RSSArchive.iYKRSS を見つけることができます。



データを元に戻した時はダウンロードしてできたフォルダの中のデータを変更して、オーガナイザのダウンロードしたいアプリ名にフォルダをドラッグ・ドロップ (下図参照)することで変更できます。即ちファイルなどのデータを iPhoneiPad に書き込むことができます。

オーガナイザを使わずに iTunes のファイル共有を使って Documents フォルダのデータを読み書きすることもできます。

iOS Application Programming Guide: Implementing Standard Application Behaviors
http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/StandardBehaviors/StandardBehaviors.html#//apple_ref/doc/uid/TP40007072-CH4-SW10
▼ Implementing Standard Application Behaviors
▼ Files and the File System
Sharing Files with the User

上記 URL が参考になります。

iTunes のファイル共有に Documents フォルダを表示させたい場合は、info.plist に UIFileSharingEnabled キー Boolean 型 YES を追加するだけです。

UIFileSharingEnabled キーは、メニュー ‘表示/Property List Type/Default File for Type’ で None を選ぶと入力しやすいと思います。

ただし、注意する必要があります。UIFileSharingEnabled を追加する前に、デバイス iPhoneiPad 上にアプリケーションがあると、ビルドしてインストールするだけでは、iTunes 上のファイル共有に表示されません。デバイスからアプリケーションを一度、削除して再インストールすると iTunes 上で同期した後、ファイル共有に表示されます。

上図を例にすると、iTunes 上のファイル共有/App から iYKRSSHD を選択すると Documnets フォルダにあるすべてのファイルが表示されます。この場合、RSSArchive.iYKRSS という名前のファイルが一つあります。ファイル RSSArchive.iYKRSS をウインドウの外にドラッグ・ドロップすればファイルを取り出すことができます。逆に Finder からファイルを iYKRSSHDD の書類と表示されているテーブルにドラッグ・ドロップすると Documents フォルダに書き込むことができます。

iPhone 4、iPad 発売、WWDC、E3

iPhone 4iPad 発売、WWDC、E3 とイベント尽くしでした。

まず E3 から

E3 2010 Latest Highlights at GameSpot
http://e3.gamespot.com/?tag=header%253Be3logo

上記ページの上部にある Video をマウスオーバーすると、ウインドウが下に表示され、

Press Conferences
Microsoft | Nintendo | Sony

その中の Press Conferences から、それぞれの会社名をクリックすることで基調講演を見ることができます。最初に生年月日を入力する必要があります。CM の後、基調講演が始まります。

任天堂の基調講演については

任天堂 E3 2010情報
http://www.nintendo.co.jp/n10/e3_2010/index.html

の ‘E3 レポート’で日本語吹き替えを見ることができます。

3D (裸眼立体視機能) 対応の Nintendo 3DS はぜひ見てみたいですね。

次は WWDC 2010 です。基調講演 (Monday, June 7 at 10 a.m.) は

Apple - QuickTime - WWDC 2010 Keynote Address
http://www.apple.com/quicktime/qtv/wwdc10/index.html

で見ることができます。Apple のトップサイトに

Apple
http://www.apple.com/

WWDC 2010 基調講演、iPhone 4 Video、FaceTime Video のリンクが張られています。

また、WWDC 基調講演は iTunesPodcast

Apple Keynotes
http://itunes.apple.com/jp/podcast/apple-keynotes/id275834665

でも配信されています。

アップル、WWDC 2010開催--ジョブズ氏基調講演をライブカバレッジ - CNET Japan
http://japan.cnet.com/news/service/story/0,3800104747,20414685,00.htmPC Watch】 【WWDC 10レポート】基調講演速報、iPhone OS 4あらためiOS 4を正式アナウンス 〜デベロッパ向けにはプラットフォームの優位性を強調
http://pc.watch.impress.co.jp/docs/news/event/20100608_372849.html
フォトレポート:S・ジョブズ氏のWWDC 2010基調講演 - CNET Japan
http://japan.cnet.com/apple/story/0,2000076557,20414769,00.htm
速報:WWDC 2010 スティーブ・ジョブズ 基調講演
http://japanese.engadget.com/2010/06/07/wwdc-2010/

も参考になります。

iPhone Developer Program に加入しているので、随分前に iPhone SDK 4 beta、iOS 4 GM はダウンロードしたのですが、インストールはしていませんでした。

そうこうしているうちに iPhone 4 が発売され、iOS 4 アップデータも公開されたので iTunes 経由で iPod touchiOS 4 にアップデートしました。iPhone SDK 4 final もインストールしました。

私の使用方法だと iPhone 4 は必要ないのですが、次世代 iPod touch が楽しみですね。

iPad は、発売日 (5月28日) に運送会社から届きました。iPad アプリは1万円近く購入してしまいました。

私の iPad の利用目的は、PDF ファイルの閲覧、ブログなどのウェブページ閲覧、Kindle 読書です。

iPod touch の利用のほとんどが、自作の iPhone アプリ Twitter クライアント iYKTwitter、拙作 RSS リーダー iYKRSS です。

拙作 iYKTwitter は認証方式が Basic 認証ですが、Twitter が OAuth認証必須になったので、対応する必要があります。ただし、OAuth 認証への移行が

Twitterブログ: Twitter APIデベロッパー・コミュニティへのお知らせ (OAuthへの移行に関しての期限延長)
http://blog.twitter.jp/2010/06/twitter-api-oauth.html

2010年8月16日に延長になったようです。

Safari のウェブページ閲覧が快適なので、拙作 iPhoneRSS リーダー iYKRSS と iYKTwitter を 2、3日かけてとりあえず動作するように iPad 上に移植してみました。思いのほか便利です。iPad を持て余している人は RSS リーダーを使ってみるべきです。

本当は Google リーダー対応の RSS リーダーを使えばよいのですが、シンプルなものが良いので、拙作 iPad 対応 iYKRSS を使用しています。

書籍、電子書籍リーダーをいろいろ購入してみました。

書籍
Alice for the iPad
カテゴリ/電子書籍
\1000
WIRED Magazine
カテゴリ/ニュース
\600
数学ガールHD
カテゴリ/ブック
\900
AiR HD エア 先行配信版
カテゴリ/ブック
\350
Toy Story 2 Read-Along
カテゴリ/ブック
\1000
電子書籍リーダー
i文庫HD
カテゴリ/電子書籍
\700
CloudReaders pdf,cbz,cbr
カテゴリ/ブック
無料
GoodReader for iPad
カテゴリ/仕事効率化
\115

‘不思議の国アリス’ を読んだことがなかったので、Alice for the iPad は面白かったです。ただし、読んだ位置を覚えてくれないのが不便でした。途中で画面をタップして現れる Cheshire-Cat (チェシャーキャット) の顔をタップすると目次を表示できることを発見し、何とかなりましたが!

iPad の電子書籍リーダーに PDF 書類を移動するには iTunes 上で iPad デバイス名をクリックし、’アプリ’ タブ 下にある ‘ファイル共有/アプリケーション’ を選択して iPad にコピーしたい書籍 (PDF など) をドラッグ・ドロップします。

以前は NetWalker 上で PDF 書類を読んでいたのですが、iPad で十分です。NetWalker はお役御免になりそうです。また、PDF 書類のファイル内リンクに対応しているのは、GoodReader for iPad だけです。他の電子書籍リーダーより拡大・縮小しても文字がくっきりしている気がします。以前の GoodReader はページ送りが上下部分をタップだったのですが、左右にも対応しました。

CloudReaders pdf,cbz,cbr は、’しおり機能’ が付いていません。ただし大きなサイズの PDF 書類を読むには最適だと思います。

iBooks が PDF 書類に対応する前まで、’しおり機能’ が付いた ‘i文庫 HD’ が、個人的には一番快適でした。iOS 4 開発資料 PDF 書類を ‘i文庫HD’ で良く読んでいました。

iBooks も PDF 書類対応になったので、試してみました。iBooks に PDF 書類を読み込むには iTunes の ‘ライブラリ/ブック’ に PDF 書類をドラッグ・ドロップします (下図参考)。 デバイス名の ‘アプリ’ タブ ‘ファイル共有/アプリケーション’ や ‘ブック’ タブではないので注意してください。

自炊 (自分で本を裁断してスキャンすること) 用にスキャナーと裁断機が欲しくなりました。

iPad で雑誌を読んでみたく下記サイトで ‘4特集まとめ買いパック’

購入から読むまで|iPadで読む!週刊ダイヤモンド
https://item.diamond.co.jp/ipad/
週刊ダイヤモンド
\1000

を購入してみました。i文庫HD、CloudReaders pdf,cbz,cbr どちらでも読むことができます。書籍ファイルは 1ページを ‘1050 × 1400 ピクセル 72 dpi’ の JPEG 画像であらわし、ファイル名をページ数にした画像を Zip で圧縮したファイルでした。

iMaciPod touch の利用時間が大幅に少なくなり、iPad を使用することが多くなりました。