Upgrade to Pro — share decks privately, control downloads, hide ads and more …

初めてのハードウェア対応

ykkc
September 18, 2021

 初めてのハードウェア対応

iOSDC2021 DAY1 10:50〜でお話させていただくものです!

ykkc

September 18, 2021
Tweet

More Decks by ykkc

Other Decks in Programming

Transcript

  1. ɹ ɹ 自己紹介 横小路 健 Takeshi Yokokoji @_ykkc(Twitter) 2019.1 オンラインフィットネスサービスの開発

    
 2019.2 hey入社 
 STORES 決済のプロダクト改善を行う 2020.8 STORES レジの立ち上げに参画 2021.6 STORES レジをリリース 2021.8 STORES レジの新機能開発 / 改善を行う
  2. ɹ ɹ STORES レジの紹介 技術スタック • 言語:Swift • フレームワーク:SwiftUI, Combine

    • API:GraphQL (using Apollo-iOS) • DB:Realm • ツール:GitHub, Bitrise, Firebase, Fastlane
  3. ɹ ɹ ハードウェア対応の裏側 〜全体観〜 全体の流れ • やりたいことを明らかにする • 仕様書を読み、ハードウェアを選定する •

    開発 • Bluetoothの規格によって異なる • Bluetooth Low Energy • Bluetooth Classic • ( Optional ) Bluetooth Classicを利用する場合はMFi登録申請をする • 審査 • リリース
  4. ɹ ɹ ハードウェア対応の裏側 〜CoreBluetooth編〜 Bluetooth Low Energy(BLE) • Bluetooth 4.0以降の規格

    • 特徴 • 以前と比較して低消費電力での通信を実現した • CoreBluetooth Frameworkで実装
  5. ɹ ɹ ハードウェア対応の裏側 〜External Accessory編〜 Bluetooth Classic • Bluetooth 3.0以前の規格

    • 特徴 • External Accessory Frameworkで実装 • 実装以外にも… • Info.plistのUISupportedExternalAccessoryProtocolsに 
 accessory protocol stringsを追加する必要あり • リリース前にMFi登録申請する必要あり
  6. ɹ ɹ ハードウェア対応の裏側 〜External Accessory編〜 MFi登録申請 • MFi登録申請って何? • MFi(Made

    for iPhone/iPad/iPod)認証 • Apple製品に対応したハードウェアと認められるために必要なもの • MFi認証されたハードウェアに対応したアプリの審査にはPPIDが必要 • メーカー経由でAppleからPPIDをもらうためにメーカーにする申請
  7. ɹ ɹ ハードウェア対応の裏側 〜External Accessory編〜 ᶅ PPIDൃߦ ᶄ PPIDൃߦґཔ ᶃ

    MFiొ࿥ਃ੥ ᶆ MFiొ࿥׬ྃ with PPID ᶇ ΞϓϦ৹ࠪ with PPID ΞϓϦ։ൃऀ MFiೝূΛड͚ͨϋʔυ΢ΣΞΛఏڙ͢ΔϝʔΧʔ
  8. ɹ ɹ ハードウェア対応の裏側 〜External Accessory編〜 ᶅ PPIDൃߦ ᶄ PPIDൃߦґཔ ᶃ

    MFiొ࿥ਃ੥ ᶆ MFiొ࿥׬ྃ with PPID ᶇ ΞϓϦ৹ࠪ with PPID ΞϓϦ։ൃऀ MFiೝূΛड͚ͨϋʔυ΢ΣΞΛఏڙ͢ΔϝʔΧʔ
  9. ɹ ɹ ハードウェア対応の裏側 〜External Accessory編〜 ᶅ PPIDൃߦ ᶄ PPIDൃߦґཔ ᶃ

    MFiొ࿥ਃ੥ ᶆ MFiొ࿥׬ྃ with PPID ᶇ ΞϓϦ৹ࠪ with PPID ΞϓϦ։ൃऀ MFiೝূΛड͚ͨϋʔυ΢ΣΞΛఏڙ͢ΔϝʔΧʔ
  10. ɹ ɹ ハードウェア対応の裏側 〜External Accessory編〜 ᶅ PPIDൃߦ ᶄ PPIDൃߦґཔ ᶃ

    MFiొ࿥ਃ੥ ᶆ MFiొ࿥׬ྃ with PPID ᶇ ΞϓϦ৹ࠪ with PPID ΞϓϦ։ൃऀ MFiೝূΛड͚ͨϋʔυ΢ΣΞΛఏڙ͢ΔϝʔΧʔ
  11. ɹ ɹ ハードウェア対応の裏側 〜External Accessory編〜 ᶅ PPIDൃߦ ᶄ PPIDൃߦґཔ ᶃ

    MFiొ࿥ਃ੥ ᶆ MFiొ࿥׬ྃ with PPID ᶇ ΞϓϦ৹ࠪ with PPID ΞϓϦ։ൃऀ MFiೝূΛड͚ͨϋʔυ΢ΣΞΛఏڙ͢ΔϝʔΧʔ