Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

watchOS 2 新機能の細かい話

22,649 views

Published on

watchOS-2-Sampler 実装にあたって気付いた細かい諸々について(実装上の注意点、調べてわかったこと etc..)

Published in: Mobile
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

watchOS 2 新機能の細かい話

  1. 1. watchOS 2 新機能の細かい話 堤 修一 @shu223 2015.6.16 potato tips #18
  2. 2. • 堤 修一(つつみ しゅういち) • iOS専業フリーランス • ブログ『Over&Out その後』 • 著書
 『iOS×BLE Core Bluetoothプログラミング』
 『iOSアプリ開発 達人のレシピ100』 自己紹介
  3. 3. お手伝いしたプロダクト(BLE関連) Music for the Deaf
  4. 4. iOS Sampler シリーズ
  5. 5. iOS Sampler シリーズ • iOS新機能のサンプルコード集
  6. 6. iOS Sampler シリーズ • iOS新機能のサンプルコード集
  7. 7. iOS Sampler シリーズ • iOS新機能のサンプルコード集 • 累計5,000スター超!
  8. 8. iOS Sampler シリーズ • iOS新機能のサンプルコード集 • 累計5,000スター超! • github.com/shu223
  9. 9. watchOS-2-Sampler
  10. 10. watchOS-2-Sampler • watchOS 2 新機能の サンプルコード集
  11. 11. watchOS-2-Sampler • watchOS 2 新機能の サンプルコード集 • 現在の収録サンプル: 14種類 - Accelerometer - Gyroscope - Pedometer - Heart Rate - Table Animations - Animated Properties - Audio Rec & Play - Picker Styles - Taptic Engine - Alert - Animation with Digital Crown - Interactive Messaging - Open System URL - Audio File Player
  12. 12. 今日話すこと
  13. 13. 今日話すこと • watchOS-2-Sampler 実装にあたって気付いた細かい 諸々について
  14. 14. 今日話すこと • watchOS-2-Sampler 実装にあたって気付いた細かい 諸々について - 新機能やそのサンプルをひとつひとつ紹介するのではなく、実 装上の注意点とか、調べてわかったこととか
  15. 15. 今日話すこと • watchOS-2-Sampler 実装にあたって気付いた細かい 諸々について - 新機能やそのサンプルをひとつひとつ紹介するのではなく、実 装上の注意点とか、調べてわかったこととか - 全部で5つ
  16. 16. 今日話すこと • watchOS-2-Sampler 実装にあたって気付いた細かい 諸々について - 新機能やそのサンプルをひとつひとつ紹介するのではなく、実 装上の注意点とか、調べてわかったこととか - 全部で5つ ※用いている画像はすべてAppleによる公開ドキュメント (WWDCセッション動画やスライドetc..)からのものです
  17. 17. 1/5 2つのアセットカタログの 使い分け
  18. 18. watchOS 2 から、ネイティブ動作するようになった!
  19. 19. watchOS 2 から、ネイティブ動作するようになった! → Extension のコードもウォッチ側で実行される
  20. 20. watchOS 2 から、ネイティブ動作するようになった! → Extension のコードもウォッチ側で実行される → Watch Extension の Asset Catalog も、Watch App の Asset Catalog もウォッチ側にある
  21. 21. watchOS 2 から、ネイティブ動作するようになった! → Extension のコードもウォッチ側で実行される → Watch Extension の Asset Catalog も、Watch App の Asset Catalog もウォッチ側にある → どっちに置いてもいいんじゃ・・・?
  22. 22. watchOS 2 から、ネイティブ動作するようになった! → Extension のコードもウォッチ側で実行される → Watch Extension の Asset Catalog も、Watch App の Asset Catalog もウォッチ側にある → どっちに置いてもいいんじゃ・・・? → そんなことはない!
  23. 23. Watch Extension 側リソースを利用するケース • wathOS-2-Sampler の Coordinated Animations サンプル
  24. 24. Watch Extension 側リソースを利用するケース • wathOS-2-Sampler の Coordinated Animations サンプル
  25. 25. Watch App 側リソースを利用するケース • wathOS-2-Sampler の Picker Styles サンプル
  26. 26. Watch App 側リソースを利用するケース • wathOS-2-Sampler の Picker Styles サンプル
  27. 27. • Watch App 側リソースを利用
  28. 28. • Watch App 側リソースを利用 - WKImage や WKInterfaceImage 等の WatchKit のクラスから name で参照する場合
  29. 29. • Watch App 側リソースを利用 - WKImage や WKInterfaceImage 等の WatchKit のクラスから name で参照する場合 - IB からセットする場合
  30. 30. • Watch App 側リソースを利用 - WKImage や WKInterfaceImage 等の WatchKit のクラスから name で参照する場合 - IB からセットする場合 - (名前をセットしたものがプレビューされてるだけなので、結局は上と同じ)
  31. 31. • Watch App 側リソースを利用 - WKImage や WKInterfaceImage 等の WatchKit のクラスから name で参照する場合 - IB からセットする場合 - (名前をセットしたものがプレビューされてるだけなので、結局は上と同じ) • Watch Extension 側リソースを利用
  32. 32. • Watch App 側リソースを利用 - WKImage や WKInterfaceImage 等の WatchKit のクラスから name で参照する場合 - IB からセットする場合 - (名前をセットしたものがプレビューされてるだけなので、結局は上と同じ) • Watch Extension 側リソースを利用 - UIImage 等の WatchKit 以外のクラスから参照する場合
  33. 33. • Watch App 側リソースを利用 - WKImage や WKInterfaceImage 等の WatchKit のクラスから name で参照する場合 - IB からセットする場合 - (名前をセットしたものがプレビューされてるだけなので、結局は上と同じ) • Watch Extension 側リソースを利用 - UIImage 等の WatchKit 以外のクラスから参照する場合 • 参考
  34. 34. • Watch App 側リソースを利用 - WKImage や WKInterfaceImage 等の WatchKit のクラスから name で参照する場合 - IB からセットする場合 - (名前をセットしたものがプレビューされてるだけなので、結局は上と同じ) • Watch Extension 側リソースを利用 - UIImage 等の WatchKit 以外のクラスから参照する場合 • 参考 - WWDC15 セッション 207“WatchKit in depth Part1”スライドp40∼
  35. 35. 2/5 メディアデータの 保存場所
  36. 36. 新たに追加されたマイク録音UI
  37. 37. 新たに追加されたマイク録音UI • presentAudioRecordingContr ollerWithOutputURL:preset: maximumDuration:actionTitl e:completion: を呼ぶ
  38. 38. 新たに追加されたマイク録音UI • presentAudioRecordingContr ollerWithOutputURL:preset: maximumDuration:actionTitl e:completion: を呼ぶ • 第1引数にオーディオファイル 出力先の NSURL オブジェクト を渡す
  39. 39. 新たに追加されたマイク録音UI • presentAudioRecordingContr ollerWithOutputURL:preset: maximumDuration:actionTitl e:completion: を呼ぶ • 第1引数にオーディオファイル 出力先の NSURL オブジェクト を渡す → documents 配下のパスを渡す
  40. 40. 新たに追加されたマイク録音UI • presentAudioRecordingContr ollerWithOutputURL:preset: maximumDuration:actionTitl e:completion: を呼ぶ • 第1引数にオーディオファイル 出力先の NSURL オブジェクト を渡す → documents 配下のパスを渡す → シミュレータでは動作するの に、実機で動作しない!
  41. 41. Must use a shared container
  42. 42. • って WWDC15 セッション207“WatchKit in depth part1”スライド p59 に 書いてある Must use a shared container
  43. 43. • って WWDC15 セッション207“WatchKit in depth part1”スライド p59 に 書いてある • “WatchKitAudioRecorder”の実装もそうなってる Must use a shared container
  44. 44. • って WWDC15 セッション207“WatchKit in depth part1”スライド p59 に 書いてある • “WatchKitAudioRecorder”の実装もそうなってる • Watch の Extension と App で“App Groups”を有効にする Must use a shared container
  45. 45. • って WWDC15 セッション207“WatchKit in depth part1”スライド p59 に 書いてある • “WatchKitAudioRecorder”の実装もそうなってる • Watch の Extension と App で“App Groups”を有効にする • なぜ?(メディアリソースは Extension と App で共用するから?) Must use a shared container
  46. 46. 3/5 WKAudioFilePlayer
  47. 47. • 要ウォッチとの Bluetooth Headset ペアリング
  48. 48. • 要ウォッチとの Bluetooth Headset ペアリング - ウォッチ側スピーカーからのオーディオファイル再生は presentMediaPlayerControllerWithURL:options:completion: を利用しないとできない?
  49. 49. • 要ウォッチとの Bluetooth Headset ペアリング - ウォッチ側スピーカーからのオーディオファイル再生は presentMediaPlayerControllerWithURL:options:completion: を利用しないとできない? • WKAudioFilePlayerItem: でオブジェクト生成直後に play し ようとしてはいけない
  50. 50. • 要ウォッチとの Bluetooth Headset ペアリング - ウォッチ側スピーカーからのオーディオファイル再生は presentMediaPlayerControllerWithURL:options:completion: を利用しないとできない? • WKAudioFilePlayerItem: でオブジェクト生成直後に play し ようとしてはいけない
  51. 51. • 要ウォッチとの Bluetooth Headset ペアリング - ウォッチ側スピーカーからのオーディオファイル再生は presentMediaPlayerControllerWithURL:options:completion: を利用しないとできない? • WKAudioFilePlayerItem: でオブジェクト生成直後に play し ようとしてはいけない • status プロパティが ReadyToPlay になれば再生OK
  52. 52. 4/5 ウォッチ側 Bluetooth の (直接)利用
  53. 53. • watchOS Developer Library には Core Bluetooth のド キュメントはない
  54. 54. • watchOS Developer Library には Core Bluetooth のド キュメントはない • ドキュメントは置き忘れてるだけかもしれない
  55. 55. • watchOS Developer Library には Core Bluetooth のド キュメントはない • ドキュメントは置き忘れてるだけかもしれない • ということで「念のため」 Watch Extension 側の コードで import してみた
  56. 56. • watchOS Developer Library には Core Bluetooth のド キュメントはない • ドキュメントは置き忘れてるだけかもしれない • ということで「念のため」 Watch Extension 側の コードで import してみた
  57. 57. • watchOS Developer Library には Core Bluetooth のド キュメントはない • ドキュメントは置き忘れてるだけかもしれない • ということで「念のため」 Watch Extension 側の コードで import してみた • (やはり)ダメでした・・・
  58. 58. 5/5 Watch Connectivity のメッセージ送信可否の条件
  59. 59. • Watch Connectivity
  60. 60. • Watch Connectivity - Phone - Watch 間で相互にメッセージやデータを 送れる
  61. 61. • Watch Connectivity - Phone - Watch 間で相互にメッセージやデータを 送れる - 前からあった openParent∼ は Watch → Phone だ け(ただし Phone から Reply を返すことは可)
  62. 62. • Watch Connectivity - Phone - Watch 間で相互にメッセージやデータを 送れる - 前からあった openParent∼ は Watch → Phone だ け(ただし Phone から Reply を返すことは可) • メッセージ送信可否のチェック
  63. 63. Reachable なケース その1: 両者共にフォアグラウンド
  64. 64. Reachable なケース その2: iOS側だけバックグラウンド
  65. 65. • 要は、Watch App がバックグラウンドのときは iPhone 側からのメッセージを受け取れない
  66. 66. • 要は、Watch App がバックグラウンドのときは iPhone 側からのメッセージを受け取れない • あくまで WCSession の reachable の話。Application context や User info transfer, File transfer を使えば Wacth App がバックグラウンドのときも Phone → Watch へ情 報を送れるかも(後日試してサンプル追加予定)
  67. 67. • 要は、Watch App がバックグラウンドのときは iPhone 側からのメッセージを受け取れない • あくまで WCSession の reachable の話。Application context や User info transfer, File transfer を使えば Wacth App がバックグラウンドのときも Phone → Watch へ情 報を送れるかも(後日試してサンプル追加予定) • 参考:WWDC15 セッション713
 “Introducing Watch Connectivity”
  68. 68. watchOS-2-Sampler GitHub: shu223/watchOS-2-Sampler Blog: watchOS 2 の新機能のサンプルコード集『watchOS-2-Sampler』 - Accelerometer - Gyroscope - Pedometer - Heart Rate - Table Animations - Animated Properties - Audio Rec & Play - Picker Styles - Taptic Engine - Alert - Animation with Digital Crown - Interactive Messaging - Open System URL - Audio File Player

×