Просмотр исходного кода

修改: 增加 Privacy Manifest

tags/v1.9.0^0
larryzhang 11 месяцев назад
Родитель
Сommit
a862973b98

+ 8
- 4
AILinkBleSDKDemo.xcodeproj/project.pbxproj Просмотреть файл

@@ -11,6 +11,8 @@
78350BB729D282A300456695 /* libBhBodyComposition120.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 78350BB429D282A300456695 /* libBhBodyComposition120.a */; };
78350BBB29D2869000456695 /* BodyScaleVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 78350BB929D2869000456695 /* BodyScaleVC.m */; };
78350BBD29D28C1200456695 /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = 78350BBC29D28C1200456695 /* README.md */; };
78AC3B2B2C0D994900A62C61 /* PrivacyInfo.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 78AC3B2A2C0D994900A62C61 /* PrivacyInfo.bundle */; };
78AC3B2D2C0D996A00A62C61 /* AILinkBleSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 78AC3B2C2C0D996A00A62C61 /* AILinkBleSDK.framework */; };
78B153AD2AD16A5000C81229 /* ELWIFIBloodPressureVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 78B153AB2AD16A5000C81229 /* ELWIFIBloodPressureVC.xib */; };
78B153AE2AD16A5000C81229 /* ELWIFIBloodPressureVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 78B153AC2AD16A5000C81229 /* ELWIFIBloodPressureVC.m */; };
78DC4DE32990FB2E006C6911 /* ELDemoScanVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 78DC4DDE2990FB2E006C6911 /* ELDemoScanVC.xib */; };
@@ -32,7 +34,6 @@
78E07B7D2A49664E00E68200 /* ELMeatProbeBoxBleParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 78E07B752A49664E00E68200 /* ELMeatProbeBoxBleParser.m */; };
78E07B7E2A49664E00E68200 /* MeatProbeBoxVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 78E07B782A49664E00E68200 /* MeatProbeBoxVC.xib */; };
78E07B7F2A49664E00E68200 /* MeatProbeBoxVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 78E07B792A49664E00E68200 /* MeatProbeBoxVC.m */; };
952D19A1276DE80000ED3A0C /* AILinkBleSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 952D19A0276DE80000ED3A0C /* AILinkBleSDK.framework */; };
95565B792786EA3B000265EA /* SkipConnectionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 95565B752786EA3B000265EA /* SkipConnectionViewController.m */; };
95565B7A2786EA3B000265EA /* SkipScanViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 95565B782786EA3B000265EA /* SkipScanViewController.m */; };
95572623276C38CD003BFBAC /* BloodConnectViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 955725BC276C38CC003BFBAC /* BloodConnectViewController.m */; };
@@ -125,6 +126,8 @@
78350BB929D2869000456695 /* BodyScaleVC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BodyScaleVC.m; sourceTree = "<group>"; };
78350BBA29D2869000456695 /* BodyScaleVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BodyScaleVC.h; sourceTree = "<group>"; };
78350BBC29D28C1200456695 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
78AC3B2A2C0D994900A62C61 /* PrivacyInfo.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = PrivacyInfo.bundle; sourceTree = "<group>"; };
78AC3B2C2C0D996A00A62C61 /* AILinkBleSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = AILinkBleSDK.framework; sourceTree = "<group>"; };
78B153AA2AD16A5000C81229 /* ELWIFIBloodPressureVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ELWIFIBloodPressureVC.h; sourceTree = "<group>"; };
78B153AB2AD16A5000C81229 /* ELWIFIBloodPressureVC.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ELWIFIBloodPressureVC.xib; sourceTree = "<group>"; };
78B153AC2AD16A5000C81229 /* ELWIFIBloodPressureVC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ELWIFIBloodPressureVC.m; sourceTree = "<group>"; };
@@ -160,7 +163,6 @@
78E07B772A49664E00E68200 /* MeatProbeBoxVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MeatProbeBoxVC.h; sourceTree = "<group>"; };
78E07B782A49664E00E68200 /* MeatProbeBoxVC.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MeatProbeBoxVC.xib; sourceTree = "<group>"; };
78E07B792A49664E00E68200 /* MeatProbeBoxVC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MeatProbeBoxVC.m; sourceTree = "<group>"; };
952D19A0276DE80000ED3A0C /* AILinkBleSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = AILinkBleSDK.framework; sourceTree = "<group>"; };
95565B752786EA3B000265EA /* SkipConnectionViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SkipConnectionViewController.m; sourceTree = "<group>"; };
95565B762786EA3B000265EA /* SkipScanViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SkipScanViewController.h; sourceTree = "<group>"; };
95565B772786EA3B000265EA /* SkipConnectionViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SkipConnectionViewController.h; sourceTree = "<group>"; };
@@ -315,7 +317,7 @@
buildActionMask = 2147483647;
files = (
78350BB329D2826900456695 /* libHTBodyfat_SDK.a in Frameworks */,
952D19A1276DE80000ED3A0C /* AILinkBleSDK.framework in Frameworks */,
78AC3B2D2C0D996A00A62C61 /* AILinkBleSDK.framework in Frameworks */,
78350BB729D282A300456695 /* libBhBodyComposition120.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -383,7 +385,8 @@
788D914026A2E5380009489E /* SDK */ = {
isa = PBXGroup;
children = (
952D19A0276DE80000ED3A0C /* AILinkBleSDK.framework */,
78AC3B2C2C0D996A00A62C61 /* AILinkBleSDK.framework */,
78AC3B2A2C0D994900A62C61 /* PrivacyInfo.bundle */,
);
name = SDK;
sourceTree = "<group>";
@@ -958,6 +961,7 @@
78DC4DE32990FB2E006C6911 /* ELDemoScanVC.xib in Resources */,
E622E26E243F1CA6003C319D /* LaunchScreen.storyboard in Resources */,
E622E26B243F1CA6003C319D /* Assets.xcassets in Resources */,
78AC3B2B2C0D994900A62C61 /* PrivacyInfo.bundle in Resources */,
78DC4DF62990FB40006C6911 /* ELDeviceScanCell.xib in Resources */,
78E07B7B2A49664E00E68200 /* MeatProbeVC.xib in Resources */,
78350BBD29D28C1200456695 /* README.md in Resources */,

Двоичные данные
AILinkBleSDKDemo/AILinkBleSDK.framework/AILinkBleSDK Просмотреть файл


+ 1
- 1
AILinkBleSDKDemo/AILinkBleSDK.framework/Headers/AILinkBleSDK_Version.h Просмотреть файл

@@ -9,6 +9,6 @@
#define AILinkBleSDK_Version_h

//版本号 SDK Version
#define AiLinkBleSDKVersion @"1.8.0" // 20240323
#define AiLinkBleSDKVersion @"1.9.0" // 20240603

#endif /* AILinkBleSDK_Version_h */

+ 6
- 1
AILinkBleSDKDemo/AILinkBleSDK.framework/Headers/ELAILinkBleManager.h Просмотреть файл

@@ -72,7 +72,12 @@ NS_ASSUME_NONNULL_BEGIN
- (void)scanFilterWithCidArray:(NSArray<NSNumber *> *)cidArray;
- (void)scanFilterWithMacArray:(NSArray<NSString *> *)macArray;
- (void)scanFilterWithCidArray:(NSArray<NSNumber *> *)cidArray macArray:(NSArray<NSString *> *)macArray;
- (void)scanAllowDuplicatesFilterWithCidArray:(NSArray<NSNumber *> *)cidArray macArray:(NSArray *)macArray;
- (void)scanAllowDuplicatesFilterWithCidArray:(NSArray<NSNumber *> *)cidArray macArray:(NSArray<NSString *> *)macArray;

// 新扫描方法
- (void)scanWithServices:(NSArray<CBUUID *> *)serviceUUIDs options:(NSDictionary<NSString *, id> * _Nullable)options;
- (void)setFilterCids:(NSArray<NSNumber *> *)cids;
- (void)setFilterMacs:(NSArray<NSString *> *)macs;

// 获取当前连接到系统的 peripheral 设备的列表(如被其它程序连接着)
- (NSArray<CBPeripheral *> *)retrieveConnectedPeripherals;

+ 2
- 0
AILinkBleSDKDemo/AILinkBleSDK.framework/Headers/ELAILinkBleManagerProtocol.h Просмотреть файл

@@ -34,6 +34,8 @@ NS_ASSUME_NONNULL_BEGIN

- (void)managerDidUpdateConnect:(NELBleManagerConnectState)state;

- (void)managerDidDisconnectError:(NSError * __nullable)error;

//服务 & 特征
- (void)peripheralDidDiscoverServices:(NSArray<CBService *> *)services;


+ 2
- 2
AILinkBleSDKDemo/AILinkBleSDK.framework/Headers/ELBloodBleSDKHeader.h Просмотреть файл

@@ -18,8 +18,8 @@
#define BloodUnit_mmhg AiLinkBloodUnit_mmHgStr
#define BloodUnit_kPa AiLinkBloodUnit_kPaStr

#define kPa_To_mmHg(kPa) kPa*7.5006168270417
#define mmHg_To_kPa(mmHg) mmHg/7.5006168270417
#define kPa_To_mmHg(kPa) (kPa*7.5006168270417)
#define mmHg_To_kPa(mmHg) (mmHg/7.5006168270417)

//type of data(数据类型)
typedef NS_ENUM(NSUInteger, ELBloodBleDataModelType) {

+ 5
- 0
AILinkBleSDKDemo/AILinkBleSDK.framework/Headers/ELBodyFatScaleBleManager.h Просмотреть файл

@@ -21,6 +21,10 @@ NS_ASSUME_NONNULL_BEGIN

/**Callback all body fat scales detected( 回调扫描到的所有体脂秤 )*/
- (void)bodyFatScaleManagerScanDevices:(NSArray<ELBodyFatScaleDeviceModel *> *)scaleDevices;

/// 回调透传数据
- (void)bodyFatScaleManagerReceivePassData:(NSData *)data;

#pragma mark 回调A7指令数据

/**
@@ -121,6 +125,7 @@ MCU requests user information( MCU 请求用户信息)

+ (ELBodyFatScaleBleManager *)shareManager;

@property (nonatomic, assign, getter=isManualSendReceivedDataResult) BOOL manualSendReceivedDataResult;

#pragma mark ============ 下发A7指令 ==============
- (void)changeBodyFatScaleUnit:(ELDeviceWeightUnit)unit;

+ 5
- 0
AILinkBleSDKDemo/AILinkBleSDK.framework/Headers/ELBodyIndexAlgorithmModel.h Просмотреть файл

@@ -228,6 +228,11 @@ NS_ASSUME_NONNULL_BEGIN
/// @param weightUnit 体重单位
+ (NSArray<NSString *> *)getWeightScopeHeight:(NSString *)height weightUnit:(ELDeviceWeightUnit)weightUnit;

/// 骨骼肌量 标准判断2个临界值 单位KG
/// @param sex 性别
/// @param age 年龄
+ (NSArray<NSString *> *)getSkeletalMuscleMassScopeSex:(PHSex)sex age:(float)age;

#pragma mark ============ 判断标准数组 ==============
//四肢肌肉指数标准词条
+(NSArray<NSNumber *> *)getLimbMuscleIndexStandardArray;

+ 11
- 0
AILinkBleSDKDemo/AILinkBleSDK.framework/Headers/ELEightScaleBleDataModel.h Просмотреть файл

@@ -48,6 +48,17 @@ NS_ASSUME_NONNULL_BEGIN
//time(时间)
@property (nonatomic, assign) long long createTime;

@property (nonatomic, assign)unsigned int hz20leftHandAdc;//Left hand impedance(左手阻抗)
@property (nonatomic, assign)unsigned int hz20rightHandAdc;//Right hand impedance(右手阻抗)
@property (nonatomic, assign)unsigned int hz20leftFootAdc;//Left foot impedance(左脚阻抗)
@property (nonatomic, assign)unsigned int hz20rightFootAdc;//Right foot impedance(右脚阻抗)
@property (nonatomic, assign)unsigned int hz20trunkAdc;//Torso impedance(躯干阻抗)

@property (nonatomic, assign)unsigned int hz100leftHandAdc;//Left hand impedance(左手阻抗)
@property (nonatomic, assign)unsigned int hz100rightHandAdc;//Right hand impedance(右手阻抗)
@property (nonatomic, assign)unsigned int hz100leftFootAdc;//Left foot impedance(左脚阻抗)
@property (nonatomic, assign)unsigned int hz100rightFootAdc;//Right foot impedance(右脚阻抗)
@property (nonatomic, assign)unsigned int hz100trunkAdc;//Torso impedance(躯干阻抗)

@end


+ 9
- 3
AILinkBleSDKDemo/AILinkBleSDK.framework/Headers/ELEightScaleBleManager.h Просмотреть файл

@@ -80,17 +80,18 @@ NS_ASSUME_NONNULL_BEGIN
//回调透传数
- (void)eightScaleBleReceivePassData:(NSData *)data;

///MCU请求补全体脂数据
- (void)eightScaleBleCompletionBodyFatData;

@end

@interface ELEightScaleBleManager : ELBluetoothManager
//Current measurement status(当前测量状态)
@property (nonatomic, assign) EightScaleTestStatus testStatus;


@property (nonatomic, weak) id<EightScaleBleDeletegate> eightScaleDelegate;



+(instancetype)shareManager;


@@ -100,6 +101,12 @@ NS_ASSUME_NONNULL_BEGIN
/// @param unit Weight unit(体重单位)
-(void)eightScaleSwitchWeightUnit:(ELDeviceWeightUnit)unit;

///双频八电级
/// Switch weight unit(切换体重单位)
/// @param unit Weight unit(体重单位)
-(void)doubleEightScaleSwitchWeightUnit:(ELDeviceWeightUnit)unit;


/// Switch temperature unit(切换温度单位)
/// @param unit Temperature unit(温度单位)
-(void)eightScaleSwitchTempUnit:(ELDeviceTemperatureUnit)unit;
@@ -113,7 +120,6 @@ NS_ASSUME_NONNULL_BEGIN

/** 下发操作指令 */
- (void)eightScaleSendOperationWithType:(enum EightScaleOperationType)type unit:(NSInteger)unit;

@end

NS_ASSUME_NONNULL_END

+ 5
- 0
AILinkBleSDKDemo/AILinkBleSDK.framework/Headers/ELEightScaleSDKHeader.h Просмотреть файл

@@ -117,6 +117,9 @@ typedef NS_ENUM(NSUInteger, EightScale_MCU_HeadType) {
/** 发送体脂数据 */
EightScale_MCU_HeadType_ReportBodyFatData = 0x09 ,
/** 发送请求补全体脂数据 */
EightScale_MCU_HeadType_CompletionBodyFatData = 0x0E ,
/** 发送测量完成 */
EightScale_MCU_HeadType_ReportCompleted = 0x0F ,
@@ -131,6 +134,8 @@ typedef NS_ENUM(NSUInteger, EightScale_MCU_HeadType) {
/** 设备上发错误码 */
EightScale_MCU_HeadType_ReportErrorCode = 0xFF ,
};

//Character(角色) 同四电极体脂秤枚举

Двоичные данные
AILinkBleSDKDemo/AILinkBleSDK.framework/Info.plist Просмотреть файл


Двоичные данные
AILinkBleSDKDemo/AILinkBleSDK.framework/PrivacyInfo.bundle/Info.plist Просмотреть файл


+ 14
- 0
AILinkBleSDKDemo/AILinkBleSDK.framework/PrivacyInfo.bundle/PrivacyInfo.xcprivacy Просмотреть файл

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrivacyTracking</key>
<false/>
<key>NSPrivacyCollectedDataTypes</key>
<array/>
<key>NSPrivacyTrackingDomains</key>
<array/>
<key>NSPrivacyAccessedAPITypes</key>
<array/>
</dict>
</plist>

Двоичные данные
AILinkBleSDKDemo/PrivacyInfo.bundle/Info.plist Просмотреть файл


+ 14
- 0
AILinkBleSDKDemo/PrivacyInfo.bundle/PrivacyInfo.xcprivacy Просмотреть файл

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrivacyTracking</key>
<false/>
<key>NSPrivacyCollectedDataTypes</key>
<array/>
<key>NSPrivacyTrackingDomains</key>
<array/>
<key>NSPrivacyAccessedAPITypes</key>
<array/>
</dict>
</plist>

+ 1
- 0
README.md Просмотреть файл

@@ -13,4 +13,5 @@
| 1.6.1 | 20230626 | larry | 修改 增加 广播身高仪 食物探针 食物探针盒子 支持 |
| 1.7.0 | 20231007 | larry | 修改 增加 WIFI_BLE 血压计 支持 |
| 1.8.0 | 20240313 | larry | 修改 增加 readRSSI 接口 |
| 1.9.0 | 20240603 | larry | 修改 增加 Privacy Manifest |


Загрузка…
Отмена
Сохранить