何よりも、サンプルアプリが動かなければ仕方がないので、この二、三日、なんとか動かそうと必死だった。サンプルアプリについては、
こちら
にある。
Swiftで書かれた、iPhone用のものである。ほぼその通りにやったつもりだったが、実行段階で、
libsystem_kernel.dylib`__abort_with_payload:
0x1b2f8d14c <+0>: mov x16, #0x209
0x1b2f8d150 <+4>: svc #0x80
-> 0x1b2f8d154 <+8>: b.lo 0x1b2f8d170 ; <+36>
0x1b2f8d158 <+12>: stp x29, x30, [sp, #-0x10]!
0x1b2f8d15c <+16>: mov x29, sp
0x1b2f8d160 <+20>: bl 0x1b2f6b1fc ; cerror_nocancel
0x1b2f8d164 <+24>: mov sp, x29
0x1b2f8d168 <+28>: ldp x29, x30, [sp], #0x10
0x1b2f8d16c <+32>: ret
0x1b2f8d170 <+36>: ret
こんなエラーが出てしまう。
色々調べたが、結局、デバッカコンソールの文章に解決策があった。
2021-06-03 19:47:53.451111+0900 DJISDKSwiftDemo[7921:667412] [access] This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSBluetoothAlwaysUsageDescription key with a string value explaining to the user how the app uses this data.
つまり、info.plistにNSBluetoothAlwaysUsageDescriptionのキーを付け加えて、何かしなければならないということなのだ。こんなこと、ネットには何の情報もなかった。そこで、
Privacy - Bluetooth Always Usage Description
のキーを設定し、値に、Connection to controllerと書いた。値はなんでもいいようだが、アップルの審査を通そう何と考えると真面目に書く必要があるのかもしれない。
これでやったら、無事起動した。私のiPhone 7 plusで動いた画像は以下のようである。
コントローラーと繋げないと実際は動かないが、ここまできてホッとしている。