先日お知らせしました通り、2009年8月から活動して参りました本ラボは、
会社の事業方針により、本日、2010年4月末日を持ちまして
終了させていただきました。

これに伴い、アプリケーションの販売とサポートについても、
同日をもちまして終了いたしました。

これまでたくさんの人に、本ラボで作成した
アプリケーションをご利用頂き、感謝しております。

長い間、本当にどうもありがとうございました。
Location Clip 1.4では、デバイスに内蔵されているコンパスと連動してヘッドアップ表示する機能がありますが、今日は、この部分の実装について取り上げたいと思います。

rotation.png

ポイントは、以下の通りです。

- コンパス内蔵のデバイスかどうかを判定し、利用可能であれば CLLocationManagerのstartUpdatingHeadingをコールする。
- コンパスからの情報を得るために、CLLocationManagerDelegateの locationManager:didUpdateHeading: を実装する。
- 地図を回転させるために、MKMapViewのtransformを変更する。
- 地図を回転させても端が欠けないように、地図を表示するMKMapViewのframeのサイズを正方形(例えば500x500)に設定しておく。

以下に実装例を示します。

-- MyViewController.h --

-- MyViewController.m --



FMSC iPhone Lab.活動終了のお知らせ

| 0 TrackBacks
2009年8月から活動して参りました本ラボは、
会社の事業方針により、2010年4月末日を持ちまして
終了することとなりました。

これに伴い、アプリケーションの販売とサポートについても、
同日をもちまして終了させて頂く予定です。

これまでたくさんの人に、本ラボで作成した
アプリケーションをご利用頂き、感謝しております。

長い間、本当にどうもありがとうございました。

なお、これに関連して、Copy & Send Liteを削除し、Copy & Sendを無料化しました。
今後、サポートを継続できないことによる措置として、ご理解のほど、お願いいたします。
今回は、iPad関連のお祭りがあったせいか、少し時間がかかりましたが、無事、Ready for Saleになりました。
まもなく AppStore に反映されると思いますので、アップデートのほど、どうぞよろしくお願いします。
今回の主なアップデート内容については、こちらをご覧下さい。
先ほど、Location Clip 1.4 を審査に出しました。
今回のバージョンの新機能は、以下の通りです。

1. 履歴情報にメモを付けられるようになりました。また、履歴一覧のタイトルの編集も可能です。

2. 地図のヘッドアップ表示が可能になりました。(3GSのみ)

3. Google Map APIを利用して、Geocoding (エリアの名称による検索)が可能になりました。

4. メールに添付する画像のフォーマットとしてPNGかJPGかを選択可能になりました。


どうぞお楽しみに。

Location Clip 1.3 が Ready for Sale になりました。
まもなく AppStore に反映されると思いますので、アップデートどうぞよろしくお願いします。

Location Clip 1.3 を審査に出しました。

| 0 TrackBacks
先ほど、Location Clip 1.3 を審査に出しました。
今回のバージョンの新機能は、以下の通りです。どうぞお楽しみに。

1. TwitterのGeo Tagging APIの対応

Twitterに投稿するメッセージにGeoタグを付けることができるようになりました。

設定画面において、Twitterへの投稿時にGeoタグを付けるかどうかを選択できます。


2. 写真のサイズの設定

以前のバージョンでは、地図上に貼付ける写真のサイズは、長辺を200px固定としていましたが、本バージョンから、地図上に貼付ける写真のサイズが設定できるようになりました。

設定画面において、写真の長辺のサイズを180px、200px、240pxの中から選択できます。

なお、設定画面にてサイズの変更をした場合には、次に写真を貼付ける時から設定が有効になります。

もし、地図上に貼付けられている写真がある状態で設定を変更した場合、その写真のサイズは変更されませんのでご了承ください。


3. カメラで撮影した写真を保存するかどうかの設定

以前のバージョンでは、カメラで撮影した写真を必ずカメラロールに保存するようにしていましたが、本バージョンから、カメラロールに自動保存するかどうかを設定画面において設定できるようになりました。


4. URLスキーマの公開

他のアプリケーションから、Location Clipに連携できるように、URLスキーマを公開します。


URL :

com.fourmeisters.locationclip://open


パラメータ:

- 場所を指定したい場合

lat: 緯度座標

lon: 経度座標

※このパラメータが指定されない場合には、現在地を表示します。


- 地図のタイプを設定したい場合

type: 地図のタイプ。m(マップ)、s(航空写真)、h(地図+写真)。

※このパラメータが指定されない場合には、マップ表示します。


- 地図上に写真を貼付けたい場合(1枚のみ)

photo: 写真の貼付け有無。y(貼付ける)、n(貼付けない)。

貼付けたい写真の画像(UIImage)がペーストボードに入っていることが前提です。


pbname: ペーストボードの名前。

名前付きペーストボードに写真をセットしている場合には、そのペーストボード名を指定します。

このパラメータが指定されない場合には、標準ペーストボードを参照します。


- LocationClipの処理終了後、呼び出し元アプリに戻りたい場合

returnURL: yourapp://xxxxx

もし、URLの中にパラメータがある場合には、&や=などの文字は、正しくエンコードしてください。

例えば、yourapp://xxxxx?foo=aaa&baa=bbb に戻りたい場合には、yourapp://xxxxx?foo%3Daaa%26baa%3Dbbb となります。


例:

com.fourmeisters.locationclip://open?lat=37.00000&lon=139.00000&type=h

com.fourmeisters.locationclip://open?photo=y&pbname=com.foo.baa.pbname

com.fourmeisters.locationclip://open?returnURL=yourapp://xxxxx


5. Copy & Send (Lite) との連携

弊社からリリースしているCopy & Send(Lite)をインストールしている場合には、Location Clipでクリップした情報を、Copy & Send (Lite) に渡して他のiPhone/iPod touchに送信することができます。


Copy & Send 1.1がリリースされました。

| 0 TrackBacks
4日前に、アップデートを申請してた、Copy & Send 1.1が、AppStoreにリリースされました。

Copy & Send (有料版)
Copy & Send Lite (無料版)

このアップデートでは、有料版の永続保存領域に、フォルダの概念を追加しました。
これにより、適当なフォルダを作成し、保存しているアイテムを、分類することができます。

06_FolderList.PNG

この例では、4つのフォルダを作成してアイテムを分類しています。
旧バージョンから引き継いだデータは、アップデート適用直後は、デフォルトフォルダに属していますので、お手数ですが、必要に応じてフォルダを作成し、移動してください。

尚、無料版の方は、小規模なバグフィックスと画面表示の変更のみとなっています。

Copy & SendをSafariにブックマークする。

| 0 TrackBacks
iPhoneのSafariで、WebコンテンツからURLや画像などをコピーすると、それは標準ペーストボードに格納されます。
その状態でSafariを終了し、Copy & Sendを起動することで、コピーしたデータを参照することが可能です。
こういう操作を想定した場合、Copy & SendのURLを、Safariのブックマークに登録しておくことで、ワンタッチで起動できるようになり、かなり操作が楽になります。
以下に、登録方法を説明します。

1. 登録するURLの準備
以下のいずれかのURLを、通常のコピー操作でコピーしておきます。

有料版の場合
    com.fourmeisters.copyandsend://open
   
Lite版の場合
    com.fourmeisters.copyandsendlite://open

iPhoneのSafariでは、リンクを長押しして表示されるメニューから、「コピー」を選択するのが、最も簡単で確実な方法です。

2. とりあえず、現在のページを一旦ブックマークに登録
  • 画面最下部の[+]アイコンをクリックして、「ブックマークを追加」を選択します。

safari_toolbar_plus.png
  • ブックマークの名前を、何かわかりやすいものに変更します。 (ここでは、「Copy & Sendを起動」にしています。)
  • この時点では、URLは変更できないので、一旦右上の「保存」ボタンをタップして登録します。

CopyAndSendBM1x.PNG
   
3.    登録したブックマークに正しいURLを設定する。
  • 画面最下部の本のマークのアイコンをタップし、ブックマーク一覧を表示します。

safari_toolbar_book.png

  • そこで、画面左下の「編集」ボタンをタップした後、先ほどのブックマークを選択します。

CopyAndSendBM2x.PNG

  • URLのところに事前にコピーしておいたURLをペーストします。(手入力でも構いません)

CopyAndSendBM3x.PNG

画面最下部の「完了」ボタンをタップすることで、登録完了です。

あとは、登録したブックマークから、ワンタッチでCopy & Sendアプリケーションを起動することが可能です。






iPhone OSにおいて、アプリケーション間でデータを共有する、最も簡単な方法は、ペーストボードを使用することです。

典型的なパターンをあげてみましょう。
ユーザがメモアプリケーションで文字列を選んで「コピー」の操作をし、メール送信画面で「ペースト」操作を行うと、その文字列がメールに貼り付けられます。これは、コピー操作で、メモアプリケーションが文字列をペーストボードに格納し、メールアプリケーションが、ペースト操作の時にそこから文字列を取り出すことで実現されています。それと同じ方法で、どんなアプリケーションでも、ペーストボードを介してデータを受け渡すことが可能です。

ペーストボードには、文字列だけでなく、さまざまな種類のデータを格納することができます。例えば、弊社のExport for Google Documentsというアプリケーションでは、Googleドキュメントからエクスポートしたドキュメントデータを、ペーストボードに格納する機能を持っています。

ここでは、どのような形でペーストボードにデータを格納すればいいのか及び、弊社製Copy & Sendアプリでそのデータを活用する例について簡単に説明したいと思います。

UIPasteboardクラス

iPhone SDKの中では、UIPasteboardクラスがペーストボードを表現するオブジェクトになります。システム内には、複数のペーストボードが存在していますが、それぞれが、UIPasteboardのインスタンスに対応します。

システム標準で用意されているものには、以下の2種類があります。
  • General pasteboard
    • システム標準のペーストボードであり、通常のコピー/ペースト操作で使用されます。
  • Find pasteboard
    • 検索バーに入力されたテキストが保存されるペーストボード

上記以外に、各アプリケーションで固有なものを、自由に作成することができます。標準のペーストボードは、予期しない場面で勝手に上書きされてしまうことがあるので、アプリケーション固有のデータは、固有のペーストボードを使用することをお奨めします。

また、各ペーストボードには、一意に識別するための名称が付与されており、名称が不明なペーストボードにはアクセスできないようになっています。

ペーストボード内のデータ構造

ペーストボード内のデータは、アイテムと呼ばれるNSDictionryの集合として管理されています。
アイテムのNSDictionryのキーは、データの種類を表すUTI(Uniform Type Identifier)と呼ばれる文字列であり、値としてデータのオブジェクトが格納されています。したがって、アイテムの中には、異なる種類のデータを複数格納することができます。
以下に、データ構造の概念図を示します。

Pasteboard_items.png

これは、少し複雑な組合せの例になっています。
1つ目のアイテムは、URLとテキストのペアで構成されています。例えば、Safariでハイパーリンクを長押ししてコピーした場合は、この形になります。
2つ目のアイテムは、Excelのスプレッドシートを、単独で格納したアイテムの例です。
3つ目のアイテムは、JPEG画像とテキストのペアで構成されています。カメラロールの写真をコピーした場合には、この形になります。

Copy & Send及び、Copy & Send Liteで、ペーストボードの内容をブラウズすると、これらのデータ構造を確認することができます。興味がある方は、お試しください。

UIPasteboardのAPIについて

アイテムを操作するためのAPIは、以下の種類に分かれます。
(詳細は、UIPasteboardのリファレンスを参照してください)

  • 標準的な単一タイプのデータを扱うためのもの
    • データにアクセスするためのプロパティとして定義されています。
      • string/strings
      • image/images
      • URL/URLs
      • color/colors
  • 任意のデータタイプを扱うためのもの
    • 上記以外に、UTIを明示的に指定してデータを操作するメソッドが用意されています。

ペーストボードの活用例

一部、冒頭で述べたことの繰り返しになりますが、弊社製の以下のアプリ間で、ペーストボードを使ったデータ連携を実現しています。
  • Export for Google Documents
    • Googleドキュメントからエクスポートしたドキュメントデータを、ペーストボードに格納する。
  • Copy & Send / Copy & Send Lite
    • ペーストボードに格納されているアイテムを活用する機能を実装している。
  • 他のデバイスへの送信
  • 永続領域への保存
  • 内容のブラウズ
これによって、Export for Google Documentsのドキュメントデータを、他のデバイスに送信するといったことができるようになっています。


みなさんが作成したアプリケーションでも、Copy & Send / Copy & Send Liteを有効に活用していただければ幸いです。

開発者の方のために、具体的な連携機能の実装方法について、アプリの中からアクセスできるヘルプドキュメントにて説明しています。よろしければ、そちらをご参照いただければと思います。

よろしくお願いいたします。



iPhone Applications

Copy & Send

  • ダウンロード終了しました

Copy & Send Lite

  • ダウンロード終了しました

Location Clip

  • ダウンロード終了しました

Export for Google Documents

  • ダウンロード終了しました