@@ -56,6 +56,20 @@ rm -rf "${LIB_DEST}"
5656cp -R " ${LIB_SRC} " " ${LIB_DEST} "
5757echo " [BuildCore] Copied NymVPNLib → ${LIB_DEST} "
5858
59+ # 2b) Flatten xcframework headers for Xcode 26+ explicit module builds
60+ XCODE_VER=" $( xcodebuild -version 2> /dev/null | head -1 | awk ' {print $2}' ) "
61+ if [[ " $( printf ' %s\n' " 26.4" " ${XCODE_VER} " | sort -V | head -1) " == " 26.4" ]]; then
62+ for HEADERS_DIR in " ${LIB_DEST} " /NymVPNLibUniffi.xcframework/* /Headers; do
63+ for SUBDIR in " ${HEADERS_DIR} " /* /; do
64+ [[ -d " ${SUBDIR} " ]] || continue
65+ cp -n " ${SUBDIR} " * " ${HEADERS_DIR} /" 2> /dev/null || true
66+ done
67+ done
68+ echo " [BuildCore] Flattened NymVPNLib xcframework headers (Xcode ${XCODE_VER} )"
69+ else
70+ echo " [BuildCore] Skipping header flatten (Xcode ${XCODE_VER} < 26.4)"
71+ fi
72+
5973# 3) Build macOS (produces upload/mac/nym-vpnd if macOS.mk has vpnd targets)
6074make -f macOS.mk libwg nym-setup nym-vpnd rpc-swift-package RELEASE=" ${RELEASE} "
6175
@@ -66,6 +80,19 @@ rm -rf "${RPC_DEST}"
6680cp -R " ${RPC_SRC} " " ${RPC_DEST} "
6781echo " [BuildCore] Copied NymVPNRpc → ${RPC_DEST} "
6882
83+ # 4b) Flatten xcframework headers for Xcode 26+ explicit module builds
84+ if [[ " $( printf ' %s\n' " 26.4" " ${XCODE_VER} " | sort -V | head -1) " == " 26.4" ]]; then
85+ for HEADERS_DIR in " ${RPC_DEST} " /NymVPNRpcUniffi.xcframework/* /Headers; do
86+ for SUBDIR in " ${HEADERS_DIR} " /* /; do
87+ [[ -d " ${SUBDIR} " ]] || continue
88+ cp -n " ${SUBDIR} " * " ${HEADERS_DIR} /" 2> /dev/null || true
89+ done
90+ done
91+ echo " [BuildCore] Flattened NymVPNRpc xcframework headers (Xcode ${XCODE_VER} )"
92+ else
93+ echo " [BuildCore] Skipping header flatten (Xcode ${XCODE_VER} < 26.4)"
94+ fi
95+
6996# 5) Copy the universal nym-vpnd → apple Daemon
7097VPND_SRC=" ${CORE_ROOT} /upload/mac/nym-vpnd"
7198VPND_DEST_DIR=" ${APPLE_ROOT} /Daemon"
0 commit comments