- iOS 8.0及以上版本。
- 设备所使用蓝牙版本需要4.0及以上。
- 需添加iFreshSDK.framework包依赖;
详情请见“好营养SDK发布说明.doc”文档
1.导入iFreshSDK.framework 2.添加蓝牙权限:
Info.plist文件中添加 Privacy - Bluetooth Peripheral Usage Description
1.调用扫描方法
[[iFreshSDK shareManager] bleDoScan];
2.遵守协议BleReturnValueDelegate 3.设置代理
[[iFreshSDK shareManager] setbleReturnValueDelegate:self]
4.实现方法:
/**
* GlobalBLEmodel模型:value ble返还数值;
*
* @param model 全局蓝牙模型数据
*/
- (void)bleReturnValueModel:(iFreshModel*)model;
/**
* 称端切换单位触发的代理方法
* GN_UnitEnum 单位枚举
* unitChang 切换后的单位
*/
- (void)changeUnitWithBle:(GN_UnitEnum) unitChange;
/**
* 蓝牙连接状态改变的代理方法
* GN_BleStatus 蓝牙状态枚举
* bleStatus 当前蓝牙状态
*/
- (void)bleStatusupdate:(GN_BleStatus)bleStatus;
/**
蓝牙透传数据
@param data 透传数据
*/
-(void)bluetoothManagerReturePenetrateData:(NSData *)data;
/*
* 写入数据
*/
- (void)sendDataToBle:(NSData *)data;
/**
* 开始扫描,建议放在程序入口
*/
- (void)bleDoScan;
/**
* 停止连接设备
*/
- (void)closeBleAndDisconnect;
/**
* 遵循协议的调用
*/
- (void)setbleReturnValueDelegate:(id<BleReturnValueDelegate>)delegate;
/**
* insertTheUnit 插入单位
*
* @param unit 根据GN_UnitEnum枚举写入单位
*/
- (void)insertTheUnit:(GN_UnitEnum)unit;
/**
* 归零写入
*/
- (void)zeroWriteBle;
/*
设置重量
*/
- (void)setWeight:(NSInteger)weight;
/*
* 设置单项卡路里最大不超过4294967295
*/
- (void)setCalorie:(NSInteger)calories;
/*
* 设置总卡路里-最大不超过4294967295
*/
- (void)setTotalCalorie:(NSInteger)toatlCalories;
/*
* 设置总脂肪
*/
- (void)setTotalFat:(NSInteger)fat;
/*
* 设置总蛋白质
*/
- (void)setTotalProtein:(NSInteger)protein;
/*
* 设置总碳水化合物
*/
- (void)setTotalCarbohydrates:(NSInteger)carbohydertes;
/*
* 设置总脂肪纤维
*/
- (void)setTotalFiber:(NSInteger)fiber;
/*
* 设置总胆固醇
*/
- (void)setTotalCholesterd:(NSInteger)cholesterd;
/*
* 设置总钠含量
*/
- (void)setTotalSodium:(NSInteger)sodium;
/*
* 设置总糖含量
*/
- (void)setTotalSugar:(NSInteger)sugar;
/*
*设置脂肪
*/
- (void)setFat:(NSInteger)fat;
/*
*设置蛋白质
*/
- (void)setProtein:(NSInteger)protein;
/*
*设置碳水化合物
*/
- (void)setCarbohydrates:(NSInteger)carbohydertes;
/*
*设置膳食纤维
*/
- (void)setFiber:(NSInteger)fiber;
/*
*设置胆固醇
*/
- (void)setCholesterd:(NSInteger)cholesterd;
/*
*设置钠含量
*/
- (void)setSodium:(NSInteger)sodium;
/*
*设置糖含量
*/
- (void)setSugar:(NSInteger)sugar;
/*
* 关机指令
*
*/
- (void)turnOffDevice;
其中以下数据为SDK处理后代理方法返回的数据:
// 蓝牙回调数值:
@property (nonatomic, copy) NSString *value;
//以“g”为单位的数据
@property (nonatomic, assign) NSInteger gValue;
//记录最后使用的单位(SDK内部调用),
@property (nonatomic,copy) NSString *Unit;
如需根据单位转换数据请调用如下方法:
/**
* g转lb方法
* weightvalue:传入的以g为单位的重量字符串
* 返回的是以“:”分隔的数据
*/
+ (NSString *)gTolb:(NSString *)weightValue;
/**
* g转oz方法
* weightvalue:传入的以g为单位的重量字符串
*/
+ (NSString *)gTooz:(NSString *)weightVlaue;
/**
* lb转g方法
* weightvalue:传入的以lb为单位的重量字符串,请传“:”分隔的数据
*/
+ (NSString *)lbTog:(NSString *)weightVlaue;
/**
* oz转g方法
* weightvalue:传入的以oz为单位的重量字符串
*/
+ (NSString *)ozTog:(NSString *) weightValue;
/**
* g转kg方法
* weightvalue:传入的以g为单位的重量字符串
*/
+ (NSString *)gToKg:(NSString *)weightValue;
/**
* g转斤方法
* weightvalue:传入的以g为单位的重量字符串
*/
+ (NSString *)gToJin:(NSString *)weightValue;
/**
* kg转g方法
* weightvalue:传入的以kg为单位的重量字符串
*/
+ (NSString *)kgTog:(NSString *)weightValue;
/**
* 斤转g方法
* weightvalue:传入的以斤为单位的重量字符串
*/
+ (NSString *)jinTog:(NSString *)weightValue;
/**
* kg转lb方法
* weightvalue:传入的以kg为单位的重量字符串
*/
+ (NSString *)kgTolb:(NSString *)weightValue;
发送指令给蓝牙
//开始计时
-(void)bluetoothCoffeeStartTime;
//暂停
-(void)bluetoothCoffeePauseTime;
//重置
-(void)bluetoothCoffeeResetTime;
//倒计时开始
-(void)bluetoothCoffeeCountdownStartTime:(int)min second:(int)sec;
接收蓝牙发送的数据
/**
*咖啡秤支持的代理回调
*workType:咖啡秤的操作指令
*/
-(void)bluetoothManagerCoffeeTimingWork:(BleCoffeeTimingWorkType)workType;
/**
*咖啡秤返回的时间
*min:分
*sec:秒
*countdown:是否是倒计时,YES:倒计时,NO:正计时
*/
-(void)bluetoothManagerCoffeeTime:(int )min second:(int)sec isCountdown:(BOOL)countdown;
/**
*咖啡秤倒计时开始
*min:分
*sec:秒
*/
-(void)bluetoothManagerCoffeeCountdownStartTime:(int )min second:(int)sec;
//APP 回复停止报警指令
-(void)bluetoothManagerSendStopAlarm;