From: liangzhenying <867174124@qq.com> Date: Thu, 2 Jan 2025 10:06:01 +0000 (+0800) Subject: 字节兼容usb模式、修复断开连接后无法再次鉴权bug X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=a07e0b6226e72c2fa47e05d7a123b43c9a4bd369;p=mirrors%2FMouseSdk-MacOS.git 字节兼容usb模式、修复断开连接后无法再次鉴权bug --- diff --git a/MouseSdk/AiMouseSdk/AiMouseSdk.xcodeproj/xcuserdata/yaozuopan.xcuserdatad/xcschemes/xcschememanagement.plist b/MouseSdk/AiMouseSdk/AiMouseSdk.xcodeproj/xcuserdata/yaozuopan.xcuserdatad/xcschemes/xcschememanagement.plist index 64bd978..27157b9 100644 --- a/MouseSdk/AiMouseSdk/AiMouseSdk.xcodeproj/xcuserdata/yaozuopan.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/MouseSdk/AiMouseSdk/AiMouseSdk.xcodeproj/xcuserdata/yaozuopan.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,7 +7,7 @@ AiMouseSdk copy.xcscheme_^#shared#^_ orderHint - 2 + 4 AiMouseSdk.xcscheme_^#shared#^_ diff --git a/MouseSdk/AiMouseSdk/AiMouseSdk/AiMouseSdk.m b/MouseSdk/AiMouseSdk/AiMouseSdk/AiMouseSdk.m index b860527..fd5fabf 100644 --- a/MouseSdk/AiMouseSdk/AiMouseSdk/AiMouseSdk.m +++ b/MouseSdk/AiMouseSdk/AiMouseSdk/AiMouseSdk.m @@ -153,12 +153,13 @@ [ws switchConnect:ws.connectType isConnected:false]; return; } - if ([DeviceManger shared].appType == 2 || [DeviceManger shared].appType == 4) { - [self.byteSdk startAuth:^(ByteDanceInfo *info) { +// if ([DeviceManger shared].appType == 2 || [DeviceManger shared].appType == 4) { + if (([DeviceManger shared].appType == 2 || [DeviceManger shared].appType == 4) && ws.byteSdk.info == nil) { + [ws.byteSdk startAuth:^(ByteDanceInfo *info) { deviceInfo.byteAuthInfo = info; [ws showLog:deviceInfo.description]; - if([self.delegate respondsToSelector:@selector(aiMouseConnectStateDidChange:)]) [self.delegate aiMouseConnectStateDidChange:self.connected]; - if(self.delegate) [self.delegate aiMouseAuthenticationResult:true]; + if([ws.delegate respondsToSelector:@selector(aiMouseConnectStateDidChange:)]) [ws.delegate aiMouseConnectStateDidChange:ws.connected]; + if(ws.delegate) [ws.delegate aiMouseAuthenticationResult:true]; }]; } else{ diff --git a/MouseSdk/AiMouseSdk/ByteDance/ByteDanceSdk.m b/MouseSdk/AiMouseSdk/ByteDance/ByteDanceSdk.m index 53e565e..c4deac4 100644 --- a/MouseSdk/AiMouseSdk/ByteDance/ByteDanceSdk.m +++ b/MouseSdk/AiMouseSdk/ByteDance/ByteDanceSdk.m @@ -55,10 +55,15 @@ - (void)checkAuthSuccess{ if (self.info.urlParams && self.info.expireTime && self.info.token && self.info.host) { - if(self.byteDanceAuthInfoCallback)self.byteDanceAuthInfoCallback(self.info); - stb_app_stop_identify(); + if(self.byteDanceAuthInfoCallback){ + self.byteDanceAuthInfoCallback(self.info); + } +// [self performSelector:@selector(stopAuth) withObject:nil afterDelay:5]; } } +- (void)stopAuth{ + stb_app_stop_identify(); +} - (void)sendCmdToBle:(NSDictionary *)dict{ NSData *data = [AiMouseTools dictionaryToData:dict]; NSString *str = [AiMouseTools dataToUtf8String:data]; @@ -202,10 +207,19 @@ int32_t STB_STDCALL cus_hal_send_data2device(uint8_t* data, uint32_t len) NSMutableData *fullData = [[NSMutableData alloc] init]; uint8_t head[] = { 0x2d, 0x24, 0x24}; - uint8_t tail[] = {0x24, 0x24,0x2d,0x0a}; + uint8_t tail[] = {0x24, 0x24,0x2d}; [fullData appendBytes:&head length:3]; [fullData appendData:cmdData]; [fullData appendBytes:&tail length:3]; + + if (fullData.length < 64) { + NSInteger len = 64 - fullData.length; + for (NSInteger i = 0; i < len; i++) { + uint8_t d = 0x00; + [fullData appendBytes:&d length:1]; + } + } + [[AiMouse shared] sendToBle:fullData]; return 0; } diff --git a/MouseSdk/AiMouseSdk/Manager/DeviceManger.m b/MouseSdk/AiMouseSdk/Manager/DeviceManger.m index 18a936a..2f0617f 100644 --- a/MouseSdk/AiMouseSdk/Manager/DeviceManger.m +++ b/MouseSdk/AiMouseSdk/Manager/DeviceManger.m @@ -54,7 +54,7 @@ // [self setupBle]; // [self setupHid]; // [self setupTimer]; - self.version = @"MouseSdk_v2024122602"; + self.version = @"MouseSdk_v2025010301"; } return self; } @@ -296,6 +296,7 @@ } ///获取设备信息 - (void)getDeviceInfo:(void (^)(AiMouseDeviceInfo *deviceInfo,NSError *error))finished{ + [self showLog:@"app主动获取设备信息 。。。"]; if(self.productType == AiMouseProductType_keyboard){ [self.kbSdk getDeviceInfo:finished]; } diff --git a/MouseSdk/AiMouseSdk/Manager/HidManager.m b/MouseSdk/AiMouseSdk/Manager/HidManager.m index 22e4532..fde3c58 100644 --- a/MouseSdk/AiMouseSdk/Manager/HidManager.m +++ b/MouseSdk/AiMouseSdk/Manager/HidManager.m @@ -12,7 +12,7 @@ #import #import #import "AiDeviceAuthManager.h" - +#import "TlwTools.h" @interface HidManager () @property(nonatomic, assign) IOHIDManagerRef hidManager;///hid管理 @property(nonatomic, assign) IOHIDDeviceRef deviceInfoCha;//设备信息通道 @@ -199,7 +199,7 @@ static void hidReceiveData(void* context, IOReturn result, void* sender, IOHIDRe } else{ NSData *data1 = [[NSData alloc] initWithBytes:report length:reportLength]; - // [[HidManager shared] showLog:[NSString stringWithFormat:@"receive = %@",data1]]; + [[HidManager shared] showLog:[NSString stringWithFormat:@"收到usb = %@",[TlwTools dataToHexString:data1]]]; NSInteger len = get_data_len(report, reportLength); NSData *data = [[NSData alloc] initWithBytes:report length:len]; @@ -288,12 +288,22 @@ static void hidReceiveData(void* context, IOReturn result, void* sender, IOHIDRe if(self.logCallBack) self.logCallBack(text); } +///// 实际到数据长度 +//static inline int get_data_len(uint8_t *buf, u_long len) { +// if (len <= 0 ) return 0; +// int url_len = 0; +// while (buf[url_len] != 0x00) url_len++; +// return url_len; +//} + /// 实际到数据长度 -static inline int get_data_len(uint8_t *buf, u_long len) { +static inline int get_data_len(uint8_t *buf, int len) { if (len <= 0 ) return 0; - int url_len = 0; - while (buf[url_len] != 0x00) url_len++; - return url_len; + int end = len - 1; + while (end >= 0 && (buf[end] == 0 || buf[end - 1] == 0)) { + end--; + } + return end + 1; } /// 获取对应属性值 diff --git a/MouseSdk/MouseSdk.xcworkspace/xcuserdata/yaozuopan.xcuserdatad/UserInterfaceState.xcuserstate b/MouseSdk/MouseSdk.xcworkspace/xcuserdata/yaozuopan.xcuserdatad/UserInterfaceState.xcuserstate index d68a1e1..16c4631 100644 Binary files a/MouseSdk/MouseSdk.xcworkspace/xcuserdata/yaozuopan.xcuserdatad/UserInterfaceState.xcuserstate and b/MouseSdk/MouseSdk.xcworkspace/xcuserdata/yaozuopan.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/MouseSdk/MouseSdk.xcworkspace/xcuserdata/yaozuopan.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/MouseSdk/MouseSdk.xcworkspace/xcuserdata/yaozuopan.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index ab46afa..81258ac 100644 --- a/MouseSdk/MouseSdk.xcworkspace/xcuserdata/yaozuopan.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/MouseSdk/MouseSdk.xcworkspace/xcuserdata/yaozuopan.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -5,19 +5,15 @@ version = "2.0"> + BreakpointExtensionID = "Xcode.Breakpoint.ExceptionBreakpoint"> + breakpointStackSelectionBehavior = "1" + scope = "1" + stopOnStyle = "0"> diff --git a/MouseSdk/MouseSdk/ViewController.m b/MouseSdk/MouseSdk/ViewController.m index 14ba3ae..2dfccfa 100644 --- a/MouseSdk/MouseSdk/ViewController.m +++ b/MouseSdk/MouseSdk/ViewController.m @@ -93,8 +93,8 @@ #pragma mark - action - (void)setupDeviceManger{ DeviceManger *manager = [DeviceManger shared]; - [manager initSdk:1]; - manager.debugLevel = 1; + [manager initSdk:2]; + manager.debugLevel = 2; __weak typeof(self) ws = self; // manager.aiMouseAddLogCallBack = ^(NSString * _Nonnull log) { diff --git a/MouseSdk/Pods/Pods.xcodeproj/xcuserdata/yaozuopan.xcuserdatad/xcschemes/xcschememanagement.plist b/MouseSdk/Pods/Pods.xcodeproj/xcuserdata/yaozuopan.xcuserdatad/xcschemes/xcschememanagement.plist index 30f1cdd..c230d1a 100644 --- a/MouseSdk/Pods/Pods.xcodeproj/xcuserdata/yaozuopan.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/MouseSdk/Pods/Pods.xcodeproj/xcuserdata/yaozuopan.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,12 +7,12 @@ Masonry.xcscheme_^#shared#^_ orderHint - 3 + 2 Pods-MouseSdk.xcscheme_^#shared#^_ orderHint - 4 + 3