测试已测试 | ✗ |
语言语言 | Obj-CObjective C |
许可证 | MIT |
发布时间最新版本 | 2017年8月 |
由 felix 维护。
依赖 | |
Masonry | ~> 1.0.2 |
BabyBluetooth | ~> 0.7.0 |
WebViewJavascriptBridge | ~> 6.0.2 |
SVProgressHUD | ~> 2.1.2 |
NJKWebViewProgress | ~> 0.2.3 |
YYModel | ~> 1.0.4 |
MJRefresh | ~> 3.1.12 |
Reachability | ~> 3.2 |
YDOpenHardware 库,用于将蓝牙等硬件的缓存或存储数据
适用于悦动圈跑步开放平台的简单demo,问题咨询:qq:295235985 邮箱:[email protected]
第三方为我们提供一个通用的 framework,即 YDOpenHardwarePod
#S3.html(该文件用于与 oc 交互)定义在 HTML 文件中调用 oc 的方法
1、此模块不可修改
function setupWebViewJavascriptBridge(callback) {
if (window.WebViewJavascriptBridge) { return callback(WebViewJavascriptBridge); }
if (window.WVJBCallbacks) { return window.WVJBCallbacks.push(callback); }
window.WVJBCallbacks = [callback];
var WVJBIframe = document.createElement('iframe');
WVJBIframe.style.display = 'none';
WVJBIframe.src = 'https://__bridge_loaded__';
document.documentElement.appendChild(WVJBIframe);
setTimeout(function() { document.documentElement.removeChild(WVJBIframe) }, 0)
}
2、调用最后一个方法来完成必要的业务操作
setupWebViewJavascriptBridge(function(bridge) {
…………………………
to do the business necessary
}
3、sj 调用 oc 方法
var callbackButton = document.getElementById('scanBtn')
callbackButton.innerHTML = 'scanBtn'
callbackButton.onclick = function(e) {
e.preventDefault();
log('JS calling handler "scan peripheral"')
// window.location.href='./peripheralList.html';
bridge.callHandler('onScanS3Click', 'S3', function(response) {
log('JS got response', response)
});
};
4、oc 调用 js 方法,因此我们必须注册该方法
bridge.registerHandler('deliverCharacteristic', function(data, responseCallback) {
log('data'+data+':'+data.uuid+data.value.value0 +':'+data.value.value1+':'+data.value.value2+':'+data.value.value3+'.');
var stepLabel = document.getElementById('stepLabel');
// stepLabel.innerHTML =
var calorieLabel = document.getElementById('calorieLabel');
// calorieLabel.innerHTMLp =
var distanceLabel = document.getElementById('distanceLabel');
// distanceLabel.innerHTML =
responseCallback(responseData);
});
5、数据传输协议:我们必须通过 json 格式传输数据,您可以传输 json 对象或数据字符串等,但我们推荐 key:value 格式,这样更简单,更容易使用。如下所示 oc 的数据
@{
@"uuid":c.UUID.UUIDString,
@"value":@{
@"value0":value0,
@"value1":value1,
@"value2":value2,
@"value3":value3
}
};
更多信息请查看 S3.html