Car*_*ega 10 bluetooth ios swift
我正在为Empatica E4腕带使用该项目的分支,并且如果不从Xcode运行该应用程序,就无法使发现设备正常工作。这种情况可以用原始样本项目复制。
通过Xcode运行项目时,我可以看到附近设备的列表。但是,当我关闭应用程序并从手机中跑了进来(而不是在Xcode上单击“播放”)时,我看不到任何设备。
我应该在项目上配置某些内容还是拥有开发者帐户?现在,我没有支付开发者帐户,但我认为无需使用Xcode运行该应用程序就可以做到这一点。谢谢。
简而言之:我可以在不将手机连接到XCode的情况下打开该应用程序,但是当我未连接到XCode时找不到设备。
更多细节。当通过 iphone上的Xcode执行时,设备发现工作正常。在日志上,我们可以看到:
E4tester [didUpdate] status 2 • kBLEStatusScanning
bluetoothd Received XPC message "CBMsgIdScan" from session "Empatica.E4testerCV-central-313-24"
bluetoothd Received 'start scan' request without duplicates for all UUIDs from session "Empatica.E4testerCV-central-313-24"
bluetoothd State of application "Empatica.E4testerCV" is now "foreground-running"
Run Code Online (Sandbox Code Playgroud)
然而。在iPhone上打开应用程序(而不是通过Xcode运行)时,我们会收到以下日志消息:
E4tester [didUpdate] status 0 • kBLEStatusNotAvailable
E4tester Task <EA813C26-F662-461C-8C47-A97FA7E32BA4>.<0> response ended
E4tester Task <EA813C26-F662-461C-8C47-A97FA7E32BA4>.<0> done using Connection 1
Run Code Online (Sandbox Code Playgroud)
这里重要的细节是kBLEStatusNotAvailable状态,与形成对比kBLEStatusScanning。根据他们的文档,这意味着iOS设备不支持Bluetooth LE,或者Bluetooth LE模块未激活。但设备确实支持BT LE并且已启用。
我在他们的资料库中打开了一个问题。
最后,我从 Empatica 支持团队得到了直接答复,我认为这是完美的,因为我从可靠和/或官方来源寻求答案。
尽管如此,我还是要感谢Antonio的有用回答以及Scriptable和Hichem的信息。
Empatica E4团队的答案如下:
@carlosvega如果您使用的是iOS 11或12的iPhone,您应该在Info.plist文件中添加字符串NSBluetoothPeripheralUsageDescription。示例代码是在隐私字符串强制执行之前创建的。-- Empatica 工程团队
| 归档时间: |
|
| 查看次数: |
128 次 |
| 最近记录: |