Site icon image CB Interaction Viewer

macOS向けアプリ「CB Interaction Viewer」公式ブログです。使い方や更新情報を発信しています。CB Interaction Viewerは、モバイルシミュレータ( Xcodeシミュレータ )で動作するモバイルアプリでBLE(Bluetooth Low Energy)デバイスとの実通信を実現するアプリです。 アプリ入手 → https://apps.apple.com/jp/app/cb-interaction-viewer/id6757977616?mt=12 X(Twitter) → https://x.com/CBIViewer

CoreBluetoothMock導入手順

目次


はじめに


 CB Interaction Viewerは、XCodeで実行されるiPhoneシミュレータ上で動作するアプリからCoreBluetoothを使ったBLE通信を実現します。導入方法を解説します。

 CB Interaction Viewerは下記リンクよりダウンロードできます。

https://apps.apple.com/jp/app/cb-interaction-viewer/id6757977616?mt=12

CoreBluetoothMock.frameworkの導入


CoreBluetoothMock.frameworkのダウンロード

CoreBluetoothMock.frameworkは、下記リンクよりダウンロードできます。

https://github.com/tochy0115/CoreBluetoothMock/tags

リンク先から最新バージョンのzipもしくはtar.gzでダウンロードしてください。

最新版をダウンロード

XCodeプロジェクトへの組み込み

  1. TARGETSは、実機ビルドとシミュレータビルドの2種類を用意します。
  2. XCodeのプロジェクトを開き、
    ”TARGETS” > [1で作成したシミュレータ用ターゲット] > “General” > “Frameworks, Libraries, and Embedded Content”

    にダウンロードしたCoreBluetoothMock.frameworkをドラッグ&ドロップ、または”+”ボタンから追加してください。

    Frameworks, Libraries, and Embedded Content

依存関係の解消

ここでは、CoreBluetoothMock.frameworkが依存する追加パッケージのインストール方法を説明します。

  1. Swift Package Managerの管理画面を開く
    “File” > “Add Package Dependencies…”
  2. 右上の”Search or Enter Package URL”で、以下のURLを検索

    https://github.com/tochy0115/CoreBluetoothMock_Dependencies.git

  3. Add to Projectでご自身のプロジェクトを選択
  4. Add Packageボタンで追加
CoreBluetoothMock_DependenciesのPackageを追加
  1. CoreBluetoothMock_Dependenciesの導入確認

    XCodeの左側パネルに”Package Dependencies”に必要なパッケージが導入されます。

* “unexpectedly did not find the new dependency in the package graph”

エラーが出る場合、以下を試すことで正常に完了できるようになる可能性があります。

  • XCodeの再起動
  • キャッシュのクリア
    % rm -rf ~/Library/Developer/Xcode/DerivedData
    % rm -rf ~/Library/Caches/org.swift.swiftpm 
    % rm -rf ~/Library/org.swift.swiftpm
  • Macの再起動

ソースコードの修正

シミュレータビルドと実機ビルドで、CoreBluetoothとCoreBluetoothMockを切り替えるように修正してください。

#if targetEnvironment(simulator)
import CoreBluetoothMock
#else
import CoreBluetooth
#endif
Swiftでのimport例
#if TARGET_OS_SIMULATOR
#import <CoreBluetoothMock/CoreBluetoothMock.h>
#else
#import <CoreBluetooth/CoreBluetooth.h>
#endif
Objective-Cのimport例

シミュレータビルドと実行

  1. CB Interaction Viewerを立ち上げてください。
  2. プロジェクトの実行するターゲットをシミュレータにしてビルドし、iPhoneシミュレータでアプリを実行してください。
  3. シミュレータ上のアプリからCoreBluetoothのAPIを実行する操作を行います。
  4. CB Interaction Viewerが実行されたイベントをキャプチャし、必要に応じてMacのBluetoothを使用してデバイスと通信していることが確認できます。
* CoreBluetoothMockとCB Interaction Viewerは、Mac PCのBluetoothと連動します。PC側のBluetoothはONにしてください。また、アプリからBluetoothの使用権限を求められる場合は、必ず許可をお願いします。