From 128c00989c1134eb21f56181d0231ff771b7d2b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A5=9D=E5=8F=91=E5=86=AC?= Date: Tue, 5 Sep 2023 19:09:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=AD=E6=96=87=E5=92=8Ceps=E7=9A=84?= =?UTF-8?q?=E5=B9=BF=E6=92=AD=E5=9C=B0=E5=9D=80=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ifish.xcodeproj/project.pbxproj | 4 ++-- Ifish/ESPTouch/task/ESPTouchTaskParameter.m | 3 ++- Ifish/airkiss/JMAirKissConnection.m | 6 +----- Ifish/airkiss/JMAirKissEncoder.m | 11 ++++++++--- 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/Ifish.xcodeproj/project.pbxproj b/Ifish.xcodeproj/project.pbxproj index 9f7c9bc..3512949 100644 --- a/Ifish.xcodeproj/project.pbxproj +++ b/Ifish.xcodeproj/project.pbxproj @@ -16101,7 +16101,7 @@ CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 10; + CURRENT_PROJECT_VERSION = 11; DEVELOPMENT_TEAM = WFX8GD5HFX; ENABLE_BITCODE = NO; ENABLE_TESTABILITY = YES; @@ -16221,7 +16221,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 10; + CURRENT_PROJECT_VERSION = 11; DEVELOPMENT_TEAM = WFX8GD5HFX; ENABLE_BITCODE = NO; ENABLE_TESTABILITY = YES; diff --git a/Ifish/ESPTouch/task/ESPTouchTaskParameter.m b/Ifish/ESPTouch/task/ESPTouchTaskParameter.m index 2408d85..3172d74 100644 --- a/Ifish/ESPTouch/task/ESPTouchTaskParameter.m +++ b/Ifish/ESPTouch/task/ESPTouchTaskParameter.m @@ -150,7 +150,8 @@ static int _datagramCount = 0; if (self.broadcast) { NSString *localInetAddr4 = [ESP_NetUtil getLocalIPv4]; NSArray *arr = [localInetAddr4 componentsSeparatedByString:@"."]; - return [NSString stringWithFormat:@"%@.%@.%@.255",arr[0], arr[1], arr[2]]; + //[NSString stringWithFormat:@"%@.%@.%@.255",arr[0], arr[1], arr[2]]; + return @"255.255.255.255"; } else { int count = [self __getNextDatagramCount]; return [NSString stringWithFormat: @"234.%d.%d.%d", count, count, count]; diff --git a/Ifish/airkiss/JMAirKissConnection.m b/Ifish/airkiss/JMAirKissConnection.m index 6e2e044..36e9bbf 100644 --- a/Ifish/airkiss/JMAirKissConnection.m +++ b/Ifish/airkiss/JMAirKissConnection.m @@ -77,11 +77,7 @@ */ - (void)connectAirKissWithSSID:(NSString *)ssidStr password:(NSString *)password { - //处理中文的情况 - if([self validateContainsChinese:ssidStr]) - { - ssidStr = [ssidStr stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]]; - } + NSMutableArray *dataArray = [_airKissEncoder createAirKissEncorderWithSSID:ssidStr ? :@"" password:password ? :@""]; diff --git a/Ifish/airkiss/JMAirKissEncoder.m b/Ifish/airkiss/JMAirKissEncoder.m index 46cbdcd..9442c2e 100644 --- a/Ifish/airkiss/JMAirKissEncoder.m +++ b/Ifish/airkiss/JMAirKissEncoder.m @@ -91,7 +91,12 @@ */ - (void)getMagicCodeWithSSID:(NSString *)ssid password:(NSString *)password { - UInt8 length = ssid.length + password.length + 1; + + NSUInteger numberOfBytes = [ssid lengthOfBytesUsingEncoding:NSUTF8StringEncoding]; + Byte bytes[numberOfBytes]; + NSRange range = NSMakeRange(0, numberOfBytes); + [ssid getBytes:bytes maxLength:numberOfBytes usedLength:nil encoding:NSUTF8StringEncoding options:0 range:range remainingRange:NULL]; + UInt8 length = numberOfBytes + password.length + 1; UInt8 magicCode[4] = {0x00,0x00,0x00,0x00}; magicCode[0] = 0x00 | (length >> 4 & 0xF); @@ -101,8 +106,8 @@ magicCode[1] = 0x10 | (length & 0xF); - UInt8 *cipherBuffer = (UInt8*)[ssid UTF8String]; - UInt8 crc8 = CRC8(cipherBuffer, (int)ssid.length); + UInt8 *cipherBuffer = (UInt8*)bytes; + UInt8 crc8 = CRC8(cipherBuffer, (int)numberOfBytes); magicCode[2] = 0x20 | (crc8 >> 4 & 0xF); magicCode[3] = 0x30 | (crc8 & 0xF);