}
@end
-@interface AiMouse()<AiConnectManagerDelegate>
+@interface AiMouse()
@property (nonatomic, assign) AiMouseLogLevel logLevel;
@property (nonatomic, strong) AiAuthManager *authManager;
@property (nonatomic, strong) AiAliAuthManager *aliAuthManager;
@property (nonatomic, strong) AiDeviceInfoManager *deviceInfoManager;
@property (nonatomic, strong) NSString *updateDeviceSecret;//更新的deviceSecret
-@property (nonatomic, strong) AiConnectManager *connectManager;
@property (nonatomic, assign) BOOL isAuthing;
@end
_logLevel = AiMouseLogLevel_none;
_authState = kIsNeedAuth ? AiMouseAuthState_Unknow:AiMouseAuthState_Success;
_connectType = AiMouseConnectType_bluetooth;
- [self.connectManager start];
NSLog(@"[AiMouseSdk]%@",[NSString stringWithFormat:@"AiMouseSdk_v%@",self.version]);
}
return self;
_deviceInfoManager.outputLogBlock = ^(NSString * _Nonnull log) {
[ws showLog:log];
};
+ _deviceInfoManager.timeOutBlock = ^{
+ [ws switchConnect:ws.connectType isConnected:false];
+ };
}
return _deviceInfoManager;;
}
return _recordManager;
}
--(AiConnectManager *)connectManager{
- if (!_connectManager) {
- _connectManager = [[AiConnectManager alloc] init];
- _connectManager.delegate = self;
- }
- return _connectManager;
-}
#pragma mark - pub Api
- (void)setLogLevel:(AiMouseLogLevel)level{
_logLevel = level;
_connected = true;
_connectType = type;
[self showLog:type == AiMouseConnectType_bluetooth?@"sdk切换到蓝牙模式":@"sdk切换到usb模式"];
- [self aiConnectManager:self.connectManager connectStateDidChange:true];
+ [self aiConnectManager:nil connectStateDidChange:true];
if (type == AiMouseConnectType_hid ) {
[self.recordManager checkPermissions];
}
if (self.connected) {
[self stopRecord:true];
_connected = false;
- [self aiConnectManager:self.connectManager connectStateDidChange:false];
+ [self aiConnectManager:nil connectStateDidChange:false];
}
}
}
- (void)sendAiDataToSdk:(NSData *)data{
_authState = AiMouseAuthState_Success;
- [self.connectManager resetTimeOut];
[self showLog:[NSString stringWithFormat:@"[receive][Voice] %@",data]];
-// if (self.authState != AiMouseAuthState_Success){
-// [self showLog:@"设备还未鉴权!!!"];
-// [self checkAuthState];
-// return;
-// }
if(self.connectType == AiMouseConnectType_hid){
// 0AFFFF12BC32
if(data.length == 6){
#pragma mark - deviceInfoManager
-(void)sendDeviceDataToSdk:(NSData *)data{
+ if (data.length == 0) {
+ [self switchConnect:self.connectType isConnected:false];
+ return;
+ }
_authState = AiMouseAuthState_Success;
[self showLog:[NSString stringWithFormat:@"[receive][info] %@",data]];
if (self.connected == false) {
}
}
- [self.connectManager resetTimeOut];
[self.deviceInfoManager receiveData:data];
[self checkAuthState];
}
#pragma mark - AiConnectManagerDelegate
-(void)aiConnectManager:(AiConnectManager *)manager connectStateDidChange:(BOOL)connected{
- if (connected == false) {
- _authState = AiMouseAuthState_Unknow;
- }
_connected = connected;
if([self.delegate respondsToSelector:@selector(aiMouseConnectStateDidChange:)]) [self.delegate aiMouseConnectStateDidChange:connected];
}
--(void)aiConnectManagerReSendData:(AiConnectManager *)manager{
- __weak typeof(self) ws = self;
- [self.deviceInfoManager getVersion:^(NSString * _Nonnull version, NSError * _Nonnull error) {
- if (error.code == AiMouseErrorCode_timeOut) {
- [ws.connectManager addTimeOut];
- }
- }];
-}
--(void)aiConnectManager:(AiConnectManager *)manager outputLog:(NSString *)log{
- [self showLog:log];
-}
+
@end
landmarkType = "0">
</BreakpointContent>
</BreakpointProxy>
+ <BreakpointProxy
+ BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+ <BreakpointContent
+ uuid = "118785A3-0345-4F36-A89C-961E056FE6DB"
+ shouldBeEnabled = "Yes"
+ ignoreCount = "0"
+ continueAfterRunningActions = "No"
+ filePath = "AiMouseSdk/AiMouseSdk/AiMouseSdk.m"
+ startingColumnNumber = "9223372036854775807"
+ endingColumnNumber = "9223372036854775807"
+ startingLineNumber = "88"
+ endingLineNumber = "88"
+ landmarkName = "-deviceInfoManager"
+ landmarkType = "7">
+ </BreakpointContent>
+ </BreakpointProxy>
+ <BreakpointProxy
+ BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+ <BreakpointContent
+ uuid = "2B44EFED-983B-42C3-A846-42E824FFEC4F"
+ shouldBeEnabled = "Yes"
+ ignoreCount = "0"
+ continueAfterRunningActions = "No"
+ filePath = "AiMouseSdk/AiMouseSdk/AiMouseSdk.m"
+ startingColumnNumber = "9223372036854775807"
+ endingColumnNumber = "9223372036854775807"
+ startingLineNumber = "293"
+ endingLineNumber = "293"
+ landmarkName = "-getDeviceInfo:"
+ landmarkType = "7">
+ </BreakpointContent>
+ </BreakpointProxy>
</Breakpoints>
</Bucket>