Worth a read for some more context.
Create the file in the root of the project (where your Package.swift file lives as well), and use the following contents:
/// Package.xcconfig| import SwiftUI | |
| struct MyValue: _ViewTraitKey { | |
| static var defaultValue: Int = 0 | |
| } | |
| extension View { | |
| func myValue(_ value: Int) -> some View { | |
| _trait(MyValue.self, value) | |
| } |
Worth a read for some more context.
Create the file in the root of the project (where your Package.swift file lives as well), and use the following contents:
/// Package.xcconfig| PRODUCT_NAME := Foo | |
| SCHEME_NAME := ${PRODUCT_NAME} | |
| WORKSPACE_NAME := ${PRODUCT_NAME}.xcworkspace | |
| UI_TESTS_TARGET_NAME := ${PRODUCT_NAME}UITests | |
| TEST_SDK := iphonesimulator | |
| TEST_CONFIGURATION := Debug | |
| TEST_PLATFORM := iOS Simulator | |
| TEST_DEVICE ?= iPhone 11 Pro Max | |
| TEST_OS ?= 13.3 |
| function possibilities (signals) { | |
| var atoms = { | |
| ".": "E", | |
| "-": "T", | |
| "I": { | |
| ".": "S", | |
| "-": "U" | |
| }, | |
| "A": { | |
| ".": "R", |
| // swift-interface-format-version: 1.0 | |
| // swift-compiler-version: Apple Swift version 5.1.1 (swiftlang-1100.2.274.2 clang-1100.2.32.1) | |
| // swift-module-flags: -target arm64e-apple-ios13.2 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -Osize -module-name SwiftUI | |
| import Combine | |
| import CoreData | |
| import CoreFoundation | |
| import CoreGraphics | |
| import CoreText | |
| import Darwin | |
| import Foundation |
| (extension in :Animatable< where A.AnimatableData == EmptyAnimatableData>.animatableData.getter : EmptyAnimatableData | |
| (extension in :Animatable< where A.AnimatableData == EmptyAnimatableData>.animatableData.modify : EmptyAnimatableData | |
| (extension in :Animatable< where A.AnimatableData == EmptyAnimatableData>.animatableData.setter : EmptyAnimatableData | |
| (extension in :Animatable< where A: VectorArithmetic>.animatableData.getter : A | |
| (extension in :Animatable< where A: VectorArithmetic>.animatableData.modify : A | |
| (extension in :Animatable< where A: VectorArithmetic>.animatableData.setter : A | |
| (extension in :Button< where A == PrimitiveButtonStyleConfiguration.Label>.init(PrimitiveButtonStyleConfiguration) -> Button<PrimitiveButtonStyleConfiguration.Label> | |
| (extension in :Button< where A == Text>.init(_: LocalizedStringKey, action: () -> ()) -> Button<Text> | |
| (extension in :Button< where A == Text>.init<A where A1: StringProtocol>(_: A1, action: () -> ()) -> Button<Text> | |
| (extension in :CoreGraphics.CGFloat.magnitudeSqu |
| public struct Extension<Base> { | |
| public let base: Base | |
| public init(_ base: Base) { | |
| self.base = base | |
| } | |
| } | |
| public protocol ExtensionCompatible { | |
| associatedtype Compatible | |
| var ex: Extension<Compatible> { get set } |
| # Customize this file, documentation can be found here: | |
| # https://docs.fastlane.tools/actions/ | |
| # All available actions: https://docs.fastlane.tools/actions | |
| # can also be listed using the `fastlane actions` command | |
| # Change the syntax highlighting to Ruby | |
| # All lines starting with a # are ignored when running `fastlane` | |
| # If you want to automatically update fastlane if a new version is available: | |
| # update_fastlane |