Bluetooth LE for iOSのサンプルを動かす

Bluetooth LE for iOS

iOSにおけるBLE(Bluetooth Low Energy)開発をUnityで行うasset. ネイティブでiOSアプリを書けない自分の様なエンジニアには嬉しいasettだが,サンプルシーンを実機でデバッグするのにかなり苦戦したのでそのメモ.
https://assetstore.unity.com/packages/tools/network/bluetooth-le-for-ios-16354

1つめのエラー

‘release’ is unavailable: not available in automatic reference counting mode

対処法

  1. xCodeで”Unity-iPhone”のBuild settingを開く
  2. Apple Clang – Warings – Objective-CのOverriding Deprecated Objective-C MethodsをYes->Noに変更する.

2つめのエラー

Showing Recent Messages
Undefined symbol: OBJC_CLASS$CBMutableCharacteristic
Undefined symbol: _OBJC_CLASS
$CBMutableService
Undefined symbol: _OBJC_CLASS
$CBCentralManager
Undefined symbol: _OBJC_CLASS
$CBPeripheralManager
Undefined symbol: _OBJC_CLASS
$_CBUUID
Undefined symbol: _CBAdvertisementDataLocalNameKey
Undefined symbol: _CBAdvertisementDataServiceUUIDsKey

これは完全に自分の知識不足,bluetoothのパッケージがxCodeプロジェクト上に無いというエラー.

  1. “Unity-iPhone”のGeneralを開く
  2. Frameworks,Libraries, and Embedded ContentにCoreBluetooth.frameworkを追加する.

3つめのエラー

プログラム自体にはエラーは発生せず,実機でデバッグしているときにクラッシュ.

この部分で,なぞのクラッシュThread 1: EXC_BAD_ACCESS (code=1, address=0x10)が発生.良くわかならいがこのサイトを考に_displayConnectionの箇所を以下のように解決.大体294行目あたり.

参考サイト:https://stackoverflow.com/questions/33972747/build-crashes-on-displayavailable-in-xcode

4つめのエラー

またもやクラッシュ.
UnityGfxDeviceWorker EXC_BAD_ACCESS
次はUnity側の設定を変更.
Player Settings > Other Settings > Auto Graphics APIをMetalからOpenGLES2に変更.

参考サイト:http://ktk-kumamoto.hatenablog.com/entry/2017/03/17/211037

無事起動

無事,サンプルが起動し,動作も確認することができました.

コメントを残す

メールアドレスが公開されることはありません。