草庐IT

bluetooth-keyboard

全部标签

iOS : Background Bluetooth Low Energy (BLE) scanning rules

在网上花了几个小时,我找不到任何关于IOS使用的后台BLE扫描规则的文档。由于在IOS上无法设置扫描窗口,我在寻找IOS在后台扫描时Apple定义的规则。上下文我正在开发一种可穿戴外围设备,当手机无法触及它时,它有时会断开连接。目标是在外围设备离手机足够近时快速重新连接(少于5秒)。外围设备有电池限制,所以我不能永远每20毫秒做一次广告,所以我正在寻找一种巧妙的方法将我的外围设备重新连接到手机。如果我知道后台扫描模式是如何工作的,我将能够定义一个智能广告间隔以节省电量。用例如果我的外围设备每1285毫秒广播一次,那么我的IOS应用程序在后台模式下发现10分钟需要多长时间?

c# - 错误 CS1540/CS0122 : Getting keyboard size doesn't work after switching to Unified API

今天我更新到Xamarin.iOS8.6.0.51并切换到新的UnifiedAPI。现在我想获取键盘大小(此代码之前有效):varval=newNSValue(notification.UserInfo.ValueForKey(UIKeyboard.FrameBeginUserInfoKey).Handle);RectangleFkeyboardSize=val.RectangleFValue;在迁移工具的帮助下,RectangleF被转换为CGRect,但我得到的错误是ErrorCS1540:CannotaccessprotectedmemberFoundation.NSValue.

ios - 在哪里可以找到 Core Bluetooth 的 Apple iOS 错误列表?

我现在正在测试生命周期/稳健性问题,需要调试偶尔出现的核心蓝牙错误,例如#242。Apple是否列出了每个核心蓝牙错误的含义? 最佳答案 通常,CoreBluetooth使用BluetoothCoreSpecV4.0Vol3PartFSec3.4.1.1Table3.3ErrorCodes中定义的标准错误代码.ErrorNameCodeDescription==============================================================================InvalidHand

iOS SDK : Dismiss keyboard when a button gets clicked?

如何在用户单击按钮时关闭键盘?一个更好理解的简短示例:用户在某些文本字段中编辑了一些文本,最后他没有单击“完成”或键盘上的其他东西,而是在键盘仍显示时单击“保存”按钮.那么,现在我该如何关闭键盘呢?谢谢。问候,丹尼尔 最佳答案 您还可以在层次结构中文本字段上方的任何View上调用[viewendEditing:YES]。如果您不确定哪个文本字段具有第一响应者状态,这将很有用。它还可以选择让文本字段委托(delegate)停止操作(通过从shouldEndEditing:返回NO),如果您使用委托(delegate)对字段进行验证,这

iOS KeyBoard Extention 记录

键盘开发其实遇到了很多坑,之前未记录下来,想起来哪些记录哪些吧...1.键盘高度调整不生效键盘高度的调整必须通过约束控制,但是在viewDidload中设置约束,并不能生效,最终高度还是系统设置的高度(可以看到是系统后添加了高度约束并生效)思路就是在系统设置约束后再添加自定义的高度约束,前后尝试了很多方案方案1:在viewDIdAppear中设置高度约束,但其实时机有些晚方案2:重写UIInputView子类的-setFrame方法,当判断frame高度>0并且≠想设置的高度时,重新设置高度约束,这个方案用了一段时间,没发现什么问题方案3:重写-(void)updateViewConstrai

iOS Bluetooth LE - 无响应写入的正确方法

对于iOSCoreBluetooth,当发送相对大量的数据时,重要的是将其分成20字节的block,然后将它们一次一个地写入外围对象。使用WriteWithResponse特性时,这很容易做到:写入20个字节,等待回调,写入接下来的20个字节,等等。但是WriteWithoutResponse特征呢?我需要通过BLE尽快发送1-2kB的数据。WriteWithResponse在执行此操作时效率非常低,因为它会确认每20字节的数据包。纠错和可靠性在我的应用层得到处理,所以我不需要BLE来确认数据。问题是WriteWithoutResponse不会给你回调,因为CoreBluetooth无

ios - Core Bluetooth - 外围不能被中央写入

我有两个应用程序,一个作为外围设备(在运行iOS7的iPad4thGen上),一个作为中心应用程序(在运行iOS7的iPhone5c上)。我希望在外围设备中有一个可写的特性,中央向其写入少量字节(大约4个字节,但可能因执行而异)。我正在配置外设如下:-(void)startPeripheral{CBMutableService*service=[[CBMutableServicealloc]initWithType:[CBUUIDUUIDWithString:kMyServiceUUID]primary:YES];CBMutableCharacteristic*ch=[[CBMutab

Objective-C/iOS : Keeping bluetooth connection alive in the background

我已经对此进行了几天的研究,看起来在手机进入休眠状态或应用程序处于后台时无法保持蓝牙连接。但是,我发现了一个声称可以一直运行的应用程序:RunKeeperapp说:版本2.5.1.0中的新功能支持使用Wahooheartrate在后台跟踪心率监控。有谁知道他们是如何在应用程序处于后台时将心率数据发送到手机的?更新:通过在我的plist中为“bluetooth-central”的“Requiredbackgroundmodes”下添加一个条目来让它工作。 最佳答案 您需要通过CoreBluetooth框架使用新的低功耗蓝牙功能另请注意

iOS/swift : Automatically Pair With Bluetooth Classic Device

我们正在构建一个自定义蓝牙设备,它支持免提经典蓝牙和其他功能的低功耗蓝牙。我可以通过蓝牙LE连接设备并与之通信,但是现在用户必须从“设置”中手动与设备配对才能使免提功能正常工作。与AppleWatch一样,当从可用设备的低功耗蓝牙列表中选择设备时,是否可以通过经典蓝牙自动与设备配对?基本上,这就是我们希望它的工作方式。用户首次启动应用程序。用户被重定向到注册屏幕并在我们的环境中注册他们的手机。用户被带到应用程序仪表板,然后单击应用程序设置按钮。在“设置”中,用户点击“蓝牙外围设备”,然后会转到一个屏幕,其中列出了范围内的BLE设备。这里是新魔法需要发生的地方:用户选择BLE设备,通过B

iOS swift : How to dismiss keyboard before compute-intensive code?

我有一个带有文本字段的View,用户将使用数字键盘输入一个整数。然后用户点击按钮进行计算。计算是CPU密集型的,需要几秒或更长时间才能完成,具体取决于输入。如果我尝试在代码运行之前关闭键盘,它不会被关闭——代码首先运行。(下面的示例代码)此代码的后台线程是否需要键盘关闭才能正常工作?@IBOutletweakvarnumberField:UITextField!@IBActionfuncrunCPUIntensiveCode(_sender:UIButton){numberField.resignFirstResponder()runCode()} 最佳答案