Archive 时收集阿里云 NUI dSYM,并 bump build 号到 1010402。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-17 09:17:27 +08:00
parent b019e1e494
commit 573c9a42ae
2 changed files with 83 additions and 2 deletions

57
Vendor/AliyunNui/collect_nuisdk_dsym.sh vendored Normal file
View File

@ -0,0 +1,57 @@
#!/bin/sh
set -eu
if [ -z "${SRCROOT:-}" ]; then
echo "error: SRCROOT is empty; cannot locate the Aliyun NUI framework." >&2
exit 1
fi
if [ -z "${DWARF_DSYM_FOLDER_PATH:-}" ]; then
echo "error: DWARF_DSYM_FOLDER_PATH is empty; refusing to collect the Aliyun NUI dSYM." >&2
exit 1
fi
FRAMEWORK_BINARY="${SRCROOT}/Vendor/AliyunNui/nuisdk.framework/nuisdk"
VENDORED_DSYM="${SRCROOT}/Vendor/AliyunNui/nuisdk.framework.dSYM"
ARCHIVE_DSYM="${DWARF_DSYM_FOLDER_PATH}/nuisdk.framework.dSYM"
ARCHIVE_DWARF="${ARCHIVE_DSYM}/Contents/Resources/DWARF/nuisdk"
if [ ! -f "${FRAMEWORK_BINARY}" ]; then
echo "error: Aliyun NUI binary not found at ${FRAMEWORK_BINARY}" >&2
exit 1
fi
mkdir -p "${DWARF_DSYM_FOLDER_PATH}"
rm -rf "${ARCHIVE_DSYM}"
if [ -d "${VENDORED_DSYM}" ]; then
/usr/bin/rsync -a "${VENDORED_DSYM}" "${DWARF_DSYM_FOLDER_PATH}/"
echo "Using the vendored Aliyun NUI dSYM."
else
# The distributed framework contains a symbol table but no companion dSYM.
# Generate one during Archive so App Store Connect can match its Mach-O UUID.
if ! DSYMUTIL_OUTPUT="$(/usr/bin/xcrun dsymutil "${FRAMEWORK_BINARY}" -o "${ARCHIVE_DSYM}" 2>&1)"; then
echo "${DSYMUTIL_OUTPUT}" >&2
echo "error: Failed to generate the Aliyun NUI dSYM." >&2
exit 1
fi
echo "Generated the Aliyun NUI dSYM from the framework's symbol table."
fi
if [ ! -f "${ARCHIVE_DWARF}" ]; then
echo "error: Aliyun NUI dSYM has no DWARF binary at ${ARCHIVE_DWARF}" >&2
exit 1
fi
FRAMEWORK_UUIDS="$(/usr/bin/xcrun dwarfdump --uuid "${FRAMEWORK_BINARY}" | /usr/bin/awk '{ print $2 }' | /usr/bin/sort)"
DSYM_UUIDS="$(/usr/bin/xcrun dwarfdump --uuid "${ARCHIVE_DWARF}" | /usr/bin/awk '{ print $2 }' | /usr/bin/sort)"
if [ -z "${FRAMEWORK_UUIDS}" ] || [ "${FRAMEWORK_UUIDS}" != "${DSYM_UUIDS}" ]; then
echo "error: Aliyun NUI dSYM UUID mismatch." >&2
echo "error: Framework UUIDs: ${FRAMEWORK_UUIDS:-none}" >&2
echo "error: dSYM UUIDs: ${DSYM_UUIDS:-none}" >&2
exit 1
fi
echo "Aliyun NUI dSYM UUIDs verified: ${DSYM_UUIDS}"

View File

@ -148,6 +148,7 @@
93FF17C22FFB84950033C304 /* Frameworks */, 93FF17C22FFB84950033C304 /* Frameworks */,
93FF17C32FFB84950033C304 /* Resources */, 93FF17C32FFB84950033C304 /* Resources */,
9A01B8E12FFB84950033C401 /* Embed Aliyun NUI SDK */, 9A01B8E12FFB84950033C401 /* Embed Aliyun NUI SDK */,
9A01B8E32FFB84950033C403 /* Collect Aliyun NUI dSYM */,
D83AC0A37C1CDC54D21AB6C9 /* [CP] Copy Pods Resources */, D83AC0A37C1CDC54D21AB6C9 /* [CP] Copy Pods Resources */,
A1898ED462DD0E19BAF114B0 /* [CP] Embed Pods Frameworks */, A1898ED462DD0E19BAF114B0 /* [CP] Embed Pods Frameworks */,
); );
@ -324,6 +325,29 @@
shellScript = "set -e\nif [ \"${PLATFORM_NAME}\" = \"iphonesimulator\" ]; then\n exit 0\nfi\nFRAMEWORK_SOURCE=\"${SRCROOT}/Vendor/AliyunNui/nuisdk.framework\"\nFRAMEWORK_DEST=\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\"\nmkdir -p \"${FRAMEWORK_DEST}\"\nrsync -a --delete \"${FRAMEWORK_SOURCE}\" \"${FRAMEWORK_DEST}/\"\nif [ -n \"${EXPANDED_CODE_SIGN_IDENTITY}\" ]; then\n /usr/bin/codesign --force --sign \"${EXPANDED_CODE_SIGN_IDENTITY}\" --preserve-metadata=identifier,entitlements,flags \"${FRAMEWORK_DEST}/nuisdk.framework\"\nfi\n"; shellScript = "set -e\nif [ \"${PLATFORM_NAME}\" = \"iphonesimulator\" ]; then\n exit 0\nfi\nFRAMEWORK_SOURCE=\"${SRCROOT}/Vendor/AliyunNui/nuisdk.framework\"\nFRAMEWORK_DEST=\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\"\nmkdir -p \"${FRAMEWORK_DEST}\"\nrsync -a --delete \"${FRAMEWORK_SOURCE}\" \"${FRAMEWORK_DEST}/\"\nif [ -n \"${EXPANDED_CODE_SIGN_IDENTITY}\" ]; then\n /usr/bin/codesign --force --sign \"${EXPANDED_CODE_SIGN_IDENTITY}\" --preserve-metadata=identifier,entitlements,flags \"${FRAMEWORK_DEST}/nuisdk.framework\"\nfi\n";
showEnvVarsInLog = 0; showEnvVarsInLog = 0;
}; };
9A01B8E32FFB84950033C403 /* Collect Aliyun NUI dSYM */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"$(SRCROOT)/Vendor/AliyunNui",
"$(SRCROOT)/Vendor/AliyunNui/collect_nuisdk_dsym.sh",
"$(SRCROOT)/Vendor/AliyunNui/nuisdk.framework/nuisdk",
);
name = "Collect Aliyun NUI dSYM";
outputFileListPaths = (
);
outputPaths = (
"$(DWARF_DSYM_FOLDER_PATH)/nuisdk.framework.dSYM",
);
runOnlyForDeploymentPostprocessing = 1;
shellPath = /bin/sh;
shellScript = "/bin/sh \"${SRCROOT}/Vendor/AliyunNui/collect_nuisdk_dsym.sh\"\n";
showEnvVarsInLog = 0;
};
A1898ED462DD0E19BAF114B0 /* [CP] Embed Pods Frameworks */ = { A1898ED462DD0E19BAF114B0 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase; isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
@ -402,7 +426,7 @@
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_ENTITLEMENTS = suixinkan/suixinkan.entitlements; CODE_SIGN_ENTITLEMENTS = suixinkan/suixinkan.entitlements;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1010401; CURRENT_PROJECT_VERSION = 1010402;
DEVELOPMENT_TEAM = 56GVN5RNVN; DEVELOPMENT_TEAM = 56GVN5RNVN;
ENABLE_USER_SCRIPT_SANDBOXING = NO; ENABLE_USER_SCRIPT_SANDBOXING = NO;
"FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]" = ( "FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]" = (
@ -467,7 +491,7 @@
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_ENTITLEMENTS = suixinkan/suixinkan.entitlements; CODE_SIGN_ENTITLEMENTS = suixinkan/suixinkan.entitlements;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1010401; CURRENT_PROJECT_VERSION = 1010402;
DEVELOPMENT_TEAM = 56GVN5RNVN; DEVELOPMENT_TEAM = 56GVN5RNVN;
ENABLE_USER_SCRIPT_SANDBOXING = NO; ENABLE_USER_SCRIPT_SANDBOXING = NO;
"FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]" = ( "FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]" = (