Dropbox

練習で作ったiPhoneとiPadの両方で走るuniversal binaryのテスト・プロジェクトを公開いたします。自分自身のテンプレートとして使うために極力シンプルなものにしましたので、容易に読み解く事が出来ると思います。細かいところまで正しいコードを書いているとは限りませんが大きな方針は間違ったものでは無いと思います。

[ コードの権利 ]
コードの大半はXcodeが作り出したものです。また、ごく標準的なものですので、私自身が権利を主張するようなものは何もありません。また、無保証での提供となります。ご自身の責任においてご利用ください。

[ プロジェクトの概要 ]
iPhoneで起動するとTableViewを表示し、クリックによりTextViewにNavigationコントロールにより遷移する標準的なiPhoneアプリ(DrillDownって言うの?)です。同じbianryをiPadで実行するとSplitViewにて同様の動作を行ないます。簡単なプログラムですが、実際のアプリケーションで行うようにデータはUIとは別の共通クラスにより提供するようにしています。

[ プロジェクト作成の概要 ]
Xcode 3.2.3 SDK 4.0.1を使用して作成しました。プロジェクト自体を公開していますので、全てはそれを見て頂ければ良いのですが、どうやってiPhoneプロジェクトからuniversalなプロジェクトに変更していったのかなどを理解いただくため大きなステップを紹介いたします。

< iPhoneアプリの作成 >
– 新規プロジェクトをiPhone用のNavaigation-based Applicationとして作成します。
– TableViewをタップした後に表示するTextView用のクラスとnibを’DetailViewController’として作成。ごく一般的な内容なので詳細はプロジェクトを参照ください。
– データを供給するクラス’MyEngineを作成。RootViewControllerに組み込みます。
ここまででiPhoneアプリとしては完成です。

< Universal Binary化 >
– ターゲット UniTest2を選びプロジェクト, 現在のターゲットを iPad 用にアップグレードする。この時’One Universal application’を選択する。
– UniTest2AppDelegateクラスのUINavigationControllerのプロパティをコメントアウトし代わりにUIViewControllerクラスのプロパティを作成します。元のMainWindow.xibの該当接続を貼り直します。
-> 起動時にiPhoneかiPadかでinfo.plistを参照しMainWindow.xibかMainWindow-iPad.xibが選択されま す。ただしWindowにviewを割付るのはAppDelegateクラスの中なので、ここの接続を正しく行う必要があります。
– 内容を表示するためのTextViewを含んだクラスおよびnibを’DetailViewController-iPad’という名前で作成する。’Targeted for iPad’オプションを忘れないように。このクラスはUIPopoverControllerDelegateとUISPlitViewControllerDelegateになります。クラス名はDetailViewController_iPadに成っているので注意。
– TableViewControllerのサブクラスとしてRootViewController-iPadというファイル名でクラスを作成します(クラス名はRootViewController_iPadになってしまうのでファイル名は別の方が良かったかも)。これはUISplitViewのtable部分のcontrollerになります。
– iPadで最初に表示されるviewを含むMainWindow-iPad.xibを作成します。MainWindow-iPadという名前はinfo.plistで既定値として指定されているものです。これにSplit View Controllerを追加し各種接続を行ないます。

ブログやMobyPictureにアップロードする写真は、最近はiPhoneで撮影した写真を使用する事が多いです。以前ならば撮影後の写真をPCにUSBケーブルで転送し(Nokiaの携帯電話ならばBluetoothで済むのですがねぇ^^)明るさやサイズの調整を行ってからアップロードしていました。この方法だと一枚だけの簡単な写真を処理するにも、しばしの時間を要します。

といった状況を解決するために、わたしは二つのiPhoneアプリケーションを使用しています。Photoshop.com Mobile(iTunesへの直リンク)とiStorage
icon(リンクシェア経由iTunesへのリンク)です。

Photoshop.com Mobileで画像の明るさ、色合いなどを調整します。必要があればトリミングなども行えます。その後iStorageを立ち上げてiPhoneのカメラロールからiStorage内に写真をコピーします。この時、写真のサイズを変更することが出来ます。iStorageでは無線LANでファイルをPCにコピー出来るので(ファイル共有(WebDav)をオン)USBケーブルからも解放されます。最近はMiFiのおかげて外出先でも自前の無線LAN環境があるので余計に便利になりました。

今更ながらFlickrに少しずつ写真をアップロードし始めしました。写真にはなるべくジオタグ(写真の属性に経緯度で撮影場所を付与するもの)を付けていこうと思っています。それによりFlickr内の地図上で撮影場所が確認出来るようになります。

現在の所、ジオタグを付ける一番簡単な方法はiPhoneもしくはNokiaの携帯電話で写真を撮ることです。

NokiaのS60搭載の携帯電話ではLocation Taggerというアプリを立ち上げて(もしかすると最新機種では必要ないかも)写真を撮ると自動的にジオタグ付きで写真を撮ることが出来ます。

geo tagiPhoneの場合は、最初にカメラを使用する時に位置情報の利用に関するダイアログが表示されるのでOKを押すとジオタグが付加されるようになります。もし、写真にジオタグが付いていない場合は、設定/一般/リセット/位置情報の警告をリセットを実行すると次にカメラを起動したときに再度、位置情報の利用に関するダイアログが表示されます。

Flickr側ではYour account/Privacy & PermissionsでImport EXIF location dataをYesにしておきます。

後はメールでFlickrに写真を送付あるいはアップロードすることによりFlickrの地図に写真が反映されます。iPhoneからのアップロードは専用プログラムが用意されていますので、それを利用すると便利です。

iPhone Map in ChinaiPhoneの中国地図は、測地系の問題によりズレがあったのですが補正されて正しい位置が表示されるようになったようです。左のように渋滞情報もばっちり表示されます。

ただし以前、正しい位置で表示されていた「航空写真」の方が現在はズレています。何かしら補正に苦労しているのが伺えます。

SafariでアクセスするiPhone版Latitudeは、いまだズレたままです。

iPhoneは位置が定まるのがとても速いし電子コンパスが搭載されているので地図として活用したかったです。中国地図が使えるようになって、ほんとうにありがたいです。

追記)ひょっとして、修正されているは北京だけかも。上海の自宅で窓際で試したところ。以前と同じでした。1)航空写真が正しい場所を示す。 2)safariのLatitudeと地図アプリが同じ場所を指す。という具合です。うーむ。

追記2)また、北京に行ってきました。やはり北京では正しい位置が表示されます。真面目な座標変換ではなくて北京の周りだけ概ね正しい位置が出るようなオフセットを行っているのかもしれないですね。

iPhone Battery Jacket

[ ただいま買物隊で発売中です ]

何故かiPhoneのDual SIMとバッテリージャケットのキットを入手してしまいました。

主な目的がどちらにあるのか不明ですがDual SIM AdapterはiPhoneでは初めての製品かもしれません。

まずはバッテリーですが、左の写真のように枠とバッテリー部分に分かれています。iPhoneとの噛み合わせも良く装着具合はしっくりしています。ただ、いかんせん体積が大きくなってしまいます。デバイスには無頓着な家内でさえ、一目でiPhone大きいねと言いました。控えめに言ってふた回り大きくにります。電話していると肩がこるかもです。

バッテリー自体は3.7V 1900mAhと書かれています。また本体にUSBケーブルが内蔵されています。それによって充電や同期を行います。バッテリーからiPhoneに電力を供給するかどうかはスイッチによりコントロール出来ます。

性能ですがiPhoneのバッテリーが残り10%ほどになったところでバッテリージャケットより充電を開始し最終的には97%ほどまで充電出来ました。大きささえ我慢すれば実用性はあると言えるでしょう。

Dual SIM Adapter Dual SIM部分は写真のように2つの部分に分かれています。左側の部分をSIMカードと一緒にiPhoneに挿入します。右側部分に二枚目のSIMカードを挿入します。この状態で動作可能になります。飛び出した部分は先のバッテリージャケットの空間におさめる事ができます。バッテリージャケットとの関係は、それだけです。そのため適当な柔軟性を持ったカバーの内側に押し込んでしまう事も可能です。実際に実行例を見ていますが、悪くはありません。

SIMの切り替えは電話機能の中にあるSIMアプリケーションに切り替えようのメニューが現れます。使い勝手は悪くないようでした。

私のSBM版のままであるiPhoneでは稼働することは出来ませんでした。SBMの黒SIMに左側を合わせて挿入してみましたが、正しいSIMとして認識されませんでした。Jailbreakすれば試せるようになるようですが、ただいま思案中です。

以前は出張の時の持ち物としてモバイル・ルータ(時にはFONルータ)が欠かせませんでした。ホテルの部屋に無料の無線LANが飛んでいれば良いのですが普通は有線LANしかありません。そんな時にモバイル・デバイスを接続するために小型の無線LANルータが活躍していました。ノートパソコンも場所を選ばず接続出来るようになるので大変重宝していたのですが、荷物が増えるというデメリットは否めません。

今回の出張ではMac OS Xのインターネット共有を利用してiPhoneやNokia E63を接続してみました。方法は簡単すぎるので紹介はしません(単なる手抜き :P)、マニュアルなりGoogle先生に聞いてみてください。

MacBook AirのUSBイーサネットでホテルのLANに接続しiPhoneとE63はMacBook Airの無線LAN経由でホテルのインターネットを使用しました。MacBook Airの場所は固定されてしまいますが、どうせ寝モバ(寝転がってインターネット等をするって意味です)はiPhoneを使うので良しとします。

WPtouch plug-in

このブログはWordPressで書いています。そのWordPress用のプラグインでiPhone/iPod Touch用に素敵な画面を構成してくれるWPtouchというものが有るのをTwitterの呟きで知りました。

タイトルを展開して中身を確認、必要に応じて詳細表示という操作が心地よいです。赤いバッジはコメント数を表します。iPhone Safari向けの画面構成のお手本になりますね。また必要に応じて通常の画面にも簡単に移行できます。 素晴らしいです。

iPhone Cradle買物隊で扱っているiPhoneやiPodで使えるクレードルを入手しました。Philipsの三角形の小型の物です。

小型軽量なので持ち歩くことも出来るクレードルです。クレードルなのに持ち歩くって変ですが、動画再生時のスタンドになります。それ以外にもクレードルとPCはmini USBケーブルでの接続なので専用ケーブルを持ち歩かなくても適当なUSBケーブルで充電、同期が行えるというメリットがあります。

オーディオも外部に出せると自宅用としては 、うれしかったかも。もし可能なら改造したいけど、素直にBluettothなスピーカを入手すべきか、、、

追記) iPod Touchをクレードルに立てて外部スピーカに接続しようとして愕然。iPod Touchはヘッドフォンジャックが下側に付いているので同時使用は不可能でした。ファームを3.0にしてA2DPするかぁ、、、

iPhone 3GSは3Gよりはバッテリーの持ちが良くなったと聞きますが、それでも使用状況によってはかなり厳しい状態です。朝から使い始めて、夕方には心細い状態になることもしばしばです。そこでUSB出力が二つ付いたenloop KBC-L2S KBC-L2Sを購入しました。

USB出力一つあたりの電流は500mAなので少し不安がありましたがiPhone 3GSを電源オンのままでも充電は可能でした。時間はかかりますが、ちゃんと満充電まで行きます。それでも、まだ電力にいくらかの余力があり二回目の充電開始も可能です。さすがに二回目は半分ほどしか充電出来ませんでしたが、十分な容量と言えるでしょう。

iPhone 3GS[ 入手危うし ]
まずは、手間いらずのはずのソフトバンクのオンラインショップにて買い増しの手続きを行いました。週末に申し込んで火曜日の朝になっても在庫確認のメールがやってきません。仕方なく、大手量販店2店舗で聞いてみましたが在庫切れで次の入荷は未定とのこと。その後、オンラインショップから在庫ありの連絡がありましたが、システムの問題か、スムースに手続きでないまま時間が経過していました。

[ アップル・ストア名古屋 ]
水曜日にMacBookのバッテリーを交換するためにジーニアス・バーに行きました。そのときに店頭で聞いてみるとiPhone 3GS全種在庫ありとのことでアップル・ストアにて買い増し手続きを行いました。アップル・ストアでiPhoneの購入はお勧めできます。変な契約もついてこないし、店員さんのレベルが高いので気持ち良く買い物が出来ます。

ソフトバンクのオンラインショップは、色々とありましたがフォローアップの電話はあったので、まぁ良しとしましょう。当然、こちらはキャンセルしました。

[ 3GSの印象 ]
まだ、丸一日使っただけなので、おおざっぱな印象です。カメラについては、新機能の良さを生かせる写真は撮れていません。意外と変わっていない印象です。動画については、なかなか面白いですが音声の取り込みが弱い印象です。

一番ありがたいのはコンパス機能です。Google Mapでコンパスが連動するのは、とても分かりやすいです。コンパス、少しずれているという指摘が散見されますが、私の印象では磁気コンパスってこんなものです。道路上では、多少ずれていても全然問題なしです。

普通に使う携帯電話としては、バッテリーの持ちは厳しいと思います。音声通話にも使う場合、夕方になると不安を覚えます。何かしら補助電源を持ち歩きたい気がします。