目次
目次 はじめに CoreBluetoothMock.frameworkの導入 CoreBluetoothMock.frameworkのダウンロード XCodeプロジェクトへの組み込み 依存関係の解消 ソースコードの修正 シミュレータビルドと実行
はじめに
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プロジェクトへの組み込み
- TARGETSは、実機ビルドとシミュレータビルドの2種類を用意します。
- XCodeのプロジェクトを開き、 ”TARGETS” > [1で作成したシミュレータ用ターゲット] > “General” > “Frameworks, Libraries, and Embedded Content”
にダウンロードしたCoreBluetoothMock.frameworkをドラッグ&ドロップ、または”+”ボタンから追加してください。
依存関係の解消
ここでは、CoreBluetoothMock.frameworkが依存する追加パッケージのインストール方法を説明します。
- Swift Package Managerの管理画面を開く “File” > “Add Package Dependencies…”
- 右上の”Search or Enter Package URL”で、以下のURLを検索
https://github.com/tochy0115/CoreBluetoothMock_Dependencies.git
- Add to Projectでご自身のプロジェクトを選択
- Add Packageボタンで追加
- 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例
シミュレータビルドと実行
- CB Interaction Viewerを立ち上げてください。
- プロジェクトの実行するターゲットをシミュレータにしてビルドし、iPhoneシミュレータでアプリを実行してください。
- シミュレータ上のアプリからCoreBluetoothのAPIを実行する操作を行います。
- CB Interaction Viewerが実行されたイベントをキャプチャし、必要に応じてMacのBluetoothを使用してデバイスと通信していることが確認できます。
* CoreBluetoothMockとCB Interaction Viewerは、Mac PCのBluetoothと連動します。PC側のBluetoothはONにしてください。また、アプリからBluetoothの使用権限を求められる場合は、必ず許可をお願いします。
CB Interaction Viewer