Post

Replies

Boosts

Views

Activity

Swift Package Manager + Dependency: How to View Previews?
Assume you have a working swift package that previews a view see the following question on how to achieve that (https://developer.apple.com/forums/thread/651547?login=true&page=1#617372022). Note make sure your view is in the root folder of the package or live previews will not work. Add a dependency to the package. Example shown below The Problem Currently when you add a swift package manager dependency to a swift package in which you want to view a live preview you receive the following error: The Question How do you view live previews of a SwiftUI view in Xcode 12 Swift Package assuming you have a newly created swift package with another swift package as a dependency? Note: This may be a bug on Apple's part and if I do not see a response in a few days will file a bug report in feedback assistant. Live Preview Diagnostics: build aborted due to an internal error: planningFailed("multiple configured targets of \'SwiftyStoreKit\' are being created for iOS Simulator") SchemeBuildError: Failed to build the scheme "TestPackagePreview" unexpected service error: build aborted due to an internal error: planningFailed("multiple configured targets of \'SwiftyStoreKit\' are being created for iOS Simulator") Build system information: error: unexpected service error: build aborted due to an internal error: planningFailed("multiple configured targets of \'SwiftyStoreKit\' are being created for iOS Simulator") Package.Swift: // swift-tools-version:5.3 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription let package = Package(     name: "TestPackagePreview",     platforms: [             .iOS(.v13)         ],     products: [         // Products define the executables and libraries a package produces, and make them visible to other packages.         .library(             name: "TestPackagePreview",             targets: ["TestPackagePreview"]),     ],     dependencies: [         .package(url: "https://github.com/bizz84/SwiftyStoreKit.git", .branch("master"))     ],     targets: [         // Targets are the basic building blocks of a package. A target can define a module or a test suite.         // Targets can depend on other targets in this package, and on products in packages this package depends on.         .target(             name: "TestPackagePreview",             dependencies: ["SwiftyStoreKit"]), // this causes the error in preview, but is needed to use the dependency throughout package.         .testTarget(             name: "TestPackagePreviewTests",             dependencies: ["TestPackagePreview"]),     ] )
0
0
1.4k
Jun ’20
How to: Previews in Swift Package?
How do you get previews working in a swift package? This talk shows this working, however the following steps do not work. Using Xcode 12 create a new Swift Package Add a simple view with a preview to that swift package (See code below) Attempt to run the preview. See errors Code: #if os(iOS) import SwiftUI @available(iOS 14.0, *) public struct TestView: View {     public init() {             }     public var body: some View {         Text("Hello World")     } } @available(iOS 14.0, *) struct NoDataView_Previews: PreviewProvider {     static var previews: some View {         TestView()     } } #endif Error: Build input file cannot be found:...TestPackagePreview.o' (in targ SchemeBuildError: Failed to build the scheme "TestPackagePreview" Build input file cannot be found: ...TestPackagePreview.o' (in target 'TestPackagePreviewTests' from project 'TestPackagePreview' Link TestPackagePreviewTests (x86_64): error: Build input file cannot be found: ...TestPackagePreview.o' (in target 'TestPackagePreviewTests' from project 'TestPackagePreview') Note I have added "..." in file paths for privacy reasons
3
0
4.8k
Jun ’20