增加换肤功能

This commit is contained in:
启星
2025-08-14 09:40:25 +08:00
parent 8065693d4c
commit 9a6659045d
24 changed files with 446 additions and 79 deletions

View File

@@ -12,7 +12,9 @@
95C29EA62E19166700F2524D /* QXLiveScreen.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 95C29E9D2E19166700F2524D /* QXLiveScreen.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
95C29EAB2E19173300F2524D /* AgoraReplayKitExtension.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95C292A42E18ED0C00F2524D /* AgoraReplayKitExtension.xcframework */; };
95C29EAD2E191D6800F2524D /* ReplayKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95C2925B2E18BBF800F2524D /* ReplayKit.framework */; };
95C304262E4A05E3004B2D82 /* QXLiveScreen.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 95C29E9D2E19166700F2524D /* QXLiveScreen.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
95C327442E4C4068004B2D82 /* AgoraReplayKitExtension.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95C292A42E18ED0C00F2524D /* AgoraReplayKitExtension.xcframework */; };
95C327452E4C4068004B2D82 /* ReplayKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95C2925B2E18BBF800F2524D /* ReplayKit.framework */; };
95C327502E4C40AB004B2D82 /* QXLiveScreenDev.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 95C3274A2E4C4068004B2D82 /* QXLiveScreenDev.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
95C3EFEF2E49F44A004B2D82 /* ReplayKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95C2925B2E18BBF800F2524D /* ReplayKit.framework */; };
95C3EFF02E49F44A004B2D82 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 95F205062DEF0AD20031E710 /* libz.tbd */; };
95C3EFF12E49F44A004B2D82 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95F205042DEF0AC20031E710 /* CoreTelephony.framework */; };
@@ -58,12 +60,12 @@
remoteGlobalIDString = 95C29E9C2E19166700F2524D;
remoteInfo = QXLiveScreen;
};
95C304242E4A05D7004B2D82 /* PBXContainerItemProxy */ = {
95C3274E2E4C4099004B2D82 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 9593D70F2DB9C95C0082CA57 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 95C29E9C2E19166700F2524D;
remoteInfo = QXLiveScreen;
remoteGlobalIDString = 95C327412E4C4068004B2D82;
remoteInfo = QXLiveScreenDev;
};
/* End PBXContainerItemProxy section */
@@ -85,7 +87,7 @@
dstPath = "";
dstSubfolderSpec = 13;
files = (
95C304262E4A05E3004B2D82 /* QXLiveScreen.appex in Embed Foundation Extensions */,
95C327502E4C40AB004B2D82 /* QXLiveScreenDev.appex in Embed Foundation Extensions */,
);
name = "Embed Foundation Extensions";
runOnlyForDeploymentPostprocessing = 0;
@@ -106,6 +108,8 @@
95C292AB2E18ED4A00F2524D /* MetalKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MetalKit.framework; path = System/Library/Frameworks/MetalKit.framework; sourceTree = SDKROOT; };
95C292AE2E18ED6300F2524D /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
95C29E9D2E19166700F2524D /* QXLiveScreen.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = QXLiveScreen.appex; sourceTree = BUILT_PRODUCTS_DIR; };
95C3274A2E4C4068004B2D82 /* QXLiveScreenDev.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = QXLiveScreenDev.appex; sourceTree = BUILT_PRODUCTS_DIR; };
95C3274C2E4C4068004B2D82 /* QXLiveScreen copy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "QXLiveScreen copy-Info.plist"; path = "/Users/qixing/Desktop/项目/羽声/featherVoice/QXLiveScreen copy-Info.plist"; sourceTree = "<absolute>"; };
95C3F0022E49F44A004B2D82 /* QXLiveDev.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = QXLiveDev.app; sourceTree = BUILT_PRODUCTS_DIR; };
95F204FA2DEF0AA10031E710 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
95F204FC2DEF0AAC0031E710 /* libiconv.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libiconv.tbd; path = usr/lib/libiconv.tbd; sourceTree = SDKROOT; };
@@ -136,6 +140,13 @@
);
target = 95C29E9C2E19166700F2524D /* QXLiveScreen */;
};
95C3274B2E4C4068004B2D82 /* Exceptions for "QXLiveScreen" folder in "QXLiveScreenDev" target */ = {
isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
membershipExceptions = (
Info.plist,
);
target = 95C327412E4C4068004B2D82 /* QXLiveScreenDev */;
};
95C3F0032E49F44A004B2D82 /* Exceptions for "QXLive" folder in "QXLiveDev" target */ = {
isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
membershipExceptions = (
@@ -179,6 +190,7 @@
exceptions = (
95C29EAA2E19166700F2524D /* Exceptions for "QXLiveScreen" folder in "QXLiveScreen" target */,
95C3F25C2E49F646004B2D82 /* Exceptions for "QXLiveScreen" folder in "QXLiveDev" target */,
95C3274B2E4C4068004B2D82 /* Exceptions for "QXLiveScreen" folder in "QXLiveScreenDev" target */,
);
path = QXLiveScreen;
sourceTree = "<group>";
@@ -227,6 +239,15 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
95C327432E4C4068004B2D82 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
95C327442E4C4068004B2D82 /* AgoraReplayKitExtension.xcframework in Frameworks */,
95C327452E4C4068004B2D82 /* ReplayKit.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
95C3EFEE2E49F44A004B2D82 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
@@ -293,6 +314,7 @@
9593D7182DB9C95C0082CA57 /* Products */,
2B243E5E8CFE9B1EF0A08846 /* Pods */,
4B6F40DB8328A2B2BB1BF79D /* Frameworks */,
95C3274C2E4C4068004B2D82 /* QXLiveScreen copy-Info.plist */,
);
sourceTree = "<group>";
};
@@ -304,6 +326,7 @@
9593D73C2DB9C95E0082CA57 /* QXLiveUITests.xctest */,
95C29E9D2E19166700F2524D /* QXLiveScreen.appex */,
95C3F0022E49F44A004B2D82 /* QXLiveDev.app */,
95C3274A2E4C4068004B2D82 /* QXLiveScreenDev.appex */,
);
name = Products;
sourceTree = "<group>";
@@ -398,6 +421,26 @@
productReference = 95C29E9D2E19166700F2524D /* QXLiveScreen.appex */;
productType = "com.apple.product-type.app-extension";
};
95C327412E4C4068004B2D82 /* QXLiveScreenDev */ = {
isa = PBXNativeTarget;
buildConfigurationList = 95C327472E4C4068004B2D82 /* Build configuration list for PBXNativeTarget "QXLiveScreenDev" */;
buildPhases = (
95C327422E4C4068004B2D82 /* Sources */,
95C327432E4C4068004B2D82 /* Frameworks */,
95C327462E4C4068004B2D82 /* Resources */,
);
buildRules = (
);
dependencies = (
);
fileSystemSynchronizedGroups = (
95C29E9F2E19166700F2524D /* QXLiveScreen */,
);
name = QXLiveScreenDev;
productName = QXLiveScreen;
productReference = 95C3274A2E4C4068004B2D82 /* QXLiveScreenDev.appex */;
productType = "com.apple.product-type.app-extension";
};
95C3EFE92E49F44A004B2D82 /* QXLiveDev */ = {
isa = PBXNativeTarget;
buildConfigurationList = 95C3EFFF2E49F44A004B2D82 /* Build configuration list for PBXNativeTarget "QXLiveDev" */;
@@ -413,7 +456,7 @@
buildRules = (
);
dependencies = (
95C304252E4A05D7004B2D82 /* PBXTargetDependency */,
95C3274F2E4C4099004B2D82 /* PBXTargetDependency */,
);
fileSystemSynchronizedGroups = (
9593D7192DB9C95C0082CA57 /* QXLive */,
@@ -470,6 +513,7 @@
9593D73B2DB9C95E0082CA57 /* QXLiveUITests */,
95C29E9C2E19166700F2524D /* QXLiveScreen */,
95C3EFE92E49F44A004B2D82 /* QXLiveDev */,
95C327412E4C4068004B2D82 /* QXLiveScreenDev */,
);
};
/* End PBXProject section */
@@ -503,6 +547,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
95C327462E4C4068004B2D82 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
95C3EFFA2E49F44A004B2D82 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
@@ -656,6 +707,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
95C327422E4C4068004B2D82 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
95C3EFED2E49F44A004B2D82 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
@@ -681,10 +739,10 @@
target = 95C29E9C2E19166700F2524D /* QXLiveScreen */;
targetProxy = 95C29EA42E19166700F2524D /* PBXContainerItemProxy */;
};
95C304252E4A05D7004B2D82 /* PBXTargetDependency */ = {
95C3274F2E4C4099004B2D82 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 95C29E9C2E19166700F2524D /* QXLiveScreen */;
targetProxy = 95C304242E4A05D7004B2D82 /* PBXContainerItemProxy */;
target = 95C327412E4C4068004B2D82 /* QXLiveScreenDev */;
targetProxy = 95C3274E2E4C4099004B2D82 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
@@ -698,7 +756,7 @@
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = QXLive/QXLive.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 2;
CURRENT_PROJECT_VERSION = 3;
DEVELOPMENT_TEAM = 8798G5VMH9;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
FRAMEWORK_SEARCH_PATHS = (
@@ -733,7 +791,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0.3;
MARKETING_VERSION = 1.1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.qxcm.qxlive;
PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
@@ -758,7 +816,7 @@
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = QXLive/QXLive.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 2;
CURRENT_PROJECT_VERSION = 3;
DEVELOPMENT_TEAM = 8798G5VMH9;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
FRAMEWORK_SEARCH_PATHS = (
@@ -793,7 +851,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0.3;
MARKETING_VERSION = 1.1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.qxcm.qxlive;
PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
@@ -1046,6 +1104,58 @@
};
name = Release;
};
95C327482E4C4068004B2D82 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_ENTITLEMENTS = QXLiveScreen/QXLiveScreen.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 8798G5VMH9;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = "QXLiveScreen copy-Info.plist";
INFOPLIST_KEY_CFBundleDisplayName = "羽声";
INFOPLIST_KEY_NSHumanReadableCopyright = "";
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.qxcm.qxlive.test.QXLiveScreen;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SWIFT_EMIT_LOC_STRINGS = YES;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
95C327492E4C4068004B2D82 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_ENTITLEMENTS = QXLiveScreen/QXLiveScreen.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 8798G5VMH9;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = "QXLiveScreen copy-Info.plist";
INFOPLIST_KEY_CFBundleDisplayName = "羽声";
INFOPLIST_KEY_NSHumanReadableCopyright = "";
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.qxcm.qxlive.test.QXLiveScreen;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SWIFT_EMIT_LOC_STRINGS = YES;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
95C3F0002E49F44A004B2D82 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = F5E37D2ED830731B446A7058 /* Pods-QXLive.debug.xcconfig */;
@@ -1091,7 +1201,7 @@
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0.2;
PRODUCT_BUNDLE_IDENTIFIER = com.qxcm.qxlive;
PRODUCT_BUNDLE_IDENTIFIER = com.qxcm.qxlive.test;
PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
@@ -1151,7 +1261,7 @@
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0.2;
PRODUCT_BUNDLE_IDENTIFIER = com.qxcm.qxlive;
PRODUCT_BUNDLE_IDENTIFIER = com.qxcm.qxlive.test;
PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
@@ -1213,6 +1323,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
95C327472E4C4068004B2D82 /* Build configuration list for PBXNativeTarget "QXLiveScreenDev" */ = {
isa = XCConfigurationList;
buildConfigurations = (
95C327482E4C4068004B2D82 /* Debug */,
95C327492E4C4068004B2D82 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
95C3EFFF2E49F44A004B2D82 /* Build configuration list for PBXNativeTarget "QXLiveDev" */ = {
isa = XCConfigurationList;
buildConfigurations = (