iOS: strip Zano/Zcash xcframework refs + generate Monero/Wownero XCFrameworks in CI

Two fixes that together address the 'There is no XCFramework found at...'
build failure:

1) ios/Runner.xcodeproj/project.pbxproj: remove 10 lines referencing
   ZanoWallet.xcframework + WarpApiFFI.xcframework (zcash). Those were
   stale — both chains were removed in commit 4eb7db0b7 weeks ago, but
   the Xcode project still listed them in BuildFile, CopyFiles, FileReference,
   and Group sections. xcode error referenced them as missing.

2) Both iOS workflows now run scripts/ios/gen_framework.sh after staging
   the monero_c bundle. The script reads
   aarch64-apple-ios/lib<wallet>_wallet2_api_c.dylib and
   aarch64-apple-ios-simulator/lib<wallet>_wallet2_api_c.dylib from the
   bundle, wraps each as a .framework with an Info.plist, then bundles
   device + simulator into ios/MoneroWallet.xcframework +
   ios/WowneroWallet.xcframework via xcodebuild -create-xcframework.
   These are exactly the paths project.pbxproj's CopyFiles phase
   references.

   The 'Inspect iOS targets' debug step was expanded to print bundle
   subdirs + sample target contents, so if the monero_c bundle doesn't
   actually ship those exact dirs we'll see it in the log.
This commit is contained in:
jwinterm
2026-05-19 10:54:48 -04:00
parent e277d1ba33
commit 8f583b14ea
3 changed files with 23 additions and 15 deletions
+15 -5
View File
@@ -163,17 +163,27 @@ jobs:
ls
popd
# iOS native lib staging: Cake's scripts/ios/setup.sh + gen_framework.sh
# expect pre-built .a archives in specific paths. The first run will
# likely surface what's missing; we iterate from there.
- name: Inspect iOS targets available in monero_c bundle
run: |
set -x
MONERO_C_TAG=$(cd scripts/monero_c && git describe --tags)
BUNDLE_DIR="scripts/monero_c/release/$MONERO_C_TAG"
# List anything iOS-y
find "$BUNDLE_DIR" -maxdepth 1 -name '*ios*' -o -name '*apple*' 2>/dev/null || true
echo "=== bundle top-level ==="
ls "$BUNDLE_DIR" || true
echo "=== iOS-y subdirs ==="
find "$BUNDLE_DIR" -maxdepth 1 -type d \( -name '*ios*' -o -name '*apple*' \) 2>/dev/null
echo "=== sample contents of one apple-ios target ==="
for d in "$BUNDLE_DIR"/aarch64-apple-ios "$BUNDLE_DIR"/aarch64-apple-ios-simulator; do
[[ -d "$d" ]] && { echo "--- $d ---"; ls "$d"; }
done
- name: Build MoneroWallet + WowneroWallet XCFrameworks
run: |
set -x -e
pushd scripts/ios
bash ./gen_framework.sh
popd
ls -la ios/MoneroWallet.xcframework ios/WowneroWallet.xcframework
# ---- Configure: pubspec.yaml, Info.plist, GeneratedPluginRegistrant ---
- name: Run iOS configure (cakewallet profile)
@@ -158,6 +158,14 @@ jobs:
rm release-bundle.zip
popd
- name: Build MoneroWallet + WowneroWallet XCFrameworks
run: |
set -x -e
pushd scripts/ios
bash ./gen_framework.sh
popd
ls -la ios/MoneroWallet.xcframework ios/WowneroWallet.xcframework
# ---- Configure: pubspec.yaml, Info.plist, etc. ----------------------
- name: Run iOS configure (cakewallet profile)
run: |