[iOS 7] アプリからAirDropを使用する

こんにちはKID.Aです。

今回もiOS 7の新機能について記載していきたいと思います。

AirDrop_Icon

iOS 7からAirDropという機能が加わりました。AirDropは元々 MacのOS X Lion以降に追加されている機能で、Wi-Fi対応のMac間で直接にファイルを共有できます。

iOS 7が登場した際に、AirDropの機能がiOSにも搭載されiPhone同士でもファイル共有が簡単にできるようになりました。

しかし、現在のところiOS(iPhone、iPod touch、iPad)とMacの間ではまだAirDropが使用できません。(Mavericksでも試しましたが、ダメでした。)
iPhoneとMac間で早くAirDropが使えるようになるといいですね。

 

それでは、AirDropの使用方法、アプリから使用する実装方法を順番に説明します。


使用方法
実機でAirDropを使ってみます。操作は至って簡単です。

まずはAirDropを利用できる端末を2台(端末A、端末Bとします)用意します。

 

  • 初期設定(端末A、端末B共に設定します)

(1) まずはコントロールセンターを開きます。

IMG_0008

(2) その後、AirDropを選択します。今回は許可を全員にします。

IMG_0007

(3) AirDrop:全員となっていればOKです。

IMG_0006

 

  • 画像を送る(端末Aで操作を行います)

(4) 写真から画像を開いて、左下のアップアイコンを押下します。送りたい画像を選択して、AirDropに表示されているユーザを選択します。

IMG_0022

 

  • 画像を受け取る(端末Bで操作を行います)

(5) 端末AからAirDrop経由で画像が送られてくると、拒否・受け取るを選択できるので、受け取るを選択すると、画像を受け取ることができます。

IMG_0010

 

アプリ実装

実装方法は至って簡単です。

API自体は目新しいものは使用せず、iOS 6から追加されたUIActivityControllerを使用します。

以下はURLをUIActivityControllerに設定するコードです。

- (IBAction)push:(id)sender
{
    NSURL* url = [NSURL URLWithString:@"http://blog.techfirm.co.jp/"];
    NSArray *item = @[url];
    UIActivityViewController *av = [[UIActivityViewController alloc] initWithActivityItems:item applicationActivities:nil];
    [self presentViewController:av animated:YES completion:nil];
}

[self presentViewController:av animated:YES completion:nil]が呼ばれると以下の画面がでます。

IMG_0026

ユーザはこの画面から連携したアプリを選択します(そのため、確実にAirDropと連携できるとは限りません)。

また1点注意があり、initWithActivityItems:itemで設定するNSArrayの中身は必ず1つにしてください。例えば画像とテキストや複数のタイプを設定するとAirDropとの連携ができなくなります。

AirDropでユーザを選択するとURLを渡すため、送信相手のiPhone端末には以下のような許可ダイアログが表示されます。

IMG_0012

 

  • テキストを送る場合

テキストを送る場合はNSStingをitemの中に入れてください。

    NSString* text = @"hello";
    NSArray *item = @;
  • 画像を送る場合

画像を送る場合はUIImageをitemの中に入れてください。

    UIImage* image = [UIImage imageNamed:@"xxx.png"];
    NSArray *item = @[image];

 

Wi-FiとBluetoothがオフの場合

コントロールセンターからAirDropを使用する際に、必ず、Wi-Fiと
Bluetoothがオンになっていないとなりません。

もしWi-FiかBluetoothがオフの場合は以下のメッセージが表示され、
タップをすると、Wi-FiかBluetoothがオンになります。

test1

もし構成プロファイルからWi-Fi、Bluetoothを禁止した場合はどうなる?
と思いましたが、構成プロファイルからWi-Fi、Bluetoothを禁止する項目はないため、
意図的にAirDropを利用させなくすることはできないようです。

 

KID.A

KID.A の紹介

楽して生きることと一発逆転を夢見ている、ちゃきちゃきのAndroiderです。 いろいろアプリを出しているのですが、いつもリリース後にターゲットユーザ数を2桁見誤っていたことに気付くので、残念でなりません。下方修正で、ヒットがでません。おしいです。 明日から本気出します。 よろしくお願いします。
カテゴリー: iOS タグ: , , , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です