接入友盟统计与 U-APM,并优化宣传页打卡点标签交互。

友盟 SDK 改为隐私同意后再初始化;宣传页标签新增滑块位移动画,超过 5 个时选中项自动滚动居中。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-03 09:23:15 +08:00
parent c7f557f361
commit 00c3cd0a93
134 changed files with 6555 additions and 590 deletions

View File

@ -0,0 +1,44 @@
<?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>AvailableLibraries</key>
<array>
<dict>
<key>BinaryPath</key>
<string>UMDevice.framework/UMDevice</string>
<key>LibraryIdentifier</key>
<string>ios-arm64</string>
<key>LibraryPath</key>
<string>UMDevice.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
</dict>
<dict>
<key>BinaryPath</key>
<string>UMDevice.framework/UMDevice</string>
<key>LibraryIdentifier</key>
<string>ios-arm64_x86_64-simulator</string>
<key>LibraryPath</key>
<string>UMDevice.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
</array>
<key>CFBundlePackageType</key>
<string>XFWK</string>
<key>XCFrameworkFormatVersion</key>
<string>1.0</string>
</dict>
</plist>

View File

@ -0,0 +1,398 @@
<?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>files</key>
<dict>
<key>ios-arm64/UMDevice.framework/Headers/UMZid.h</key>
<data>
FwWq4aYkqNXbI+Mq715ieHDOX3o=
</data>
<key>ios-arm64/UMDevice.framework/Info.plist</key>
<data>
OEL3zBY3ux9NW/Ul2DiwnSMby7Q=
</data>
<key>ios-arm64/UMDevice.framework/Modules/module.modulemap</key>
<data>
FquB7QMrpejwC82tPevWkOezrq0=
</data>
<key>ios-arm64/UMDevice.framework/PrivacyInfo.xcprivacy</key>
<data>
O1v6IDcZNKppL1vL3KvUvTmWiHI=
</data>
<key>ios-arm64/UMDevice.framework/UMDevice</key>
<data>
v7Oh7WL5hmGD5eSCVQbp1ZpApVM=
</data>
<key>ios-arm64/UMDevice.framework/_CodeSignature/CodeDirectory</key>
<data>
JVORQZHQ+RwbSJMho9wBUfOr3qw=
</data>
<key>ios-arm64/UMDevice.framework/_CodeSignature/CodeRequirements</key>
<data>
xrQPA/RW7zrJB/qllThSinRlrpI=
</data>
<key>ios-arm64/UMDevice.framework/_CodeSignature/CodeRequirements-1</key>
<data>
ygJ2z+/EqX7jTu66AsQItHCjrM0=
</data>
<key>ios-arm64/UMDevice.framework/_CodeSignature/CodeResources</key>
<data>
eH1/gqt/1OdY04oVi1PcaOTpZ6U=
</data>
<key>ios-arm64/UMDevice.framework/_CodeSignature/CodeSignature</key>
<data>
pMPFaOHHln7lUFcIg+ACx6ILGF8=
</data>
<key>ios-arm64_x86_64-simulator/UMDevice.framework/Headers/UMZid.h</key>
<data>
FwWq4aYkqNXbI+Mq715ieHDOX3o=
</data>
<key>ios-arm64_x86_64-simulator/UMDevice.framework/Info.plist</key>
<data>
rt7xKsw01TT2dUwj75KUdRi+lhU=
</data>
<key>ios-arm64_x86_64-simulator/UMDevice.framework/Modules/module.modulemap</key>
<data>
FquB7QMrpejwC82tPevWkOezrq0=
</data>
<key>ios-arm64_x86_64-simulator/UMDevice.framework/PrivacyInfo.xcprivacy</key>
<data>
O1v6IDcZNKppL1vL3KvUvTmWiHI=
</data>
<key>ios-arm64_x86_64-simulator/UMDevice.framework/UMDevice</key>
<data>
CR8tTd9/KqRuzRZNveQXjN1UROY=
</data>
<key>ios-arm64_x86_64-simulator/UMDevice.framework/_CodeSignature/CodeDirectory</key>
<data>
szMgivlFSZLQ1/+9lpLFHOk/KbY=
</data>
<key>ios-arm64_x86_64-simulator/UMDevice.framework/_CodeSignature/CodeRequirements</key>
<data>
OnX22wWFKRSOFN1+obRynMCeyXM=
</data>
<key>ios-arm64_x86_64-simulator/UMDevice.framework/_CodeSignature/CodeRequirements-1</key>
<data>
g7IH7FK6I2Ii1PIgvD+xqH06P+s=
</data>
<key>ios-arm64_x86_64-simulator/UMDevice.framework/_CodeSignature/CodeResources</key>
<data>
pydrLqjyYyEZIhTKddTolcfywO0=
</data>
<key>ios-arm64_x86_64-simulator/UMDevice.framework/_CodeSignature/CodeSignature</key>
<data>
2jmj7l5rSw0yVb/vlWAYkK/YBwk=
</data>
</dict>
<key>files2</key>
<dict>
<key>ios-arm64/UMDevice.framework/Headers/UMZid.h</key>
<dict>
<key>hash</key>
<data>
FwWq4aYkqNXbI+Mq715ieHDOX3o=
</data>
<key>hash2</key>
<data>
y/xSTyN8Ne6pCfJOEOCiWX/XHKo3k1dsqwmXTWZoeY4=
</data>
</dict>
<key>ios-arm64/UMDevice.framework/Info.plist</key>
<dict>
<key>hash</key>
<data>
OEL3zBY3ux9NW/Ul2DiwnSMby7Q=
</data>
<key>hash2</key>
<data>
dn34PkFMduOIXOTNgNvR0vaKvm75U0eNgenSahCrpRc=
</data>
</dict>
<key>ios-arm64/UMDevice.framework/Modules/module.modulemap</key>
<dict>
<key>hash</key>
<data>
FquB7QMrpejwC82tPevWkOezrq0=
</data>
<key>hash2</key>
<data>
WqA1nN381uNeMomWECLF9SzIRSa1D93YKNiiG5tNO9M=
</data>
</dict>
<key>ios-arm64/UMDevice.framework/PrivacyInfo.xcprivacy</key>
<dict>
<key>hash</key>
<data>
O1v6IDcZNKppL1vL3KvUvTmWiHI=
</data>
<key>hash2</key>
<data>
q5/I4AsZlyseUFBjfeRKU6FmjjuYTz5eWwGtraJKEVs=
</data>
</dict>
<key>ios-arm64/UMDevice.framework/UMDevice</key>
<dict>
<key>hash</key>
<data>
v7Oh7WL5hmGD5eSCVQbp1ZpApVM=
</data>
<key>hash2</key>
<data>
qQh5KYJLOJ4vMRqK0Og/vFwgFI1eq1qLyep7jcX64xQ=
</data>
</dict>
<key>ios-arm64/UMDevice.framework/_CodeSignature/CodeDirectory</key>
<dict>
<key>hash</key>
<data>
JVORQZHQ+RwbSJMho9wBUfOr3qw=
</data>
<key>hash2</key>
<data>
Im+5lyz5P9+jqu8OUlwgsn88a0yWuC3Jmo7uu+lFu4g=
</data>
</dict>
<key>ios-arm64/UMDevice.framework/_CodeSignature/CodeRequirements</key>
<dict>
<key>hash</key>
<data>
xrQPA/RW7zrJB/qllThSinRlrpI=
</data>
<key>hash2</key>
<data>
zr09pl5YiIWxkm3BFjlJhU5XsrMftrifNRKu99E907A=
</data>
</dict>
<key>ios-arm64/UMDevice.framework/_CodeSignature/CodeRequirements-1</key>
<dict>
<key>hash</key>
<data>
ygJ2z+/EqX7jTu66AsQItHCjrM0=
</data>
<key>hash2</key>
<data>
NzI/AOOpEPKWL2H50bSVRebZAdQAZ5AnUO78OFR3PtY=
</data>
</dict>
<key>ios-arm64/UMDevice.framework/_CodeSignature/CodeResources</key>
<dict>
<key>hash</key>
<data>
eH1/gqt/1OdY04oVi1PcaOTpZ6U=
</data>
<key>hash2</key>
<data>
eTEnQwBs7jjGOmq9nzgLKR8/zWSZl2gm/akBMo8LbHE=
</data>
</dict>
<key>ios-arm64/UMDevice.framework/_CodeSignature/CodeSignature</key>
<dict>
<key>hash</key>
<data>
pMPFaOHHln7lUFcIg+ACx6ILGF8=
</data>
<key>hash2</key>
<data>
ShUDBIKw0Fz89Cs1X2tLvDtdSNR1PntyTXhyxMttZBA=
</data>
</dict>
<key>ios-arm64_x86_64-simulator/UMDevice.framework/Headers/UMZid.h</key>
<dict>
<key>hash</key>
<data>
FwWq4aYkqNXbI+Mq715ieHDOX3o=
</data>
<key>hash2</key>
<data>
y/xSTyN8Ne6pCfJOEOCiWX/XHKo3k1dsqwmXTWZoeY4=
</data>
</dict>
<key>ios-arm64_x86_64-simulator/UMDevice.framework/Info.plist</key>
<dict>
<key>hash</key>
<data>
rt7xKsw01TT2dUwj75KUdRi+lhU=
</data>
<key>hash2</key>
<data>
W3njg4CLk1pSx+RHWlKgeQsCk/hOSfFJZG+66Cp5Wxk=
</data>
</dict>
<key>ios-arm64_x86_64-simulator/UMDevice.framework/Modules/module.modulemap</key>
<dict>
<key>hash</key>
<data>
FquB7QMrpejwC82tPevWkOezrq0=
</data>
<key>hash2</key>
<data>
WqA1nN381uNeMomWECLF9SzIRSa1D93YKNiiG5tNO9M=
</data>
</dict>
<key>ios-arm64_x86_64-simulator/UMDevice.framework/PrivacyInfo.xcprivacy</key>
<dict>
<key>hash</key>
<data>
O1v6IDcZNKppL1vL3KvUvTmWiHI=
</data>
<key>hash2</key>
<data>
q5/I4AsZlyseUFBjfeRKU6FmjjuYTz5eWwGtraJKEVs=
</data>
</dict>
<key>ios-arm64_x86_64-simulator/UMDevice.framework/UMDevice</key>
<dict>
<key>hash</key>
<data>
CR8tTd9/KqRuzRZNveQXjN1UROY=
</data>
<key>hash2</key>
<data>
9+EjGgEsCe6LzZbg7FJO1/ncEje3wfG/3DygGM1kLYU=
</data>
</dict>
<key>ios-arm64_x86_64-simulator/UMDevice.framework/_CodeSignature/CodeDirectory</key>
<dict>
<key>hash</key>
<data>
szMgivlFSZLQ1/+9lpLFHOk/KbY=
</data>
<key>hash2</key>
<data>
CU+qBQThvj0K1WsqIc+jaJ8gg16FH1caqwDPk8FymH8=
</data>
</dict>
<key>ios-arm64_x86_64-simulator/UMDevice.framework/_CodeSignature/CodeRequirements</key>
<dict>
<key>hash</key>
<data>
OnX22wWFKRSOFN1+obRynMCeyXM=
</data>
<key>hash2</key>
<data>
mHkgkE6rZQ51eIwFSqCwUk5qgL/HGqMt+NI3phdD+YY=
</data>
</dict>
<key>ios-arm64_x86_64-simulator/UMDevice.framework/_CodeSignature/CodeRequirements-1</key>
<dict>
<key>hash</key>
<data>
g7IH7FK6I2Ii1PIgvD+xqH06P+s=
</data>
<key>hash2</key>
<data>
LCZR4Vh3/Y55BryWvNz9i/fikXZk5H9QPWlE1uqPxZw=
</data>
</dict>
<key>ios-arm64_x86_64-simulator/UMDevice.framework/_CodeSignature/CodeResources</key>
<dict>
<key>hash</key>
<data>
pydrLqjyYyEZIhTKddTolcfywO0=
</data>
<key>hash2</key>
<data>
rGsXhwSm5bCNnmrSw92ZomOO4VMGWnkRaKZqmzJZZhI=
</data>
</dict>
<key>ios-arm64_x86_64-simulator/UMDevice.framework/_CodeSignature/CodeSignature</key>
<dict>
<key>hash</key>
<data>
2jmj7l5rSw0yVb/vlWAYkK/YBwk=
</data>
<key>hash2</key>
<data>
47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=
</data>
</dict>
</dict>
<key>rules</key>
<dict>
<key>^.*</key>
<true/>
<key>^.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^version.plist$</key>
<true/>
</dict>
<key>rules2</key>
<dict>
<key>.*\.dSYM($|/)</key>
<dict>
<key>weight</key>
<real>11</real>
</dict>
<key>^(.*/)?\.DS_Store$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>2000</real>
</dict>
<key>^.*</key>
<true/>
<key>^.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^Info\.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^PkgInfo$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^embedded\.provisionprofile$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^version\.plist$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
</dict>
</dict>
</plist>

View File

@ -0,0 +1,33 @@
//
// UMZid.h
// UMZid
//
// Created by UMZid on 8/29/20.
// Copyright © 2020 UMZid. All rights reserved.
// v3.6.0
#import <Foundation/Foundation.h>
@interface UMZid : NSObject
/// SDK初始化异步请求uToken
/// @param appkey appkey
/// @param completion 请求uToken的回调uToken为返回值如果失败uToken为空字符串@“”
+ (void)initWithAppKey:(NSString *)appkey completion:(void (^)(NSString *uToken))completion;
/// 同步获得uToken失败返回空字符串@“”
+ (NSString *)getZID;
/// 获取SDK版本号
+ (NSString *)getSDKVersion;
/// 获得resetToken
+ (NSString *)getResetToken;
/// 获得at
+ (NSString *)getATStr;
/// 配置自定义域名(需在初始化之前设置,本地会缓存)
/// @param domain 域名字符串 如https://www.xxxxxx.com
+ (void)configureDomain:(NSString *)domain;
@end

View File

@ -0,0 +1,6 @@
framework module UMZid {
umbrella header "UMZid.h"
export *
module * { export * }
}

View File

@ -0,0 +1,33 @@
<?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>NSPrivacyAccessedAPITypes</key>
<array>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>CA92.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryDiskSpace</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>E174.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>C617.1</string>
</array>
</dict>
</array>
</dict>
</plist>

View File

@ -0,0 +1,147 @@
<?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>files</key>
<dict>
<key>Headers/UMZid.h</key>
<data>
FwWq4aYkqNXbI+Mq715ieHDOX3o=
</data>
<key>Info.plist</key>
<data>
OEL3zBY3ux9NW/Ul2DiwnSMby7Q=
</data>
<key>Modules/module.modulemap</key>
<data>
FquB7QMrpejwC82tPevWkOezrq0=
</data>
<key>PrivacyInfo.xcprivacy</key>
<data>
O1v6IDcZNKppL1vL3KvUvTmWiHI=
</data>
</dict>
<key>files2</key>
<dict>
<key>Headers/UMZid.h</key>
<dict>
<key>hash</key>
<data>
FwWq4aYkqNXbI+Mq715ieHDOX3o=
</data>
<key>hash2</key>
<data>
y/xSTyN8Ne6pCfJOEOCiWX/XHKo3k1dsqwmXTWZoeY4=
</data>
</dict>
<key>Modules/module.modulemap</key>
<dict>
<key>hash</key>
<data>
FquB7QMrpejwC82tPevWkOezrq0=
</data>
<key>hash2</key>
<data>
WqA1nN381uNeMomWECLF9SzIRSa1D93YKNiiG5tNO9M=
</data>
</dict>
<key>PrivacyInfo.xcprivacy</key>
<dict>
<key>hash</key>
<data>
O1v6IDcZNKppL1vL3KvUvTmWiHI=
</data>
<key>hash2</key>
<data>
q5/I4AsZlyseUFBjfeRKU6FmjjuYTz5eWwGtraJKEVs=
</data>
</dict>
</dict>
<key>rules</key>
<dict>
<key>^.*</key>
<true/>
<key>^.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^version.plist$</key>
<true/>
</dict>
<key>rules2</key>
<dict>
<key>.*\.dSYM($|/)</key>
<dict>
<key>weight</key>
<real>11</real>
</dict>
<key>^(.*/)?\.DS_Store$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>2000</real>
</dict>
<key>^.*</key>
<true/>
<key>^.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^Info\.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^PkgInfo$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^embedded\.provisionprofile$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^version\.plist$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
</dict>
</dict>
</plist>

View File

@ -0,0 +1,33 @@
//
// UMZid.h
// UMZid
//
// Created by UMZid on 8/29/20.
// Copyright © 2020 UMZid. All rights reserved.
// v3.6.0
#import <Foundation/Foundation.h>
@interface UMZid : NSObject
/// SDK初始化异步请求uToken
/// @param appkey appkey
/// @param completion 请求uToken的回调uToken为返回值如果失败uToken为空字符串@“”
+ (void)initWithAppKey:(NSString *)appkey completion:(void (^)(NSString *uToken))completion;
/// 同步获得uToken失败返回空字符串@“”
+ (NSString *)getZID;
/// 获取SDK版本号
+ (NSString *)getSDKVersion;
/// 获得resetToken
+ (NSString *)getResetToken;
/// 获得at
+ (NSString *)getATStr;
/// 配置自定义域名(需在初始化之前设置,本地会缓存)
/// @param domain 域名字符串 如https://www.xxxxxx.com
+ (void)configureDomain:(NSString *)domain;
@end

View File

@ -0,0 +1,6 @@
framework module UMZid {
umbrella header "UMZid.h"
export *
module * { export * }
}

View File

@ -0,0 +1,33 @@
<?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>NSPrivacyAccessedAPITypes</key>
<array>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>CA92.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryDiskSpace</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>E174.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>C617.1</string>
</array>
</dict>
</array>
</dict>
</plist>

View File

@ -0,0 +1,147 @@
<?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>files</key>
<dict>
<key>Headers/UMZid.h</key>
<data>
FwWq4aYkqNXbI+Mq715ieHDOX3o=
</data>
<key>Info.plist</key>
<data>
rt7xKsw01TT2dUwj75KUdRi+lhU=
</data>
<key>Modules/module.modulemap</key>
<data>
FquB7QMrpejwC82tPevWkOezrq0=
</data>
<key>PrivacyInfo.xcprivacy</key>
<data>
O1v6IDcZNKppL1vL3KvUvTmWiHI=
</data>
</dict>
<key>files2</key>
<dict>
<key>Headers/UMZid.h</key>
<dict>
<key>hash</key>
<data>
FwWq4aYkqNXbI+Mq715ieHDOX3o=
</data>
<key>hash2</key>
<data>
y/xSTyN8Ne6pCfJOEOCiWX/XHKo3k1dsqwmXTWZoeY4=
</data>
</dict>
<key>Modules/module.modulemap</key>
<dict>
<key>hash</key>
<data>
FquB7QMrpejwC82tPevWkOezrq0=
</data>
<key>hash2</key>
<data>
WqA1nN381uNeMomWECLF9SzIRSa1D93YKNiiG5tNO9M=
</data>
</dict>
<key>PrivacyInfo.xcprivacy</key>
<dict>
<key>hash</key>
<data>
O1v6IDcZNKppL1vL3KvUvTmWiHI=
</data>
<key>hash2</key>
<data>
q5/I4AsZlyseUFBjfeRKU6FmjjuYTz5eWwGtraJKEVs=
</data>
</dict>
</dict>
<key>rules</key>
<dict>
<key>^.*</key>
<true/>
<key>^.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^version.plist$</key>
<true/>
</dict>
<key>rules2</key>
<dict>
<key>.*\.dSYM($|/)</key>
<dict>
<key>weight</key>
<real>11</real>
</dict>
<key>^(.*/)?\.DS_Store$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>2000</real>
</dict>
<key>^.*</key>
<true/>
<key>^.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^Info\.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^PkgInfo$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^embedded\.provisionprofile$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^version\.plist$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
</dict>
</dict>
</plist>