handoff from safari

19
Fly to iOS UIKit Yuichi Yoshida Chief engineer, DENSO IT Laboratory, Inc. #yidev20140927 @sonson_twit © 2014 Yuichi Yoshida, all rights reserved. Redistribution or public display not permitted without written permission from Yuichi Yoshida. Handofrom Safari

Upload: yuichi-yoshida

Post on 29-Nov-2014

506 views

Category:

Technology


0 download

DESCRIPTION

iOS 8 & iPhone6/6 Plus 開発知見共有会で発表したHandoffに関する資料です. #ios8_knowledge

TRANSCRIPT

Page 1: Handoff from Safari

Fly to iOS

UIKit

Yuichi YoshidaChief engineer, DENSO IT Laboratory, Inc.

#yidev20140927

@sonson_twit

© 2014 Yuichi Yoshida, all rights reserved. Redistribution or public display not permitted without written permission from Yuichi Yoshida.

Handoff from Safari

Page 2: Handoff from Safari

自己紹介2tchの中の人

• iOS好きです • 2tch(2ちゃんねるビューア) • iOS SDK Hacksなど

• 研究 • コンピュータビジョン • 機械学習

• 研究・開発 • 画像検索サービス • 車向けのサービスやハードウェア

Page 3: Handoff from Safari

自己紹介2tchの中の人

• 6年・・・・ • 41,200行 • 463ファイル • 3472コミット

Page 4: Handoff from Safari

What is Handoff?継続って訳すのやめて欲しい

Page 5: Handoff from Safari

DemoSafariで試す

Page 6: Handoff from Safari

Handoffの種類

• Safariを呼ぶ • URLを渡すだけ

• ネイティブアプリケーション • 受信側にコードが必要 • インストールされていれば自動起動する

• Safariからネイティブアプリケーションを呼ぶ • 署名した対応アプリ一覧JSONが必要

Page 7: Handoff from Safari
Page 8: Handoff from Safari
Page 9: Handoff from Safari

準備• 対応ハードウェアを買う

• MacBook Air (Mid 2011以降) • MacBook Pro (Mid 2012以降) • Retina MacBook Pro (全機種) • iMac (Late 2012以降) • Mac Mini (Mid 2011以降) • Mac Pro (Late 2013以降)

• http://www.ipadmod.netより • iOS

• iPhone 5以降、iPad(第4世代)、iPad Air、iPad mini、iPad

mini Retinaディスプレイモデル、iPod touch(第5世代)

Page 10: Handoff from Safari

準備

• iCloudに登録する • Bluetoothをオンにする • Wi-Fiをオンにする

Page 11: Handoff from Safari

準備

• iCloudに登録する • Bluetoothをオンにする • Wi-Fiをオンにする

Page 12: Handoff from Safari

SafariからのHandoff

• ブラウザからHandoff経由でアプリを起動する • Webページ閲覧中にiOSデバイスのアプリを起動

Page 13: Handoff from Safari

手順いろいろ

• iOS側のentitlementにサーバのドメインを追加 • JSONを作る • JSONに署名する

• iOSの持つリストに入ってる認証局の証明書が必要 • 実はApple自身が認証局になってる • なのでAppleの開発者の署名でおk

• httpsで通信できるサーバにJSONを置く • ファイル名 apple-app-site-association • ルートに置く必要がある

Page 14: Handoff from Safari

Associated Domainsの設定

• Xcode • Associated Domains

Page 15: Handoff from Safari

さらに手順サーバサイドと署名

• キーチェーンから"iPhone Distribution: <Your name>

(XXXXXXXXXX)" を dist.p12 として書き出す. • 秘密鍵,証明書を作成 • echo '{"activitycontinuation":{"apps":

["XXXXXXXXXX.com.example.myApp"]}}' > json.txt • 秘密鍵と証明書で署名 • ファイル名をapple-app-site-associationにする • ドメインのルートにコピーする

Page 16: Handoff from Safari

認証局

https

署名

同じ証明書じゃなくておk

JSON ファイル

サーバ:example.com

associated domains example.com

Page 17: Handoff from Safari

DemoHandoff from Safari

Page 18: Handoff from Safari

まとめYou get to try it.

• Handoffについて • 使えるデバイスは限定される • SafariからiOSのアプリケーションを起動するHandoff

Page 19: Handoff from Safari

More Information

Yuichi Yoshidahttp://github.com/sonsongithub/@sonson_twit

sonson.jphttp://sonson.jp

Apple Handoff プログラミングガイドhttps://developer.apple.com/jp/devcenter/ios/library/ documentation/HandoffProgrammingGuide.pdf

Getting started with Handoffhttp://www.slideshare.net/yoshidayuichi1/yidevSlideShare - yoshidayuichi1