diff --git a/Demo/FlowDemo.xcodeproj/project.pbxproj b/Demo/FlowDemo.xcodeproj/project.pbxproj index 53e52b5..0823e2e 100644 --- a/Demo/FlowDemo.xcodeproj/project.pbxproj +++ b/Demo/FlowDemo.xcodeproj/project.pbxproj @@ -8,13 +8,9 @@ /* Begin PBXBuildFile section */ F1DDBABD28BE927D0009F000 /* FlowDemoApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1DDBAAD28BE927B0009F000 /* FlowDemoApp.swift */; }; - F1DDBABE28BE927D0009F000 /* FlowDemoApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1DDBAAD28BE927B0009F000 /* FlowDemoApp.swift */; }; F1DDBABF28BE927D0009F000 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1DDBAAE28BE927B0009F000 /* ContentView.swift */; }; - F1DDBAC028BE927D0009F000 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1DDBAAE28BE927B0009F000 /* ContentView.swift */; }; F1DDBAC128BE927D0009F000 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F1DDBAAF28BE927D0009F000 /* Assets.xcassets */; }; - F1DDBAC228BE927D0009F000 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F1DDBAAF28BE927D0009F000 /* Assets.xcassets */; }; F1DDBACF28BE92D00009F000 /* Flow in Frameworks */ = {isa = PBXBuildFile; productRef = F1DDBACE28BE92D00009F000 /* Flow */; }; - F1DDBAD128BE93100009F000 /* Flow in Frameworks */ = {isa = PBXBuildFile; productRef = F1DDBAD028BE93100009F000 /* Flow */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -22,7 +18,6 @@ F1DDBAAE28BE927B0009F000 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; F1DDBAAF28BE927D0009F000 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; F1DDBAB428BE927D0009F000 /* FlowDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FlowDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; - F1DDBABA28BE927D0009F000 /* FlowDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FlowDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; F1DDBABC28BE927D0009F000 /* macOS.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = macOS.entitlements; sourceTree = ""; }; F1DDBACC28BE92A30009F000 /* Flow */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = Flow; path = ..; sourceTree = ""; }; /* End PBXFileReference section */ @@ -36,14 +31,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - F1DDBAB728BE927D0009F000 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - F1DDBAD128BE93100009F000 /* Flow in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -72,7 +59,6 @@ isa = PBXGroup; children = ( F1DDBAB428BE927D0009F000 /* FlowDemo.app */, - F1DDBABA28BE927D0009F000 /* FlowDemo.app */, ); name = Products; sourceTree = ""; @@ -103,9 +89,9 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - F1DDBAB328BE927D0009F000 /* FlowDemo (iOS) */ = { + F1DDBAB328BE927D0009F000 /* FlowDemo */ = { isa = PBXNativeTarget; - buildConfigurationList = F1DDBAC528BE927D0009F000 /* Build configuration list for PBXNativeTarget "FlowDemo (iOS)" */; + buildConfigurationList = F1DDBAC528BE927D0009F000 /* Build configuration list for PBXNativeTarget "FlowDemo" */; buildPhases = ( F1DDBAB028BE927D0009F000 /* Sources */, F1DDBAB128BE927D0009F000 /* Frameworks */, @@ -115,7 +101,7 @@ ); dependencies = ( ); - name = "FlowDemo (iOS)"; + name = FlowDemo; packageProductDependencies = ( F1DDBACE28BE92D00009F000 /* Flow */, ); @@ -123,26 +109,6 @@ productReference = F1DDBAB428BE927D0009F000 /* FlowDemo.app */; productType = "com.apple.product-type.application"; }; - F1DDBAB928BE927D0009F000 /* FlowDemo (macOS) */ = { - isa = PBXNativeTarget; - buildConfigurationList = F1DDBAC828BE927D0009F000 /* Build configuration list for PBXNativeTarget "FlowDemo (macOS)" */; - buildPhases = ( - F1DDBAB628BE927D0009F000 /* Sources */, - F1DDBAB728BE927D0009F000 /* Frameworks */, - F1DDBAB828BE927D0009F000 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "FlowDemo (macOS)"; - packageProductDependencies = ( - F1DDBAD028BE93100009F000 /* Flow */, - ); - productName = "FlowDemo (macOS)"; - productReference = F1DDBABA28BE927D0009F000 /* FlowDemo.app */; - productType = "com.apple.product-type.application"; - }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -156,9 +122,6 @@ F1DDBAB328BE927D0009F000 = { CreatedOnToolsVersion = 13.4.1; }; - F1DDBAB928BE927D0009F000 = { - CreatedOnToolsVersion = 13.4.1; - }; }; }; buildConfigurationList = F1DDBAAB28BE927B0009F000 /* Build configuration list for PBXProject "FlowDemo" */; @@ -174,8 +137,7 @@ projectDirPath = ""; projectRoot = ""; targets = ( - F1DDBAB328BE927D0009F000 /* FlowDemo (iOS) */, - F1DDBAB928BE927D0009F000 /* FlowDemo (macOS) */, + F1DDBAB328BE927D0009F000 /* FlowDemo */, ); }; /* End PBXProject section */ @@ -189,14 +151,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - F1DDBAB828BE927D0009F000 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - F1DDBAC228BE927D0009F000 /* Assets.xcassets in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -209,15 +163,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - F1DDBAB628BE927D0009F000 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - F1DDBAC028BE927D0009F000 /* ContentView.swift in Sources */, - F1DDBABE28BE927D0009F000 /* FlowDemoApp.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXSourcesBuildPhase section */ /* Begin XCBuildConfiguration section */ @@ -340,9 +285,10 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = 9W69ZP8S5F; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; @@ -359,9 +305,13 @@ PRODUCT_NAME = FlowDemo; PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx xros xrsimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; + TARGETED_DEVICE_FAMILY = "1,2,7"; }; name = Debug; }; @@ -371,9 +321,10 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = 9W69ZP8S5F; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; @@ -390,63 +341,17 @@ PRODUCT_NAME = FlowDemo; PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx xros xrsimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; + TARGETED_DEVICE_FAMILY = "1,2,7"; VALIDATE_PRODUCT = YES; }; name = Release; }; - F1DDBAC928BE927D0009F000 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_ENTITLEMENTS = macOS/macOS.entitlements; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - ENABLE_PREVIEWS = YES; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_KEY_NSHumanReadableCopyright = ""; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = io.audiokit.FlowDemo; - PRODUCT_NAME = FlowDemo; - SDKROOT = macosx; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_VERSION = 5.0; - }; - name = Debug; - }; - F1DDBACA28BE927D0009F000 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_ENTITLEMENTS = macOS/macOS.entitlements; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - ENABLE_PREVIEWS = YES; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_KEY_NSHumanReadableCopyright = ""; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = io.audiokit.FlowDemo; - PRODUCT_NAME = FlowDemo; - SDKROOT = macosx; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_VERSION = 5.0; - }; - name = Release; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -459,7 +364,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - F1DDBAC528BE927D0009F000 /* Build configuration list for PBXNativeTarget "FlowDemo (iOS)" */ = { + F1DDBAC528BE927D0009F000 /* Build configuration list for PBXNativeTarget "FlowDemo" */ = { isa = XCConfigurationList; buildConfigurations = ( F1DDBAC628BE927D0009F000 /* Debug */, @@ -468,15 +373,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - F1DDBAC828BE927D0009F000 /* Build configuration list for PBXNativeTarget "FlowDemo (macOS)" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - F1DDBAC928BE927D0009F000 /* Debug */, - F1DDBACA28BE927D0009F000 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; /* End XCConfigurationList section */ /* Begin XCSwiftPackageProductDependency section */ @@ -484,10 +380,6 @@ isa = XCSwiftPackageProductDependency; productName = Flow; }; - F1DDBAD028BE93100009F000 /* Flow */ = { - isa = XCSwiftPackageProductDependency; - productName = Flow; - }; /* End XCSwiftPackageProductDependency section */ }; rootObject = F1DDBAA828BE927B0009F000 /* Project object */; diff --git a/Sources/Flow/Views/WorkspaceView.swift b/Sources/Flow/Views/WorkspaceView.swift index 1c2343b..f90eb7d 100644 --- a/Sources/Flow/Views/WorkspaceView.swift +++ b/Sources/Flow/Views/WorkspaceView.swift @@ -5,7 +5,7 @@ import SwiftUI /// Provides pan and zoom gestures. Unfortunately it seems this /// can't be accomplished using purely SwiftUI because MagnificationGesture /// doesn't provide a center point. -#if os(iOS) +#if os(iOS) || os(visionOS) struct WorkspaceView: UIViewRepresentable { @Binding var pan: CGSize @Binding var zoom: Double