From db762b0e90631fd753a225941838784ab34e6b7e Mon Sep 17 00:00:00 2001 From: Dan Giralte Date: Fri, 1 Mar 2024 09:04:31 -0600 Subject: [PATCH] correctly builds visionOS frameworks - Capacitor needs to be set with 'visionOS' as the base SDK in the xcode project for this to work correctly --- Package.swift | 12 +++++++----- build-cap | 44 ++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 47 insertions(+), 9 deletions(-) diff --git a/Package.swift b/Package.swift index 962881f..416a1b8 100644 --- a/Package.swift +++ b/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:5.3 +// swift-tools-version:5.9 import PackageDescription @@ -18,13 +18,15 @@ let package = Package( targets: [ .binaryTarget( name: "Capacitor", - url: "https://github.com/ionic-team/capacitor-swift-pm/releases/download/6.0.0-rc.0/Capacitor.xcframework.zip", - checksum: "40931648c794e29ade96907e7e25747cac89ad6dc0841263be35c69108732a06" + path: "frameworks/Capacitor.xcframework.zip" + //url: "https://github.com/ionic-team/capacitor-swift-pm/releases/download/vision/Capacitor.xcframework.zip", + //checksum: "498e6b0ac4bd90537ea1983dc4541b5c08990f1d06ac5522e866284947b7d6e7" ), .binaryTarget( name: "Cordova", - url: "https://github.com/ionic-team/capacitor-swift-pm/releases/download/6.0.0-rc.0/Cordova.xcframework.zip", - checksum: "0f3eed00c80e54a50eb10c0c2c65c7f09ed0a3d4bddd2b95537f32cc3d41186f" + path: "frameworks/Cordova.xcframework.zip" + //url: "https://github.com/ionic-team/capacitor-swift-pm/releases/download/vision/Cordova.xcframework.zip", + //checksum: "964c266e7b761630c2dc21ee1a6cb3861379b72ef068d0f7ec2b7e2baf994a4f" ) ] ) diff --git a/build-cap b/build-cap index 3598e49..d65060f 100755 --- a/build-cap +++ b/build-cap @@ -23,18 +23,51 @@ build_capacitor_ios() { BUILD_LIBRARY_FOR_DISTRIBUTION=YES } +build_capacitor_vision_simulator() { + xcodebuild archive \ + -scheme Capacitor \ + -workspace Capacitor.xcworkspace \ + -destination "generic/platform=visionOS Simulator" \ + -archivePath ./Build/visionOS-Simulator \ + -configuration Release \ + SKIP_INSTALL=NO \ + BUILD_LIBRARY_FOR_DISTRIBUTION=YES +} + +build_capacitor_visionos() { + xcodebuild archive \ + -scheme Capacitor \ + -workspace Capacitor.xcworkspace \ + -sdk xros \ + -destination "generic/platform=visionOS" \ + -archivePath ./Build/visionOS \ + SKIP_INSTALL=NO \ + SWIFT_SERIALIZE_DEBUGGING_OPTIONS=NO \ + DEBUG_INFORMATION_FORMAT="dwarf-with-dsym" \ + BUILD_LIBRARY_FOR_DISTRIBUTION=YES +} + create_xcframeworks() { build_capacitor_simulator build_capacitor_ios + build_capacitor_vision_simulator + build_capacitor_visionos rm -rf ./Build/iOS-Simulator.xcarchive/Products/Library/Frameworks/Capacitor.framework/Frameworks rm -rf ./Build/iOS.xcarchive/Products/Library/Frameworks/Capacitor.framework/Frameworks + rm -rf ./Build/visionOS-Simulator.xcarchive/Products/Library/Frameworks/Capacitor.framework/Frameworks + rm -rf ./Build/visionOS.xcarchive/Products/Library/Frameworks/Capacitor.framework/Frameworks + xcodebuild -create-xcframework \ - -framework ./Build/iOS-Simulator.xcarchive/Products/Library/Frameworks/Capacitor.framework \ + -framework ./Build/iOS-Simulator.xcarchive/Products/Library/Frameworks/Capacitor.framework \ -debug-symbols $PWD/Build/iOS-Simulator.xcarchive/dSYMs/Capacitor.framework.dSYM \ - -framework ./Build/iOS.xcarchive/Products/Library/Frameworks/Capacitor.framework \ + -framework ./Build/iOS.xcarchive/Products/Library/Frameworks/Capacitor.framework \ -debug-symbols $PWD/Build/iOS.xcarchive/dSYMs/Capacitor.framework.dSYM \ + -framework ./Build/visionOS-Simulator.xcarchive/Products/Library/Frameworks/Capacitor.framework \ + -debug-symbols $PWD/Build/visionOS-Simulator.xcarchive/dSYMs/Capacitor.framework.dSYM \ + -framework ./Build/visionOS.xcarchive/Products/Library/Frameworks/Capacitor.framework \ + -debug-symbols $PWD/Build/visionOS.xcarchive/dSYMs/Capacitor.framework.dSYM \ -output Capacitor.xcframework xcodebuild -create-xcframework \ @@ -42,6 +75,10 @@ create_xcframeworks() { -debug-symbols $PWD/Build/iOS-Simulator.xcarchive/dSYMs/Cordova.framework.dSYM \ -framework ./Build/iOS.xcarchive/Products/Library/Frameworks/Cordova.framework \ -debug-symbols $PWD/Build/iOS.xcarchive/dSYMs/Cordova.framework.dSYM \ + -framework ./Build/visionOS-Simulator.xcarchive/Products/Library/Frameworks/Cordova.framework \ + -debug-symbols $PWD/Build/visionOS-Simulator.xcarchive/dSYMs/Cordova.framework.dSYM \ + -framework ./Build/visionOS.xcarchive/Products/Library/Frameworks/Cordova.framework \ + -debug-symbols $PWD/Build/visionOS.xcarchive/dSYMs/Cordova.framework.dSYM \ -output Cordova.xcframework zip -r Capacitor.xcframework.zip Capacitor.xcframework @@ -50,7 +87,7 @@ create_xcframeworks() { write_package_file() { cat << EOF > Package.swift -// swift-tools-version:5.3 +// swift-tools-version:5.9 import PackageDescription @@ -99,4 +136,3 @@ mkdir frameworks mv capacitor-checkout/ios/Capacitor/{Capacitor,Cordova}.xcframework.zip frameworks write_package_file $cap_url $cap_sha $cap_cordova_url $cap_cordova_sha -