From: liangzhenying <867174124@qq.com> Date: Thu, 13 Jun 2024 09:46:14 +0000 (+0800) Subject: 修复录音模式下鉴权失败bug X-Git-Tag: 千寻适配d9~53 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=dc60157bf8e0f6a4dd1a914f495afc02fff3a950;p=mirrors%2FMouseSdk-MacOS.git 修复录音模式下鉴权失败bug --- diff --git "a/Document/MouseSdk\346\226\207\346\241\243/\351\211\264\346\235\203\346\265\201\347\250\213.pdf" "b/Document/MouseSdk\346\226\207\346\241\243/\351\230\277\351\207\214\351\211\264\346\235\203\346\265\201\347\250\213.pdf" similarity index 100% rename from "Document/MouseSdk\346\226\207\346\241\243/\351\211\264\346\235\203\346\265\201\347\250\213.pdf" rename to "Document/MouseSdk\346\226\207\346\241\243/\351\230\277\351\207\214\351\211\264\346\235\203\346\265\201\347\250\213.pdf" diff --git a/MouseSdk/AiMouseSdk/AiMouseSdk/AiDeviceInfoManager.m b/MouseSdk/AiMouseSdk/AiMouseSdk/AiDeviceInfoManager.m index 706d610..c614aad 100644 --- a/MouseSdk/AiMouseSdk/AiMouseSdk/AiDeviceInfoManager.m +++ b/MouseSdk/AiMouseSdk/AiMouseSdk/AiDeviceInfoManager.m @@ -106,31 +106,31 @@ - (void)setCmdCallBack:(NSDictionary *)dict sender:(AiSender *)sender{ if([dict[kSetCmd_Value] intValue] == 1){ if ([sender.sendDict objectForKey:kSetCPI_Key]) { - self.setCPIBlock(true, nil); + if(self.setCPIBlock)self.setCPIBlock(true, nil); return; } if ([sender.sendDict objectForKey:kSetBrand_Key]) { - self.setBrandBlock(true, nil); + if(self.setBrandBlock)self.setBrandBlock(true, nil); return; } if([sender.sendDict objectForKey:kSetDeviceSecret_Key]){ - self.setDsBlock(true); + if(self.setDsBlock)self.setDsBlock(true); return; } if([sender.sendDict objectForKey:kSetRecordMode_Key]){ - self.setRecordModeBlock(true, nil); + if(self.setRecordModeBlock)self.setRecordModeBlock(true, nil); return; } if([sender.sendDict objectForKey:kSetUrl_Key]){ - self.setUrlBlock(true, nil); + if(self.setUrlBlock)self.setUrlBlock(true, nil); return; } if([sender.sendDict objectForKey:kSetUrlActive_Key]){ - self.setUrlActiveBlock(true, nil); + if(self.setUrlActiveBlock)self.setUrlActiveBlock(true, nil); return; } if([sender.sendDict objectForKey:kSetMouseModel_Key]){ - self.setMouseModelBlock(true, nil); + if(self.setMouseModelBlock)self.setMouseModelBlock(true, nil); return; } if ([[sender.sendDict objectForKey:kCmd_Key] isKindOfClass:[NSString class]] && [[sender.sendDict objectForKey:kCmd_Key] isEqualTo:@"open_record"]){ @@ -145,31 +145,31 @@ else{ NSError *err = [NSError errorWithDomain:@"AiMouse SDK Error" code:AiMouseErrorCode_unknown userInfo:@{@"NSLocalizedDescriptionKey":@"请求失败"}]; if ([sender.sendDict objectForKey:kSetCPI_Key]) { - self.setCPIBlock(false, err); + if(self.setCPIBlock)self.setCPIBlock(false, err); return; } if ([sender.sendDict objectForKey:kSetBrand_Key]) { - self.setBrandBlock(false, err); + if(self.setBrandBlock)self.setBrandBlock(false, err); return; } if ([sender.sendDict objectForKey:kSetDeviceSecret_Key]){ - self.setDsBlock(false); + if(self.setDsBlock)self.setDsBlock(false); return; } if([sender.sendDict objectForKey:kSetRecordMode_Key]){ - self.setRecordModeBlock(false, err); + if(self.setRecordModeBlock)self.setRecordModeBlock(false, err); return; } if([sender.sendDict objectForKey:kSetUrl_Key]){ - self.setUrlBlock(false, err); + if(self.setUrlBlock)self.setUrlBlock(false, err); return; } if([sender.sendDict objectForKey:kSetUrlActive_Key]){ - self.setUrlActiveBlock(false, err); + if(self.setUrlActiveBlock)self.setUrlActiveBlock(false, err); return; } if([sender.sendDict objectForKey:kSetMouseModel_Key]){ - self.setMouseModelBlock(false, err); + if(self.setMouseModelBlock)self.setMouseModelBlock(false, err); return; } if ([[sender.sendDict objectForKey:kCmd_Key] isKindOfClass:[NSString class]] && [[sender.sendDict objectForKey:kCmd_Key] isEqualTo:@"open_record"]){ @@ -394,31 +394,31 @@ NSError *err = [NSError errorWithDomain:@"AiMouse SDK Error" code:AiMouseErrorCode_timeOut userInfo:@{@"NSLocalizedDescriptionKey":@"请求超时"}]; if ([sender.sendDict objectForKey:kSetCPI_Key]) { - self.setCPIBlock(false, err); + if(self.setCPIBlock)self.setCPIBlock(false, err); return; } if ([sender.sendDict objectForKey:kSetBrand_Key]) { - self.setBrandBlock(false, err); + if(self.setBrandBlock)self.setBrandBlock(false, err); return; } if ([sender.sendDict objectForKey:kSetDeviceSecret_Key]){ - self.setDsBlock(false); + if(self.setDsBlock)self.setDsBlock(false); return; } if([sender.sendDict objectForKey:kSetRecordMode_Key]){ - self.setRecordModeBlock(false, err); + if(self.setRecordModeBlock)self.setRecordModeBlock(false, err); return; } if([sender.sendDict objectForKey:kSetUrl_Key]){ - self.setUrlBlock(false, err); + if(self.setUrlBlock)self.setUrlBlock(false, err); return; } if([sender.sendDict objectForKey:kSetUrlActive_Key]){ - self.setUrlActiveBlock(false, err); + if(self.setUrlActiveBlock)self.setUrlActiveBlock(false, err); return; } if([sender.sendDict objectForKey:kSetMouseModel_Key]){ - self.setMouseModelBlock(false, err); + if(self.setMouseModelBlock)self.setMouseModelBlock(false, err); return; } if ([cmd isEqualTo:@"open_record"]){ diff --git a/MouseSdk/AiMouseSdk/AiMouseSdk/AiMouseSdk.m b/MouseSdk/AiMouseSdk/AiMouseSdk/AiMouseSdk.m index 66decb0..4b23745 100644 --- a/MouseSdk/AiMouseSdk/AiMouseSdk/AiMouseSdk.m +++ b/MouseSdk/AiMouseSdk/AiMouseSdk/AiMouseSdk.m @@ -64,7 +64,7 @@ } -(NSString *)version{ - return @"1.0.29"; + return @"1.0.30"; } -(AiDeviceInfoManager *)deviceInfoManager{ @@ -180,6 +180,7 @@ if (self.authState != AiMouseAuthState_Success){ [self showLog:@"设备还未鉴权!!!"]; + [self checkAuthState]; return; } if(self.connectType == AiMouseConnectType_hid){ @@ -225,7 +226,7 @@ [self showLog:[NSString stringWithFormat:@"[receive][device] %@",data]]; if (self.connected == false) { if([AiMouseTools dataToHexString:data].length < 10){ - if (self.delegate) [self.delegate hidDataError]; + if (self.delegate && [self.delegate respondsToSelector:@selector(hidDataError)]) [self.delegate hidDataError]; return; } } @@ -342,7 +343,7 @@ // [self showLog:@"设备还未鉴权!!!"]; // return; // }; - [self showLog:[NSString stringWithFormat:@"[audio] %@",data]]; +// [self showLog:[NSString stringWithFormat:@"[audio] %@",data]]; if (self.delegate) [self.delegate aiMouseSendRecordData:data]; } - (void)sendCmdData:(NSData *)data{ @@ -363,7 +364,7 @@ }); } - (void)showLog:(NSString *)log{ - if (self.delegate) { + if (self.delegate && [self.delegate respondsToSelector:@selector(aiMouseAddLog:)]) { [self.delegate aiMouseAddLog:log]; } if(self.logLevel == AiMouseLogLevel_info){ @@ -408,9 +409,6 @@ } _connected = connected; if([self.delegate respondsToSelector:@selector(aiMouseConnectStateDidChange:)]) [self.delegate aiMouseConnectStateDidChange:connected]; -// [self showLog:[NSString stringWithFormat:@"状态改变 = %@",@(connected)]]; - -// [self checkAuthState]; } -(void)aiConnectManagerReSendData:(AiConnectManager *)manager{ __weak typeof(self) ws = self; diff --git a/MouseSdk/AiMouseSdk/AiMouseSdk/AiMouseTools.h b/MouseSdk/AiMouseSdk/AiMouseSdk/AiMouseTools.h index f2c12bf..ee45155 100644 --- a/MouseSdk/AiMouseSdk/AiMouseSdk/AiMouseTools.h +++ b/MouseSdk/AiMouseSdk/AiMouseSdk/AiMouseTools.h @@ -31,6 +31,8 @@ NS_ASSUME_NONNULL_BEGIN + (NSString *)stringTomd5:(NSString *)str; + (NSString *)stringToHmacSha1:(NSString*)key text:(NSString*)text; + ++ (NSString *)MD5ForUpper32:(NSString *)str; @end NS_ASSUME_NONNULL_END diff --git a/MouseSdk/AiMouseSdk/AiMouseSdk/AiMouseTools.m b/MouseSdk/AiMouseSdk/AiMouseSdk/AiMouseTools.m index ac44f26..189985d 100644 --- a/MouseSdk/AiMouseSdk/AiMouseSdk/AiMouseTools.m +++ b/MouseSdk/AiMouseSdk/AiMouseSdk/AiMouseTools.m @@ -150,5 +150,18 @@ hash = output; return hash; } + ++ (NSString *)MD5ForUpper32:(NSString *)str { + const char* input = [str UTF8String]; + unsigned char result[CC_MD5_DIGEST_LENGTH]; + CC_MD5(input, (CC_LONG)strlen(input), result); + // 'CC_MD5' is deprecated: first deprecated in iOS 13.0 - This function is cryptographically broken and should not be used in security contexts. Clients should migrate to SHA256 (or stronger). + NSMutableString *digest = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2]; + for (NSInteger i = 0; i < CC_MD5_DIGEST_LENGTH; i++) { + [digest appendFormat:@"%02X", result[i]]; + } + + return digest; +} @end diff --git a/MouseSdk/AiMouseSdk/AiMouseSdk/AiMouseTools2.h b/MouseSdk/AiMouseSdk/AiMouseSdk/AiMouseTools2.h index 99393e4..11e0ec0 100644 --- a/MouseSdk/AiMouseSdk/AiMouseSdk/AiMouseTools2.h +++ b/MouseSdk/AiMouseSdk/AiMouseSdk/AiMouseTools2.h @@ -12,6 +12,7 @@ NS_ASSUME_NONNULL_BEGIN @interface AiMouseTools2 : NSObject + (NSString *)fixDeviceData:(NSString *)str; + @end NS_ASSUME_NONNULL_END diff --git a/MouseSdk/MouseSdk.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate b/MouseSdk/MouseSdk.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate index 4c03716..4741d5a 100644 Binary files a/MouseSdk/MouseSdk.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate and b/MouseSdk/MouseSdk.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate differ