Sfoglia il codice sorgente

修改多次开关蓝牙和连接断开后state状态无法同步的问题,增加父类“ELBluetoothManager”数据透传方法,请在子类中调用

tags/v1.4.5_20211215
iot_user 5 anni fa
parent
commit
56b989c582

+ 13
- 13
AILinkBleSDKDemo.xcodeproj/project.pbxproj Vedi File

E622E2FF243F1D4A003C319D /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E622E2D8243F1D4A003C319D /* ViewController.m */; }; E622E2FF243F1D4A003C319D /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E622E2D8243F1D4A003C319D /* ViewController.m */; };
E622E300243F1D4A003C319D /* ThermometerScanViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E622E2DA243F1D4A003C319D /* ThermometerScanViewController.m */; }; E622E300243F1D4A003C319D /* ThermometerScanViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E622E2DA243F1D4A003C319D /* ThermometerScanViewController.m */; };
E622E301243F1D4A003C319D /* ThermometerConnectViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E622E2DD243F1D4A003C319D /* ThermometerConnectViewController.m */; }; E622E301243F1D4A003C319D /* ThermometerConnectViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E622E2DD243F1D4A003C319D /* ThermometerConnectViewController.m */; };
E64A7EEA24404B1400D22B84 /* AILinkBleSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E64A7EE924404B1400D22B84 /* AILinkBleSDK.framework */; };
E62381B5244E9B1200B976C4 /* AILinkBleSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E62381B4244E9B1200B976C4 /* AILinkBleSDK.framework */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */


/* Begin PBXContainerItemProxy section */ /* Begin PBXContainerItemProxy section */
E622E2DB243F1D4A003C319D /* ThermometerConnectViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThermometerConnectViewController.h; sourceTree = "<group>"; }; E622E2DB243F1D4A003C319D /* ThermometerConnectViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThermometerConnectViewController.h; sourceTree = "<group>"; };
E622E2DC243F1D4A003C319D /* ThermometerScanViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThermometerScanViewController.h; sourceTree = "<group>"; }; E622E2DC243F1D4A003C319D /* ThermometerScanViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThermometerScanViewController.h; sourceTree = "<group>"; };
E622E2DD243F1D4A003C319D /* ThermometerConnectViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ThermometerConnectViewController.m; sourceTree = "<group>"; }; E622E2DD243F1D4A003C319D /* ThermometerConnectViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ThermometerConnectViewController.m; sourceTree = "<group>"; };
E64A7EE924404B1400D22B84 /* AILinkBleSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = AILinkBleSDK.framework; sourceTree = "<group>"; };
E62381B4244E9B1200B976C4 /* AILinkBleSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = AILinkBleSDK.framework; sourceTree = "<group>"; };
/* End PBXFileReference section */ /* End PBXFileReference section */


/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
E64A7EEA24404B1400D22B84 /* AILinkBleSDK.framework in Frameworks */,
E62381B5244E9B1200B976C4 /* AILinkBleSDK.framework in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
E622E25D243F1CA5003C319D /* AILinkBleSDKDemo */ = { E622E25D243F1CA5003C319D /* AILinkBleSDKDemo */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
E64A7EE924404B1400D22B84 /* AILinkBleSDK.framework */,
E62381B4244E9B1200B976C4 /* AILinkBleSDK.framework */,
E622E2B7243F1D4A003C319D /* AiLinkSuper */, E622E2B7243F1D4A003C319D /* AiLinkSuper */,
E622E2CC243F1D4A003C319D /* BabyScale */, E622E2CC243F1D4A003C319D /* BabyScale */,
E622E2B1243F1D4A003C319D /* BloodPressure */, E622E2B1243F1D4A003C319D /* BloodPressure */,
E622E28D243F1D4A003C319D /* Inherit */ = { E622E28D243F1D4A003C319D /* Inherit */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
E622E28E243F1D4A003C319D /* SubBleManager.m */,
E622E28F243F1D4A003C319D /* InheritScanViewController.h */,
E622E293243F1D4A003C319D /* InheritConnectViewController.h */,
E622E290243F1D4A003C319D /* InheritConnectViewController.m */, E622E290243F1D4A003C319D /* InheritConnectViewController.m */,
E622E28F243F1D4A003C319D /* InheritScanViewController.h */,
E622E291243F1D4A003C319D /* InheritScanViewController.m */, E622E291243F1D4A003C319D /* InheritScanViewController.m */,
E622E292243F1D4A003C319D /* SubBleManager.h */, E622E292243F1D4A003C319D /* SubBleManager.h */,
E622E293243F1D4A003C319D /* InheritConnectViewController.h */,
E622E28E243F1D4A003C319D /* SubBleManager.m */,
); );
path = Inherit; path = Inherit;
sourceTree = "<group>"; sourceTree = "<group>";
E622E2CC243F1D4A003C319D /* BabyScale */ = { E622E2CC243F1D4A003C319D /* BabyScale */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
E622E2CD243F1D4A003C319D /* BabyScaleViewController.m */,
E622E2CE243F1D4A003C319D /* BabyScaleConnectViewController.h */, E622E2CE243F1D4A003C319D /* BabyScaleConnectViewController.h */,
E622E2CF243F1D4A003C319D /* BabyScaleViewController.h */,
E622E2D0243F1D4A003C319D /* BabyScaleConnectViewController.m */, E622E2D0243F1D4A003C319D /* BabyScaleConnectViewController.m */,
E622E2CF243F1D4A003C319D /* BabyScaleViewController.h */,
E622E2CD243F1D4A003C319D /* BabyScaleViewController.m */,
); );
path = BabyScale; path = BabyScale;
sourceTree = "<group>"; sourceTree = "<group>";
E622E2D1243F1D4A003C319D /* BodyFatScale */ = { E622E2D1243F1D4A003C319D /* BodyFatScale */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
E622E2D2243F1D4A003C319D /* BodyFatScaleScanViewController.m */,
E622E2D3243F1D4A003C319D /* WiFiSetupViewController.m */,
E622E2D7243F1D4A003C319D /* BodyFatScaleConnectViewController.h */,
E622E2D4243F1D4A003C319D /* BodyFatScaleConnectViewController.m */, E622E2D4243F1D4A003C319D /* BodyFatScaleConnectViewController.m */,
E622E2D5243F1D4A003C319D /* WiFiSetupViewController.h */,
E622E2D6243F1D4A003C319D /* BodyFatScaleScanViewController.h */, E622E2D6243F1D4A003C319D /* BodyFatScaleScanViewController.h */,
E622E2D7243F1D4A003C319D /* BodyFatScaleConnectViewController.h */,
E622E2D2243F1D4A003C319D /* BodyFatScaleScanViewController.m */,
E622E2D5243F1D4A003C319D /* WiFiSetupViewController.h */,
E622E2D3243F1D4A003C319D /* WiFiSetupViewController.m */,
); );
path = BodyFatScale; path = BodyFatScale;
sourceTree = "<group>"; sourceTree = "<group>";

BIN
AILinkBleSDKDemo.xcodeproj/project.xcworkspace/xcuserdata/iot_user.xcuserdatad/UserInterfaceState.xcuserstate Vedi File


+ 6
- 0
AILinkBleSDKDemo.xcodeproj/xcuserdata/iot_user.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist Vedi File

<?xml version="1.0" encoding="UTF-8"?>
<Bucket
uuid = "0A8698F6-4F11-4682-93F9-463691AD4B48"
type = "1"
version = "2.0">
</Bucket>

BIN
AILinkBleSDKDemo/AILinkBleSDK.framework/AILinkBleSDK Vedi File


+ 4
- 0
AILinkBleSDKDemo/AILinkBleSDK.framework/Headers/ELBluetoothManager.h Vedi File

*/ */
-(void)bluetoothReceiveBasicInfoPayloadData:(NSData *)data; -(void)bluetoothReceiveBasicInfoPayloadData:(NSData *)data;


///Callback transparent transmission data(回调透传数据)
/// @param data Transparent data(透传数据)
-(void)bluetoothReceivePassData:(NSData *)data;

#pragma mark ============ Please rewrite the following methods in the subclass(子类重写方法) END============== #pragma mark ============ Please rewrite the following methods in the subclass(子类重写方法) END==============





+ 3
- 0
AILinkBleSDKDemo/AILinkBleSDK.framework/Headers/ELSDKHeader.h Vedi File

ELSupportDeviceTypeBodyFatScale = 0x000E , //Body fat scale(体脂秤) ELSupportDeviceTypeBodyFatScale = 0x000E , //Body fat scale(体脂秤)
ELSupportDeviceTypeSmatLockRemote = 0x0010 , //Smart door lock remote control(智能门锁遥控器) ELSupportDeviceTypeSmatLockRemote = 0x0010 , //Smart door lock remote control(智能门锁遥控器)
ELSupportDeviceTypeBLE_WIFIScale = 0x0011 , //Ble and wifi Scale(蓝牙Wifi体脂秤) ELSupportDeviceTypeBLE_WIFIScale = 0x0011 , //Ble and wifi Scale(蓝牙Wifi体脂秤)
ELSupportDeviceTypeAnemometer = 0x0014 , //anemometer(风速计)
ELSupportDeviceTypeClampMeter = 0x0015 , //clamp meter(钳表)
}; };
//Communication mode(通信模式) //Communication mode(通信模式)
typedef NS_ENUM(NSInteger, ELCommunicationModeType) { typedef NS_ENUM(NSInteger, ELCommunicationModeType) {

BIN
AILinkBleSDKDemo/AILinkBleSDK.framework/_CodeSignature/CodeDirectory Vedi File


BIN
AILinkBleSDKDemo/AILinkBleSDK.framework/_CodeSignature/CodeRequirements-1 Vedi File


+ 6
- 6
AILinkBleSDKDemo/AILinkBleSDK.framework/_CodeSignature/CodeResources Vedi File

</data> </data>
<key>Headers/ELBluetoothManager.h</key> <key>Headers/ELBluetoothManager.h</key>
<data> <data>
q3LVBfQJJqGw0AR8h6q3nC+Nlgw=
1DzzZZ/wIue+STTYSBnzYR/JDQc=
</data> </data>
<key>Headers/ELBodyFatScaleBleHeader.h</key> <key>Headers/ELBodyFatScaleBleHeader.h</key>
<data> <data>
</data> </data>
<key>Headers/ELSDKHeader.h</key> <key>Headers/ELSDKHeader.h</key>
<data> <data>
iRAPDeauG3rYOdp0JoDPzK6Ozhc=
s8ZEGr/PpbFlKrQ5+kqm6spNKn0=
</data> </data>
<key>Headers/ELThermometerBleManager.h</key> <key>Headers/ELThermometerBleManager.h</key>
<data> <data>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
q3LVBfQJJqGw0AR8h6q3nC+Nlgw=
1DzzZZ/wIue+STTYSBnzYR/JDQc=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
5VoTwBUB4Lq2im9bqd73754D6HCo53vW6XoX6EioHXw=
kNafst/7uHWzJYb4+bnHf1+LulVxqmDY4DZLvvBDSz0=
</data> </data>
</dict> </dict>
<key>Headers/ELBodyFatScaleBleHeader.h</key> <key>Headers/ELBodyFatScaleBleHeader.h</key>
<dict> <dict>
<key>hash</key> <key>hash</key>
<data> <data>
iRAPDeauG3rYOdp0JoDPzK6Ozhc=
s8ZEGr/PpbFlKrQ5+kqm6spNKn0=
</data> </data>
<key>hash2</key> <key>hash2</key>
<data> <data>
uUXMgU5uOmIE0Ng8ZTZiiam+Cy5TOvMxThDSAhOmRoY=
2Eglzg3bcQpTOyihsn8ZijRJly03efDUHObUsNcZPH0=
</data> </data>
</dict> </dict>
<key>Headers/ELThermometerBleManager.h</key> <key>Headers/ELThermometerBleManager.h</key>

BIN
AILinkBleSDKDemo/AILinkBleSDK.framework/_CodeSignature/CodeSignature Vedi File


+ 3
- 1
AILinkBleSDKDemo/BabyScale/BabyScaleViewController.m Vedi File

} }
return _tableView; return _tableView;
} }

-(void)dealloc{
[[ELBabyScaleBleManager shareManager] stopScan];
}
@end @end

+ 4
- 1
AILinkBleSDKDemo/BodyFatScale/BodyFatScaleScanViewController.m Vedi File

} }
-(void)viewDidDisappear:(BOOL)animated{ -(void)viewDidDisappear:(BOOL)animated{
[super viewDidDisappear:animated]; [super viewDidDisappear:animated];
[[ELBodyFatScaleBleManager shareManager] stopScan];
} }
#pragma mark ============ ELBluetoothManagerDelegate ============== #pragma mark ============ ELBluetoothManagerDelegate ==============
-(void)bodyFatScaleManagerUpdateState:(ELBluetoothState)state{ -(void)bodyFatScaleManagerUpdateState:(ELBluetoothState)state{
} }
return _tableView; return _tableView;
} }
-(void)dealloc{
[[ELBodyFatScaleBleManager shareManager] stopScan];
}
@end @end

+ 5
- 0
AILinkBleSDKDemo/Inherit/SubBleManager.m Vedi File

-(void)bluetoothReceiveBasicInfoPayloadData:(NSData *)data{ -(void)bluetoothReceiveBasicInfoPayloadData:(NSData *)data{
//特殊数据:门锁和胎压监测会用到,需根据具体协议解析 //特殊数据:门锁和胎压监测会用到,需根据具体协议解析
} }
///Callback transparent transmission data(回调透传数据)
/// @param data Transparent data(透传数据)
-(void)bluetoothReceivePassData:(NSData *)data{
//Parsing transparent transmission data(解析透传数据)
}
#pragma mark ============ 发送数据给蓝牙 ============== #pragma mark ============ 发送数据给蓝牙 ==============
-(void)subBleSendA6Data:(NSData *)data{ -(void)subBleSendA6Data:(NSData *)data{
[self sendCmdToMCUWithA6PayloadData:data]; [self sendCmdToMCUWithA6PayloadData:data];

Loading…
Annulla
Salva