添加字节库
authorliangzhenying <867174124@qq.com>
Tue, 17 Dec 2024 07:28:31 +0000 (15:28 +0800)
committerliangzhenying <867174124@qq.com>
Tue, 17 Dec 2024 07:28:31 +0000 (15:28 +0800)
12 files changed:
MouseSdk/AiMouseSdk/AiMouseSdk.xcodeproj/project.pbxproj
MouseSdk/AiMouseSdk/ByteDance/ByteDanceSdk.h [new file with mode: 0644]
MouseSdk/AiMouseSdk/ByteDance/ByteDanceSdk.m [new file with mode: 0644]
MouseSdk/AiMouseSdk/ByteDance/arm/lib/stb_app.h [new file with mode: 0644]
MouseSdk/AiMouseSdk/ByteDance/arm/lib/stb_identify.a [new file with mode: 0644]
MouseSdk/AiMouseSdk/ByteDance/arm/lib/stb_identify.so [new file with mode: 0644]
MouseSdk/AiMouseSdk/ByteDance/x86_64/lib/stb_app.h [new file with mode: 0644]
MouseSdk/AiMouseSdk/ByteDance/x86_64/lib/stb_identify.a [new file with mode: 0644]
MouseSdk/AiMouseSdk/ByteDance/x86_64/lib/stb_identify.so [new file with mode: 0644]
MouseSdk/AiMouseSdk/Manager/DeviceManger.m
MouseSdk/MouseSdk.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate
MouseSdk/MouseSdk.xcworkspace/xcuserdata/apple.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

index d26c6d8..60fcca3 100644 (file)
                18AD832A2BFB22DE009BDE3B /* AiSender.m in Sources */ = {isa = PBXBuildFile; fileRef = 18AD83282BFB22DE009BDE3B /* AiSender.m */; };
                18D57A022C917385003D5714 /* NMouseSdk.h in Headers */ = {isa = PBXBuildFile; fileRef = 18D57A002C917385003D5714 /* NMouseSdk.h */; };
                18D57A032C917385003D5714 /* NMouseSdk.m in Sources */ = {isa = PBXBuildFile; fileRef = 18D57A012C917385003D5714 /* NMouseSdk.m */; };
+               18E0C58A2D0FF87C0093BA8F /* stb_identify.so in Frameworks */ = {isa = PBXBuildFile; fileRef = 18E0C5872D0FF87C0093BA8F /* stb_identify.so */; };
+               18E0C58B2D0FF87C0093BA8F /* stb_app.h in Headers */ = {isa = PBXBuildFile; fileRef = 18E0C5882D0FF87C0093BA8F /* stb_app.h */; };
+               18E0C58C2D0FF87C0093BA8F /* stb_identify.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 18E0C5892D0FF87C0093BA8F /* stb_identify.a */; };
+               18E0C5922D0FF8E30093BA8F /* stb_identify.so in Frameworks */ = {isa = PBXBuildFile; fileRef = 18E0C58F2D0FF8E30093BA8F /* stb_identify.so */; };
+               18E0C5932D0FF8E40093BA8F /* stb_app.h in Headers */ = {isa = PBXBuildFile; fileRef = 18E0C5902D0FF8E30093BA8F /* stb_app.h */; };
+               18E0C5942D0FF8E40093BA8F /* stb_identify.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 18E0C5912D0FF8E30093BA8F /* stb_identify.a */; };
+               18E0C5972D1000DF0093BA8F /* ByteDanceSdk.h in Headers */ = {isa = PBXBuildFile; fileRef = 18E0C5952D1000DF0093BA8F /* ByteDanceSdk.h */; };
+               18E0C5982D1000DF0093BA8F /* ByteDanceSdk.m in Sources */ = {isa = PBXBuildFile; fileRef = 18E0C5962D1000DF0093BA8F /* ByteDanceSdk.m */; };
                18EF7AF92C7603E800AC5223 /* adpcm.h in Headers */ = {isa = PBXBuildFile; fileRef = 18EF7AEA2C7603E800AC5223 /* adpcm.h */; };
                18EF7AFA2C7603E800AC5223 /* TlwMouseSdk.m in Sources */ = {isa = PBXBuildFile; fileRef = 18EF7AEB2C7603E800AC5223 /* TlwMouseSdk.m */; };
                18EF7AFB2C7603E800AC5223 /* TlwTools.m in Sources */ = {isa = PBXBuildFile; fileRef = 18EF7AEC2C7603E800AC5223 /* TlwTools.m */; };
                188814BC2C85BB76009299A9 /* AiBkzhAuthManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AiBkzhAuthManager.m; sourceTree = "<group>"; };
                188814C02C85C2BA009299A9 /* AESCBCHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AESCBCHelper.h; sourceTree = "<group>"; };
                188814C12C85C2BA009299A9 /* AESCBCHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AESCBCHelper.m; sourceTree = "<group>"; };
-               189365512CEB0C3700023B62 /* libAiMouseSdk copy.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libAiMouseSdk copy.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+               189365512CEB0C3700023B62 /* libAiMouseSdk copy.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libAiMouseSdk copy.a"; path = "/Users/apple/Desktop/code/MouseSdk-MacOS/MouseSdk/AiMouseSdk/build/Debug/libAiMouseSdk copy.a"; sourceTree = "<absolute>"; };
                189365522CEB115200023B62 /* KeyboardHidManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = KeyboardHidManager.h; sourceTree = "<group>"; };
                189365532CEB115200023B62 /* KeyboardHidManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = KeyboardHidManager.m; sourceTree = "<group>"; };
                189365562CEB153000023B62 /* MSUtilis.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MSUtilis.h; sourceTree = "<group>"; };
                18AD83282BFB22DE009BDE3B /* AiSender.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AiSender.m; sourceTree = "<group>"; };
                18D57A002C917385003D5714 /* NMouseSdk.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NMouseSdk.h; sourceTree = "<group>"; };
                18D57A012C917385003D5714 /* NMouseSdk.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NMouseSdk.m; sourceTree = "<group>"; };
+               18E0C5872D0FF87C0093BA8F /* stb_identify.so */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; path = stb_identify.so; sourceTree = "<group>"; };
+               18E0C5882D0FF87C0093BA8F /* stb_app.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stb_app.h; sourceTree = "<group>"; };
+               18E0C5892D0FF87C0093BA8F /* stb_identify.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = stb_identify.a; sourceTree = "<group>"; };
+               18E0C58F2D0FF8E30093BA8F /* stb_identify.so */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; path = stb_identify.so; sourceTree = "<group>"; };
+               18E0C5902D0FF8E30093BA8F /* stb_app.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stb_app.h; sourceTree = "<group>"; };
+               18E0C5912D0FF8E30093BA8F /* stb_identify.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = stb_identify.a; sourceTree = "<group>"; };
+               18E0C5952D1000DF0093BA8F /* ByteDanceSdk.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ByteDanceSdk.h; sourceTree = "<group>"; };
+               18E0C5962D1000DF0093BA8F /* ByteDanceSdk.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ByteDanceSdk.m; sourceTree = "<group>"; };
                18EF7AEA2C7603E800AC5223 /* adpcm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = adpcm.h; sourceTree = "<group>"; };
                18EF7AEB2C7603E800AC5223 /* TlwMouseSdk.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TlwMouseSdk.m; sourceTree = "<group>"; };
                18EF7AEC2C7603E800AC5223 /* TlwTools.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TlwTools.m; sourceTree = "<group>"; };
                        buildActionMask = 2147483647;
                        files = (
                                180E7D152BD8FF5C008558E8 /* liblzma.5.tbd in Frameworks */,
+                               18E0C5942D0FF8E40093BA8F /* stb_identify.a in Frameworks */,
                                180E7D132BD8FF3A008558E8 /* libiconv.tbd in Frameworks */,
                                180E7D112BD8FF11008558E8 /* libbz2.tbd in Frameworks */,
+                               18E0C5922D0FF8E30093BA8F /* stb_identify.so in Frameworks */,
+                               18E0C58C2D0FF87C0093BA8F /* stb_identify.a in Frameworks */,
                                180E7D0F2BD8FEF5008558E8 /* libz.tbd in Frameworks */,
                                180E7D0D2BD8FED8008558E8 /* CoreAudio.framework in Frameworks */,
                                180E7D0B2BD8FEB3008558E8 /* VideoToolbox.framework in Frameworks */,
                                180E7D022BD8FC4F008558E8 /* libavfilter.a in Frameworks */,
                                180E7D012BD8FC4F008558E8 /* libavutil.a in Frameworks */,
                                180E7D032BD8FC4F008558E8 /* libavcodec.a in Frameworks */,
+                               18E0C58A2D0FF87C0093BA8F /* stb_identify.so in Frameworks */,
                                180E7D062BD8FC4F008558E8 /* libswresample.a in Frameworks */,
                                180E7D042BD8FC4F008558E8 /* libavformat.a in Frameworks */,
                        );
                180E7A9D2BD7BB12008558E8 = {
                        isa = PBXGroup;
                        children = (
+                               18E0C5842D0FF84A0093BA8F /* ByteDance */,
                                1899600D2CEAD78B0042505F /* Keyboard */,
                                18D579FF2C91733E003D5714 /* NMouseSdk */,
                                18862A172C8064E300D3564D /* Manager */,
                                180E7AA82BD7BB12008558E8 /* AiMouseSdk */,
                                180E7AA72BD7BB12008558E8 /* Products */,
                                180E7D092BD8FEB2008558E8 /* Frameworks */,
-                               189365512CEB0C3700023B62 /* libAiMouseSdk copy.a */,
                        );
                        sourceTree = "<group>";
                };
                        path = NMouseSdk;
                        sourceTree = "<group>";
                };
+               18E0C5842D0FF84A0093BA8F /* ByteDance */ = {
+                       isa = PBXGroup;
+                       children = (
+                               18E0C58D2D0FF8E30093BA8F /* x86_64 */,
+                               18E0C5852D0FF87C0093BA8F /* arm */,
+                               18E0C5952D1000DF0093BA8F /* ByteDanceSdk.h */,
+                               18E0C5962D1000DF0093BA8F /* ByteDanceSdk.m */,
+                       );
+                       path = ByteDance;
+                       sourceTree = "<group>";
+               };
+               18E0C5852D0FF87C0093BA8F /* arm */ = {
+                       isa = PBXGroup;
+                       children = (
+                               18E0C5862D0FF87C0093BA8F /* lib */,
+                       );
+                       path = arm;
+                       sourceTree = "<group>";
+               };
+               18E0C5862D0FF87C0093BA8F /* lib */ = {
+                       isa = PBXGroup;
+                       children = (
+                               18E0C5872D0FF87C0093BA8F /* stb_identify.so */,
+                               18E0C5882D0FF87C0093BA8F /* stb_app.h */,
+                               18E0C5892D0FF87C0093BA8F /* stb_identify.a */,
+                       );
+                       path = lib;
+                       sourceTree = "<group>";
+               };
+               18E0C58D2D0FF8E30093BA8F /* x86_64 */ = {
+                       isa = PBXGroup;
+                       children = (
+                               18E0C58E2D0FF8E30093BA8F /* lib */,
+                       );
+                       path = x86_64;
+                       sourceTree = "<group>";
+               };
+               18E0C58E2D0FF8E30093BA8F /* lib */ = {
+                       isa = PBXGroup;
+                       children = (
+                               18E0C58F2D0FF8E30093BA8F /* stb_identify.so */,
+                               18E0C5902D0FF8E30093BA8F /* stb_app.h */,
+                               18E0C5912D0FF8E30093BA8F /* stb_identify.a */,
+                       );
+                       path = lib;
+                       sourceTree = "<group>";
+               };
                18EF7AE72C7603E800AC5223 /* TlwMouseSdk */ = {
                        isa = PBXGroup;
                        children = (
                                184A710F2BDA4C050025A332 /* AFHTTPSessionManager.h in Headers */,
                                18EF7B052C7603E800AC5223 /* TlwConnectManager.h in Headers */,
                                180E7CF92BD8FC4F008558E8 /* dirac.h in Headers */,
+                               18E0C5932D0FF8E40093BA8F /* stb_app.h in Headers */,
                                184A71032BDA4C050025A332 /* AFNetworkReachabilityManager.h in Headers */,
                                184A71242BDE2DA60025A332 /* AiSecretModel.h in Headers */,
                                180E7CCF2BD8FC4E008558E8 /* video_enc_params.h in Headers */,
                                180E7CD62BD8FC4E008558E8 /* pixfmt.h in Headers */,
                                18862A262C8064E300D3564D /* BleManager.h in Headers */,
                                180E7CC82BD8FC4E008558E8 /* lzo.h in Headers */,
+                               18E0C58B2D0FF87C0093BA8F /* stb_app.h in Headers */,
                                180E7C9F2BD8FC4E008558E8 /* xtea.h in Headers */,
                                188814BD2C85BB76009299A9 /* AiBkzhAuthManager.h in Headers */,
                                180E7C9C2BD8FC4E008558E8 /* lfg.h in Headers */,
                                180E7CD12BD8FC4E008558E8 /* parseutils.h in Headers */,
                                180E7CEC2BD8FC4E008558E8 /* codec_par.h in Headers */,
                                180E7BE22BD7BD84008558E8 /* AiAudioManager.h in Headers */,
+                               18E0C5972D1000DF0093BA8F /* ByteDanceSdk.h in Headers */,
                                180E7CC52BD8FC4E008558E8 /* rc4.h in Headers */,
                                180E7CB52BD8FC4E008558E8 /* display.h in Headers */,
                                180E7CB22BD8FC4E008558E8 /* tx.h in Headers */,
                                184A710C2BDA4C050025A332 /* AFNetworkReachabilityManager.m in Sources */,
                                180E7BE42BD7BD84008558E8 /* AiRecordManager.m in Sources */,
                                18EF7B042C7603E800AC5223 /* TlwAudioManager.m in Sources */,
+                               18E0C5982D1000DF0093BA8F /* ByteDanceSdk.m in Sources */,
                                189960112CEAD7B50042505F /* KeyboardSdk.m in Sources */,
                                180E7BE72BD7BD84008558E8 /* AiAudioManager.m in Sources */,
                                18EF7AFB2C7603E800AC5223 /* TlwTools.m in Sources */,
                                LIBRARY_SEARCH_PATHS = (
                                        "$(inherited)",
                                        "$(PROJECT_DIR)/AiMouseSdk/ffmpeg/lib",
+                                       "$(PROJECT_DIR)/zijie/arm/lib",
+                                       "$(PROJECT_DIR)/zijie/x86_64/lib",
                                );
                                MACOSX_DEPLOYMENT_TARGET = 13.0;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                                LIBRARY_SEARCH_PATHS = (
                                        "$(inherited)",
                                        "$(PROJECT_DIR)/AiMouseSdk/ffmpeg/lib",
+                                       "$(PROJECT_DIR)/zijie/arm/lib",
+                                       "$(PROJECT_DIR)/zijie/x86_64/lib",
                                );
                                MACOSX_DEPLOYMENT_TARGET = 13.0;
                                PRODUCT_NAME = "$(TARGET_NAME)";
diff --git a/MouseSdk/AiMouseSdk/ByteDance/ByteDanceSdk.h b/MouseSdk/AiMouseSdk/ByteDance/ByteDanceSdk.h
new file mode 100644 (file)
index 0000000..a06ccc9
--- /dev/null
@@ -0,0 +1,18 @@
+//
+//  ByteDanceSdk.h
+//  AiMouseManager
+//
+//  Created by incar on 2024/12/16.
+//
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface ByteDanceSdk : NSObject
+
++(ByteDanceSdk *)shared;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/MouseSdk/AiMouseSdk/ByteDance/ByteDanceSdk.m b/MouseSdk/AiMouseSdk/ByteDance/ByteDanceSdk.m
new file mode 100644 (file)
index 0000000..510a131
--- /dev/null
@@ -0,0 +1,34 @@
+//
+//  ByteDanceSdk.m
+//  AiMouseManager
+//
+//  Created by incar on 2024/12/16.
+//
+
+#import "ByteDanceSdk.h"
+#import "stb_app.h"
+
+@implementation ByteDanceSdk
+
++(ByteDanceSdk *)shared{
+    static ByteDanceSdk *manager = nil;
+    static dispatch_once_t oncePredicate;
+    dispatch_once(&oncePredicate, ^{
+        manager = [[ByteDanceSdk alloc]init];
+        [manager initSdk];
+    });
+    return manager;
+}
+
+- (void)initSdk{
+    NSString *appId = @"";
+    int code = stb_app_init([appId UTF8String]);
+    stb_app_event_callback_register(eventCallBack);
+}
+
+
+static void eventCallBack(uint32_t type,uint8_t *report, uint32_t data_len){
+    NSData *data = [[NSData alloc] initWithBytes:report length:data_len];
+    NSLog(@"type = ,data = %@,data_len = %d",type,data,data_len);
+}
+@end
diff --git a/MouseSdk/AiMouseSdk/ByteDance/arm/lib/stb_app.h b/MouseSdk/AiMouseSdk/ByteDance/arm/lib/stb_app.h
new file mode 100644 (file)
index 0000000..21fb305
--- /dev/null
@@ -0,0 +1,200 @@
+/* Copyright [the year of release] VE Starburst. All rights reserved.
+ *
+ * NOTICE:All information contained herein is, and remains the property of VE
+ * Starburst. The intellectual and technical concepts contained herein are
+ * proprietary to VE Starburst. and may be covered by patents, patents in process,
+ * and are protected by trade secret or copyright law. Dissemination of this
+ * information or reproduction of this material is strictly forbidden unless prior
+ * written permission is obtained from VE Starburst.
+ */
+#ifndef _STB_APP_H_
+#define _STB_APP_H_
+#include <stdint.h>
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+#if (defined(WIN32) || defined(WIN64) || defined(_MSC_VER) || defined(_WIN32))
+#define DLL_EXPORTS __declspec(dllexport) 
+#define STB_STDCALL __stdcall
+#else
+#define DLL_EXPORTS
+#define STB_STDCALL
+#endif
+
+//回调函数TYPE定义
+/* 激活相关TYPE*/
+#define STB_DYNREG_SUCCESS 0xFF000000
+#define STB_DYNREG_FAIL    0xFF000001
+/* MQTT连云相关TYPE*/
+#define STB_MQTT_CONNECT_SUCCESS    0xFF010000
+#define STB_MQTT_CONNECT_FAIL       0xFF010001
+#define STB_MQTT_CONNECT_TIMEOUT    0xFF010002
+#define STB_MQTT_CONNECT_OFFLINE    0xFF010003
+#define STB_MQTT_CONNECT_ONLINE     0xFF010004  
+#define STB_MQTT_CONNECT_STOP       0xFF010005 //认证退出,待设备重新连接后需要重新调用stb_app_start_identify
+
+/*业务数据*/
+#define STB_DM_DATA_ARRIVED_TOKEN                      0xFF020000
+#define STB_DM_DATA_ARRIVED_TOKEN_TIMEOUT   0xFF020001
+#define STB_DM_DATA_ARRIVED_HOST                       0xFF020002
+#define STB_DM_DATA_ARRIVED_PARAMS_SIGN                0xFF020003
+
+
+/* 事件回调函数类型定义 */
+typedef void (STB_STDCALL *stb_event_callback_func)(uint32_t type,uint8_t *data, uint32_t data_len);
+/* 日志打印函数类型定义 */
+typedef void (STB_STDCALL *stb_debug_func)(const char *format,...);
+/* 日志打印函数类型定义 */
+typedef void(STB_STDCALL *stb_debug_only_str_func)(char *str);
+/* 数据发送函数类型定义 */
+typedef int32_t (STB_STDCALL *stb_data_send_to_device)(uint8_t *data, uint32_t len);
+
+
+/*
+ * 函数名称: stb_app_init
+ * 参数:
+ *   - appid: 应用ID,字符串类型
+ * 返回值:
+ *   - 返回一个整数,表示初始化结果
+ * 函数说明:
+ *   - 该函数用于初始化应用,传入应用ID进行初始化操作,appid由字节火山提供。
+ */
+DLL_EXPORTS int STB_STDCALL stb_app_init(char*appid);
+
+/*
+ * 函数名称: stb_app_deinit
+ * 参数:
+ *   - 无
+ * 返回值:
+ *   - 返回一个整数,表示反初始化结果
+ * 函数说明:
+ *   - 该函数用于反初始化应用,释放资源并清理状态。
+ */
+DLL_EXPORTS int STB_STDCALL stb_app_deinit(void);
+
+/*
+ * 函数名称: stb_app_event_callback_register
+ * 参数:
+ *   - callback: 事件回调函数指针
+ * 返回值:
+ *   - 返回一个整数,表示注册结果
+ * 函数说明:
+ *   - 该函数用于注册事件回调函数,当STB_XXX事件发生时,将调用该回调函数。
+ */
+
+DLL_EXPORTS int STB_STDCALL stb_app_event_callback_register(stb_event_callback_func callback);
+
+
+/*
+ * 函数名称: stb_app_printf_register
+ * 参数:
+ *   - print_func: 自定义打印函数,stb_debug_func是带可变参数的
+ * 返回值:
+ *   - 返回一个整数,表示注册结果
+ * 函数说明:
+ *   - 指定日志输出注册函数
+ */
+
+DLL_EXPORTS int STB_STDCALL stb_app_printf_register(stb_debug_func print_func);
+/*
+ * 函数名称: stb_app_printf_str_register
+ * 参数:
+ *   - print_func: 自定义打印函数,与stb_debug_func不同,stb_debug_only_str_func的参数只有char,无可变参数
+ * 返回值:
+ *   - 返回一个整数,表示注册结果
+ * 函数说明:
+ *   - 指定日志输出注册函数,与stb_app_printf_register类似,只需要实现一个函数即可
+ *   - stb_debug_only_str_func 是解决某些平台或者语言可变参数兼容性问题
+ */
+
+DLL_EXPORTS int STB_STDCALL stb_app_printf_str_register(stb_debug_only_str_func print_str_func);
+
+/*
+ * 函数名称: stb_app_send_data_to_device_register
+ * 参数:
+ *   - send_func: 自定义发送数据到蓝牙设备的函数
+
+ * 返回值:
+ *   - 返回一个整数,表示注册结果
+ * 函数说明:
+ *   - SDK需要发送给蓝牙设备的数据通过该API注册,SDK内部会调用该函数发送数据到设备端。
+ */
+DLL_EXPORTS int STB_STDCALL stb_app_send_data_to_device_register(stb_data_send_to_device send_func);
+
+/*
+* 函数名称: stb_app_recv_data_from_device
+* 参数:
+ *   - data: 数据指针
+ *   - len: 数据长度
+ * 返回值:
+ *   - 返回0表示成功,返回-1表示失败
+ * 函数说明:
+ *   - 该函数用于接收从蓝牙设备SDK发送过来的数据,由应用调用,前提是设备已经连上。
+
+*/
+DLL_EXPORTS int32_t STB_STDCALL stb_app_recv_data_from_device(uint8_t *data, uint32_t len);
+
+/*
+ * 函数名称: stb_app_start_identify
+ * 参数:
+ *   - 无
+ * 返回值:
+ *   - 返回一个整数,表示设备识别启动结果
+ * 函数说明:
+ *   - 该函数用于启动设备鉴权过程,由应用调用,前提是设备已经连上边,并且HAL层的收发函数已经对接。
+ */
+DLL_EXPORTS int STB_STDCALL stb_app_start_identify(void);
+
+
+/*
+ * 函数名称: stb_app_stop_identify
+ * 参数:
+ *   - 无
+ * 返回值:
+ *   - 返回一个整数
+ * 函数说明:
+ *   - 该函数用于停止已鉴权流程
+ */
+DLL_EXPORTS int STB_STDCALL stb_app_stop_identify(void);
+
+
+/*
+ * 函数名称: stb_app_set_device_connect_status
+ * 参数:
+ *   - 设备连接状态,1表示已连接,0表示断开。
+ * 返回值:
+ *   - 返回0表示成功,返回-1表示失败
+ * 函数说明:
+ *   - 该函数用于设置设备连接状态,由应用调用,用来通知SDK设备连接状态。
+ */
+DLL_EXPORTS int STB_STDCALL stb_app_set_device_connect_status(uint8_t status);
+
+/*
+ * 函数名称: stb_app_get_token_async
+ * 参数:
+ *   - 无
+ * 返回值:
+ *   - 返回一个整数,表示异步获取令牌结果
+ * 函数说明:
+ *   - 该函数用于异步获取令牌,用于访问AI应用使用。
+ */
+DLL_EXPORTS int STB_STDCALL stb_app_get_token_async();
+
+
+//测试函数,无需调用
+DLL_EXPORTS int STB_STDCALL stb_app_identify_test(uint8_t *pk, uint8_t *dn, uint8_t *ps);
+
+
+//如需使用产线激活,使用该接口
+DLL_EXPORTS char* STB_STDCALL device_register(char* product_key, char* device_name, char* product_secret);
+//如需使用产线激活,使用该接口
+DLL_EXPORTS int STB_STDCALL device_active(char*product_key, char* device_name, char*device_secret);
+
+#if defined(__cplusplus)
+}
+#endif
+
+#endif
+
diff --git a/MouseSdk/AiMouseSdk/ByteDance/arm/lib/stb_identify.a b/MouseSdk/AiMouseSdk/ByteDance/arm/lib/stb_identify.a
new file mode 100644 (file)
index 0000000..dfd8d67
Binary files /dev/null and b/MouseSdk/AiMouseSdk/ByteDance/arm/lib/stb_identify.a differ
diff --git a/MouseSdk/AiMouseSdk/ByteDance/arm/lib/stb_identify.so b/MouseSdk/AiMouseSdk/ByteDance/arm/lib/stb_identify.so
new file mode 100644 (file)
index 0000000..408e324
Binary files /dev/null and b/MouseSdk/AiMouseSdk/ByteDance/arm/lib/stb_identify.so differ
diff --git a/MouseSdk/AiMouseSdk/ByteDance/x86_64/lib/stb_app.h b/MouseSdk/AiMouseSdk/ByteDance/x86_64/lib/stb_app.h
new file mode 100644 (file)
index 0000000..21fb305
--- /dev/null
@@ -0,0 +1,200 @@
+/* Copyright [the year of release] VE Starburst. All rights reserved.
+ *
+ * NOTICE:All information contained herein is, and remains the property of VE
+ * Starburst. The intellectual and technical concepts contained herein are
+ * proprietary to VE Starburst. and may be covered by patents, patents in process,
+ * and are protected by trade secret or copyright law. Dissemination of this
+ * information or reproduction of this material is strictly forbidden unless prior
+ * written permission is obtained from VE Starburst.
+ */
+#ifndef _STB_APP_H_
+#define _STB_APP_H_
+#include <stdint.h>
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+#if (defined(WIN32) || defined(WIN64) || defined(_MSC_VER) || defined(_WIN32))
+#define DLL_EXPORTS __declspec(dllexport) 
+#define STB_STDCALL __stdcall
+#else
+#define DLL_EXPORTS
+#define STB_STDCALL
+#endif
+
+//回调函数TYPE定义
+/* 激活相关TYPE*/
+#define STB_DYNREG_SUCCESS 0xFF000000
+#define STB_DYNREG_FAIL    0xFF000001
+/* MQTT连云相关TYPE*/
+#define STB_MQTT_CONNECT_SUCCESS    0xFF010000
+#define STB_MQTT_CONNECT_FAIL       0xFF010001
+#define STB_MQTT_CONNECT_TIMEOUT    0xFF010002
+#define STB_MQTT_CONNECT_OFFLINE    0xFF010003
+#define STB_MQTT_CONNECT_ONLINE     0xFF010004  
+#define STB_MQTT_CONNECT_STOP       0xFF010005 //认证退出,待设备重新连接后需要重新调用stb_app_start_identify
+
+/*业务数据*/
+#define STB_DM_DATA_ARRIVED_TOKEN                      0xFF020000
+#define STB_DM_DATA_ARRIVED_TOKEN_TIMEOUT   0xFF020001
+#define STB_DM_DATA_ARRIVED_HOST                       0xFF020002
+#define STB_DM_DATA_ARRIVED_PARAMS_SIGN                0xFF020003
+
+
+/* 事件回调函数类型定义 */
+typedef void (STB_STDCALL *stb_event_callback_func)(uint32_t type,uint8_t *data, uint32_t data_len);
+/* 日志打印函数类型定义 */
+typedef void (STB_STDCALL *stb_debug_func)(const char *format,...);
+/* 日志打印函数类型定义 */
+typedef void(STB_STDCALL *stb_debug_only_str_func)(char *str);
+/* 数据发送函数类型定义 */
+typedef int32_t (STB_STDCALL *stb_data_send_to_device)(uint8_t *data, uint32_t len);
+
+
+/*
+ * 函数名称: stb_app_init
+ * 参数:
+ *   - appid: 应用ID,字符串类型
+ * 返回值:
+ *   - 返回一个整数,表示初始化结果
+ * 函数说明:
+ *   - 该函数用于初始化应用,传入应用ID进行初始化操作,appid由字节火山提供。
+ */
+DLL_EXPORTS int STB_STDCALL stb_app_init(char*appid);
+
+/*
+ * 函数名称: stb_app_deinit
+ * 参数:
+ *   - 无
+ * 返回值:
+ *   - 返回一个整数,表示反初始化结果
+ * 函数说明:
+ *   - 该函数用于反初始化应用,释放资源并清理状态。
+ */
+DLL_EXPORTS int STB_STDCALL stb_app_deinit(void);
+
+/*
+ * 函数名称: stb_app_event_callback_register
+ * 参数:
+ *   - callback: 事件回调函数指针
+ * 返回值:
+ *   - 返回一个整数,表示注册结果
+ * 函数说明:
+ *   - 该函数用于注册事件回调函数,当STB_XXX事件发生时,将调用该回调函数。
+ */
+
+DLL_EXPORTS int STB_STDCALL stb_app_event_callback_register(stb_event_callback_func callback);
+
+
+/*
+ * 函数名称: stb_app_printf_register
+ * 参数:
+ *   - print_func: 自定义打印函数,stb_debug_func是带可变参数的
+ * 返回值:
+ *   - 返回一个整数,表示注册结果
+ * 函数说明:
+ *   - 指定日志输出注册函数
+ */
+
+DLL_EXPORTS int STB_STDCALL stb_app_printf_register(stb_debug_func print_func);
+/*
+ * 函数名称: stb_app_printf_str_register
+ * 参数:
+ *   - print_func: 自定义打印函数,与stb_debug_func不同,stb_debug_only_str_func的参数只有char,无可变参数
+ * 返回值:
+ *   - 返回一个整数,表示注册结果
+ * 函数说明:
+ *   - 指定日志输出注册函数,与stb_app_printf_register类似,只需要实现一个函数即可
+ *   - stb_debug_only_str_func 是解决某些平台或者语言可变参数兼容性问题
+ */
+
+DLL_EXPORTS int STB_STDCALL stb_app_printf_str_register(stb_debug_only_str_func print_str_func);
+
+/*
+ * 函数名称: stb_app_send_data_to_device_register
+ * 参数:
+ *   - send_func: 自定义发送数据到蓝牙设备的函数
+
+ * 返回值:
+ *   - 返回一个整数,表示注册结果
+ * 函数说明:
+ *   - SDK需要发送给蓝牙设备的数据通过该API注册,SDK内部会调用该函数发送数据到设备端。
+ */
+DLL_EXPORTS int STB_STDCALL stb_app_send_data_to_device_register(stb_data_send_to_device send_func);
+
+/*
+* 函数名称: stb_app_recv_data_from_device
+* 参数:
+ *   - data: 数据指针
+ *   - len: 数据长度
+ * 返回值:
+ *   - 返回0表示成功,返回-1表示失败
+ * 函数说明:
+ *   - 该函数用于接收从蓝牙设备SDK发送过来的数据,由应用调用,前提是设备已经连上。
+
+*/
+DLL_EXPORTS int32_t STB_STDCALL stb_app_recv_data_from_device(uint8_t *data, uint32_t len);
+
+/*
+ * 函数名称: stb_app_start_identify
+ * 参数:
+ *   - 无
+ * 返回值:
+ *   - 返回一个整数,表示设备识别启动结果
+ * 函数说明:
+ *   - 该函数用于启动设备鉴权过程,由应用调用,前提是设备已经连上边,并且HAL层的收发函数已经对接。
+ */
+DLL_EXPORTS int STB_STDCALL stb_app_start_identify(void);
+
+
+/*
+ * 函数名称: stb_app_stop_identify
+ * 参数:
+ *   - 无
+ * 返回值:
+ *   - 返回一个整数
+ * 函数说明:
+ *   - 该函数用于停止已鉴权流程
+ */
+DLL_EXPORTS int STB_STDCALL stb_app_stop_identify(void);
+
+
+/*
+ * 函数名称: stb_app_set_device_connect_status
+ * 参数:
+ *   - 设备连接状态,1表示已连接,0表示断开。
+ * 返回值:
+ *   - 返回0表示成功,返回-1表示失败
+ * 函数说明:
+ *   - 该函数用于设置设备连接状态,由应用调用,用来通知SDK设备连接状态。
+ */
+DLL_EXPORTS int STB_STDCALL stb_app_set_device_connect_status(uint8_t status);
+
+/*
+ * 函数名称: stb_app_get_token_async
+ * 参数:
+ *   - 无
+ * 返回值:
+ *   - 返回一个整数,表示异步获取令牌结果
+ * 函数说明:
+ *   - 该函数用于异步获取令牌,用于访问AI应用使用。
+ */
+DLL_EXPORTS int STB_STDCALL stb_app_get_token_async();
+
+
+//测试函数,无需调用
+DLL_EXPORTS int STB_STDCALL stb_app_identify_test(uint8_t *pk, uint8_t *dn, uint8_t *ps);
+
+
+//如需使用产线激活,使用该接口
+DLL_EXPORTS char* STB_STDCALL device_register(char* product_key, char* device_name, char* product_secret);
+//如需使用产线激活,使用该接口
+DLL_EXPORTS int STB_STDCALL device_active(char*product_key, char* device_name, char*device_secret);
+
+#if defined(__cplusplus)
+}
+#endif
+
+#endif
+
diff --git a/MouseSdk/AiMouseSdk/ByteDance/x86_64/lib/stb_identify.a b/MouseSdk/AiMouseSdk/ByteDance/x86_64/lib/stb_identify.a
new file mode 100644 (file)
index 0000000..42aba62
Binary files /dev/null and b/MouseSdk/AiMouseSdk/ByteDance/x86_64/lib/stb_identify.a differ
diff --git a/MouseSdk/AiMouseSdk/ByteDance/x86_64/lib/stb_identify.so b/MouseSdk/AiMouseSdk/ByteDance/x86_64/lib/stb_identify.so
new file mode 100644 (file)
index 0000000..375ece8
Binary files /dev/null and b/MouseSdk/AiMouseSdk/ByteDance/x86_64/lib/stb_identify.so differ
index d646e61..433ba2d 100644 (file)
@@ -14,6 +14,7 @@
 #import "AiMouseConfig.h"
 #import "KeyboardHidManager.h"
 #import "KeyboardSdk.h"
+#import "ByteDanceSdk.h"
 
 @interface DeviceManger()<TlwMouseDelegate,AiMouseDelegate,NMouseSdkDelegate,KeyboardSdkDelegate>
 
@@ -53,6 +54,7 @@
         [self setupHid];
         [self setupTimer];
 //        [self setupKeyboard];
+        [[ByteDanceSdk shared] init];
     }
     return self;
 }
index edb1587..d09145a 100644 (file)
Binary files a/MouseSdk/MouseSdk.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate and b/MouseSdk/MouseSdk.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate differ
index c3ddbcd..c572999 100644 (file)
             </Locations>
          </BreakpointContent>
       </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "CA89549A-270E-4CEC-9288-E1E21DC98E28"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "AiMouseSdk/ByteDance/ByteDanceSdk.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "32"
+            endingLineNumber = "32"
+            landmarkName = "eventCallBack(type, report, data_len)"
+            landmarkType = "9">
+         </BreakpointContent>
+      </BreakpointProxy>
    </Breakpoints>
 </Bucket>