# iFreshSDK使用说明 [English](README.md) ## 使用条件: > * iOS 8.0及以上版本。 > * 设备所使用蓝牙版本需要4.0及以上。 > * 需添加iFreshSDK.framework包依赖; ## 文件说明: 1. iFreshSDK.framework(包名raytao.pingwang.iFreshDemo) ## 版本更新信息 详情请见“好营养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)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; ``` ## 工具类及胖模型”iFreshModel” 其中以下数据为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; ```