契约 §0.3 描述 msext 把 11 个渠道值编码为 Bundle 根的 11 个空目录 子文件夹名(目录名本身就是值)。在 Xcode 26.5 默认的 synchronized group 下,此机制不兼容(子目录被扁平化、11 个 .gitkeep 撞名; folder reference 拖入流程失效;Run Script Phase 受 sandbox 阻碍且 默认 Based on dependency analysis 让 clean build 也不跑)。 CLAUDE.md 原则 B 落地——原生内部自由重构,不照搬 msext。改用单一 plist 存储等价语义,H5 端通过 app_data.js 看到的 11 个 JS 全局变量 行为完全不变(契约边界在 BundleConfig.shared.xxx,与底层无关)。 多渠道分发用 plutil -replace + 重签 + 重打包,工作量与 mv 目录名 重签完全相同。 - 新增 ylgamehall/Resources/ChannelConfig.plist:11 个 string key 含母包默认值(沿用 msext 现网值);synchronized group 自动入 Bundle - Design §7.0 / §7.2 重写为 plist 方案;BundleConfig 代码骨架改为 PropertyListSerialization + init(bundle:) 可注入式 - Plan §5 Phase 1.1 任务清单从 4 个子项简化为 1 项;ADR-004 文字 同步;新增 ADR-007 完整记录决策背景 / 触发事件 / 工程兼容性分析 / 理由 / 守护条款 - pbxproj:ENABLE_USER_SCRIPT_SANDBOXING 残留为 NO(前期 Run Script 方案探索时关闭,plist 方案下不再需要,但未恢复以避免再次 UI 操作; 无 Run Script 故无实际安全暴露面,未来可随时改回 YES) - BuildProject 验证:plist 已落在 .app 根,plutil -p 输出 11 个键值 完整
353 lines
12 KiB
Plaintext
353 lines
12 KiB
Plaintext
// !$*UTF8*$!
|
|
{
|
|
archiveVersion = 1;
|
|
classes = {
|
|
};
|
|
objectVersion = 77;
|
|
objects = {
|
|
|
|
/* Begin PBXFileReference section */
|
|
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 = (
|
|
);
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
};
|
|
/* End PBXFrameworksBuildPhase section */
|
|
|
|
/* Begin PBXGroup section */
|
|
1A714BC92FE8047A00913338 = {
|
|
isa = PBXGroup;
|
|
children = (
|
|
1A714BD42FE8047A00913338 /* ylgamehall */,
|
|
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 = (
|
|
);
|
|
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;
|
|
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;
|
|
GENERATE_INFOPLIST_FILE = YES;
|
|
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",
|
|
);
|
|
MARKETING_VERSION = 1.0;
|
|
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_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;
|
|
GENERATE_INFOPLIST_FILE = YES;
|
|
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",
|
|
);
|
|
MARKETING_VERSION = 1.0;
|
|
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_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 */
|
|
};
|
|
rootObject = 1A714BCA2FE8047A00913338 /* Project object */;
|
|
}
|