Files
youle_app_ios_v2/ylgamehall.xcodeproj/project.pbxproj
T
joywayer 5b38456c66 3.B:vendor opencore-amr + AMRCodec Swift wrapper,打通 AMR↔WAV 编解码
为支撑 H5 的 prepareaudio / mediaTypeAudio 录音上传 + 远端语音播放
(docs/H5-Native-Contract.md §3.1 [4][5] + §3.2 [9])接入 AMR-NB
编解码能力。AMR-NB 是跨端(iOS / Android / 旧版本客户端)契约硬约束,
不可换 AAC / Opus。

## 接入路径

直接 vendor daoqi msext 现成的 fat .a(已上线多年),不打 xcframework /
不重编源码:
- Vendor/OpenCoreAMR/v0.1.x/libopencore-amrnb.a:daoqi 同款 5-slice fat
  库(含 2026-06-20 lipo -segalign 8 修过的对齐版本)
- Vendor/OpenCoreAMR/v0.1.x/{interf_dec,interf_enc}.h:amrnb 公开头
- Vendor/OpenCoreAMR/README.md:来源、版本、修复历史、为何不打 xcframework
- ylgamehall/Source/Audio/AMRFileCodec/{amrFileCodec.h,amrFileCodec.mm}:
  daoqi 同款 wrapper(文件级 WAV↔AMR 处理)
- ylgamehall/Source/Audio/AMRCodec.swift:Swift 薄 wrapper(wavToAmr /
  amrToWav 两个纯函数 + AMRCodec.Error)

理由见 Vendor/OpenCoreAMR/README.md「为何不打 xcframework / 不重编源码」
一节,本质是 opencore-amr 整个 iOS 生态没有"现代主流"分发形态,社区无
官方 SPM / xcframework 维护,强行打反而引入新风险。

## 关键技术点:extern "C" 修复 ObjC++ name mangling

amrFileCodec.h 在原项目里没有 extern "C" 包裹函数声明,daoqi 能跑是
因为调用方 VoiceConverter.mm 也是 ObjC++,双方按相同 C++ name mangling
链接能对上。

新外壳从 Swift 通过 bridging-header 调用,Swift 按 C 函数解析,期望符号
_EncodeWAVEFileToAMRFile / _DecodeWAVEFileToWAVEFile(C 链接);但
.mm 编译时默认 C++ name mangling,符号变成 __Z25Encode...,导致链接器
报 Undefined symbol。

修复:在 amrFileCodec.h 的函数声明外加 #ifdef __cplusplus / extern "C"
包裹。这是标准 C/C++ 头文件兼容写法,对 daoqi 老路径无影响(ObjC++
调用方仍能链接 C-linkage 函数)。

## .gitignore:白名单 Vendor 下的 .a

发现历史遗留问题:原 .gitignore *.a 通配规则把 libWeChatSDK.a 也排除
了,意味着别人 clone 此仓库后链接失败。本次顺带修复:

  !Vendor/**/*.a

让 Vendor 下的 .a 显式纳入跟踪。本提交同时把 libWeChatSDK.a(历史
缺失)+ libopencore-amrnb.a(本次新增)一并加入 git 跟踪。

## 工程改动

pbxproj 改动由用户在 Xcode UI 完成(4 项 Build Settings:Add .a 到
Frameworks group / Header Search Paths +2 / Library Search Paths +1;
EXCLUDED_ARCHS arm64-simulator 因真机调试场景暂未配,需要时再加)。

## 验证

BuildProject 通过,0 错误,符号链接正确。XcodeRefreshCodeIssuesInFile
对 AMRCodec.swift 0 诊断。
2026-06-24 01:20:30 +08:00

482 lines
21 KiB
Plaintext

// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 77;
objects = {
/* Begin PBXBuildFile section */
1A2954622FE840DA009E703E /* ZIPFoundation in Frameworks */ = {isa = PBXBuildFile; productRef = 1A2954612FE840DA009E703E /* ZIPFoundation */; };
1A2954DA2FE97D61009E703E /* Qiniu in Frameworks */ = {isa = PBXBuildFile; productRef = 1A2954D92FE97D61009E703E /* Qiniu */; };
1A2954E32FE99C53009E703E /* AMapFoundationKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A2954E22FE99C53009E703E /* AMapFoundationKit.framework */; };
1A2954E62FE99C63009E703E /* AMapLocationKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A2954E52FE99C63009E703E /* AMapLocationKit.framework */; };
1A2954ED2FE9BA49009E703E /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A2954EC2FE9BA49009E703E /* SystemConfiguration.framework */; };
1A2954EF2FE9BA6E009E703E /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A2954EE2FE9BA6E009E703E /* CoreTelephony.framework */; };
1A2954F12FE9BA7C009E703E /* ExternalAccessory.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A2954F02FE9BA7C009E703E /* ExternalAccessory.framework */; };
1A2954FD2FEA0BCE009E703E /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A2954FC2FEA0BCE009E703E /* Security.framework */; };
1A2954FF2FEA0BD8009E703E /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A2954FE2FEA0BD8009E703E /* CFNetwork.framework */; };
1A2955002FEA48CD009E703E /* libWeChatSDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A2954F92FEA0B59009E703E /* libWeChatSDK.a */; };
1A2955012FEA48D9009E703E /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A2954FA2FEA0BA8009E703E /* libz.tbd */; };
1A2955022FEA48E4009E703E /* libsqlite3.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A2954FB2FEA0BB9009E703E /* libsqlite3.tbd */; };
1A2955102FEAF514009E703E /* libopencore-amrnb.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A29550F2FEAF514009E703E /* libopencore-amrnb.a */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
1A2954E22FE99C53009E703E /* AMapFoundationKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AMapFoundationKit.framework; path = Vendor/AMap/AMapFoundationKit.framework; sourceTree = "<group>"; };
1A2954E52FE99C63009E703E /* AMapLocationKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AMapLocationKit.framework; path = Vendor/AMap/AMapLocationKit.framework; sourceTree = "<group>"; };
1A2954EC2FE9BA49009E703E /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
1A2954EE2FE9BA6E009E703E /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = System/Library/Frameworks/CoreTelephony.framework; sourceTree = SDKROOT; };
1A2954F02FE9BA7C009E703E /* ExternalAccessory.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ExternalAccessory.framework; path = System/Library/Frameworks/ExternalAccessory.framework; sourceTree = SDKROOT; };
1A2954F92FEA0B59009E703E /* libWeChatSDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libWeChatSDK.a; path = Vendor/WechatSDK/v1.8.2/libWeChatSDK.a; sourceTree = "<group>"; };
1A2954FA2FEA0BA8009E703E /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
1A2954FB2FEA0BB9009E703E /* libsqlite3.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libsqlite3.tbd; path = usr/lib/libsqlite3.tbd; sourceTree = SDKROOT; };
1A2954FC2FEA0BCE009E703E /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
1A2954FE2FEA0BD8009E703E /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; };
1A29550F2FEAF514009E703E /* libopencore-amrnb.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libopencore-amrnb.a"; path = "Vendor/OpenCoreAMR/v0.1.x/libopencore-amrnb.a"; sourceTree = "<group>"; };
1A714BD22FE8047A00913338 /* ylgamehall.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ylgamehall.app; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */
1A714BE42FE8047C00913338 /* Exceptions for "ylgamehall" folder in "ylgamehall" target */ = {
isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
membershipExceptions = (
Info.plist,
);
target = 1A714BD12FE8047A00913338 /* ylgamehall */;
};
/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */
/* Begin PBXFileSystemSynchronizedRootGroup section */
1A714BD42FE8047A00913338 /* ylgamehall */ = {
isa = PBXFileSystemSynchronizedRootGroup;
exceptions = (
1A714BE42FE8047C00913338 /* Exceptions for "ylgamehall" folder in "ylgamehall" target */,
);
path = ylgamehall;
sourceTree = "<group>";
};
/* End PBXFileSystemSynchronizedRootGroup section */
/* Begin PBXFrameworksBuildPhase section */
1A714BCF2FE8047A00913338 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
1A2955022FEA48E4009E703E /* libsqlite3.tbd in Frameworks */,
1A2955012FEA48D9009E703E /* libz.tbd in Frameworks */,
1A2955002FEA48CD009E703E /* libWeChatSDK.a in Frameworks */,
1A2954FF2FEA0BD8009E703E /* CFNetwork.framework in Frameworks */,
1A2954622FE840DA009E703E /* ZIPFoundation in Frameworks */,
1A2954E62FE99C63009E703E /* AMapLocationKit.framework in Frameworks */,
1A2954EF2FE9BA6E009E703E /* CoreTelephony.framework in Frameworks */,
1A2954E32FE99C53009E703E /* AMapFoundationKit.framework in Frameworks */,
1A2954DA2FE97D61009E703E /* Qiniu in Frameworks */,
1A2955102FEAF514009E703E /* libopencore-amrnb.a in Frameworks */,
1A2954ED2FE9BA49009E703E /* SystemConfiguration.framework in Frameworks */,
1A2954FD2FEA0BCE009E703E /* Security.framework in Frameworks */,
1A2954F12FE9BA7C009E703E /* ExternalAccessory.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
1A2954DB2FE99B2F009E703E /* Frameworks */ = {
isa = PBXGroup;
children = (
1A29550F2FEAF514009E703E /* libopencore-amrnb.a */,
1A2954FE2FEA0BD8009E703E /* CFNetwork.framework */,
1A2954FC2FEA0BCE009E703E /* Security.framework */,
1A2954FB2FEA0BB9009E703E /* libsqlite3.tbd */,
1A2954FA2FEA0BA8009E703E /* libz.tbd */,
1A2954F92FEA0B59009E703E /* libWeChatSDK.a */,
1A2954F02FE9BA7C009E703E /* ExternalAccessory.framework */,
1A2954EE2FE9BA6E009E703E /* CoreTelephony.framework */,
1A2954EC2FE9BA49009E703E /* SystemConfiguration.framework */,
1A2954E52FE99C63009E703E /* AMapLocationKit.framework */,
1A2954E22FE99C53009E703E /* AMapFoundationKit.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
1A714BC92FE8047A00913338 = {
isa = PBXGroup;
children = (
1A714BD42FE8047A00913338 /* ylgamehall */,
1A2954DB2FE99B2F009E703E /* Frameworks */,
1A714BD32FE8047A00913338 /* Products */,
);
sourceTree = "<group>";
};
1A714BD32FE8047A00913338 /* Products */ = {
isa = PBXGroup;
children = (
1A714BD22FE8047A00913338 /* ylgamehall.app */,
);
name = Products;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
1A714BD12FE8047A00913338 /* ylgamehall */ = {
isa = PBXNativeTarget;
buildConfigurationList = 1A714BE52FE8047C00913338 /* Build configuration list for PBXNativeTarget "ylgamehall" */;
buildPhases = (
1A714BCE2FE8047A00913338 /* Sources */,
1A714BCF2FE8047A00913338 /* Frameworks */,
1A714BD02FE8047A00913338 /* Resources */,
);
buildRules = (
);
dependencies = (
);
fileSystemSynchronizedGroups = (
1A714BD42FE8047A00913338 /* ylgamehall */,
);
name = ylgamehall;
packageProductDependencies = (
1A2954612FE840DA009E703E /* ZIPFoundation */,
1A2954D92FE97D61009E703E /* Qiniu */,
);
productName = ylgamehall;
productReference = 1A714BD22FE8047A00913338 /* ylgamehall.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
1A714BCA2FE8047A00913338 /* Project object */ = {
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = 1;
LastSwiftUpdateCheck = 2650;
LastUpgradeCheck = 2650;
TargetAttributes = {
1A714BD12FE8047A00913338 = {
CreatedOnToolsVersion = 26.5;
};
};
};
buildConfigurationList = 1A714BCD2FE8047A00913338 /* Build configuration list for PBXProject "ylgamehall" */;
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 1A714BC92FE8047A00913338;
minimizedProjectReferenceProxies = 1;
packageReferences = (
1A2954602FE840DA009E703E /* XCRemoteSwiftPackageReference "ZIPFoundation" */,
1A2954D82FE97D61009E703E /* XCRemoteSwiftPackageReference "objc-sdk" */,
);
preferredProjectObjectVersion = 77;
productRefGroup = 1A714BD32FE8047A00913338 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
1A714BD12FE8047A00913338 /* ylgamehall */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
1A714BD02FE8047A00913338 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
1A714BCE2FE8047A00913338 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
1A714BE62FE8047C00913338 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = NX5W3B4QP3;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Vendor/AMap",
);
GENERATE_INFOPLIST_FILE = YES;
HEADER_SEARCH_PATHS = (
"$(PROJECT_DIR)/Vendor/WechatSDK/v1.8.2",
"$(PROJECT_DIR)/Vendor/OpenCoreAMR/v0.1.x",
"$(PROJECT_DIR)/ylgamehall/Source/Audio/AMRFileCodec",
);
INFOPLIST_FILE = ylgamehall/Info.plist;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
INFOPLIST_KEY_UIMainStoryboardFile = "";
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Vendor/WechatSDK/v1.8.2",
"$(PROJECT_DIR)/Vendor/OpenCoreAMR/v0.1.x",
);
MARKETING_VERSION = 1.0;
OTHER_LDFLAGS = "-ObjC";
PRODUCT_BUNDLE_IDENTIFIER = com.skyapp.ylgamehall;
PRODUCT_NAME = "$(TARGET_NAME)";
STRING_CATALOG_GENERATE_SYMBOLS = YES;
SWIFT_APPROACHABLE_CONCURRENCY = YES;
SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OBJC_BRIDGING_HEADER = "ylgamehall/ylgamehall-Bridging-Header.h";
SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES;
SWIFT_VERSION = 6.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
1A714BE72FE8047C00913338 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = NX5W3B4QP3;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Vendor/AMap",
);
GENERATE_INFOPLIST_FILE = YES;
HEADER_SEARCH_PATHS = (
"$(PROJECT_DIR)/Vendor/WechatSDK/v1.8.2",
"$(PROJECT_DIR)/Vendor/OpenCoreAMR/v0.1.x",
"$(PROJECT_DIR)/ylgamehall/Source/Audio/AMRFileCodec",
);
INFOPLIST_FILE = ylgamehall/Info.plist;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
INFOPLIST_KEY_UIMainStoryboardFile = "";
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Vendor/WechatSDK/v1.8.2",
"$(PROJECT_DIR)/Vendor/OpenCoreAMR/v0.1.x",
);
MARKETING_VERSION = 1.0;
OTHER_LDFLAGS = "-ObjC";
PRODUCT_BUNDLE_IDENTIFIER = com.skyapp.ylgamehall;
PRODUCT_NAME = "$(TARGET_NAME)";
STRING_CATALOG_GENERATE_SYMBOLS = YES;
SWIFT_APPROACHABLE_CONCURRENCY = YES;
SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OBJC_BRIDGING_HEADER = "ylgamehall/ylgamehall-Bridging-Header.h";
SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES;
SWIFT_VERSION = 6.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
1A714BE82FE8047C00913338 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_TEAM = NX5W3B4QP3;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
GCC_C_LANGUAGE_STANDARD = gnu17;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
};
name = Debug;
};
1A714BE92FE8047C00913338 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = NX5W3B4QP3;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
GCC_C_LANGUAGE_STANDARD = gnu17;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
VALIDATE_PRODUCT = YES;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
1A714BCD2FE8047A00913338 /* Build configuration list for PBXProject "ylgamehall" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1A714BE82FE8047C00913338 /* Debug */,
1A714BE92FE8047C00913338 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
1A714BE52FE8047C00913338 /* Build configuration list for PBXNativeTarget "ylgamehall" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1A714BE62FE8047C00913338 /* Debug */,
1A714BE72FE8047C00913338 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
/* Begin XCRemoteSwiftPackageReference section */
1A2954602FE840DA009E703E /* XCRemoteSwiftPackageReference "ZIPFoundation" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/weichsel/ZIPFoundation";
requirement = {
kind = upToNextMajorVersion;
minimumVersion = 0.9.20;
};
};
1A2954D82FE97D61009E703E /* XCRemoteSwiftPackageReference "objc-sdk" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/qiniu/objc-sdk";
requirement = {
kind = upToNextMajorVersion;
minimumVersion = 8.9.2;
};
};
/* End XCRemoteSwiftPackageReference section */
/* Begin XCSwiftPackageProductDependency section */
1A2954612FE840DA009E703E /* ZIPFoundation */ = {
isa = XCSwiftPackageProductDependency;
package = 1A2954602FE840DA009E703E /* XCRemoteSwiftPackageReference "ZIPFoundation" */;
productName = ZIPFoundation;
};
1A2954D92FE97D61009E703E /* Qiniu */ = {
isa = XCSwiftPackageProductDependency;
package = 1A2954D82FE97D61009E703E /* XCRemoteSwiftPackageReference "objc-sdk" */;
productName = Qiniu;
};
/* End XCSwiftPackageProductDependency section */
};
rootObject = 1A714BCA2FE8047A00913338 /* Project object */;
}