I'm trying to import this dependency:
https://github.com/PureSwift/CFreeType
but I am getting this error:
Fetching https://github.com/PureSwift/CFreeType.git
error: dependency graph is unresolvable; found these conflicting requirements:
Dependencies:
https://github.com/PureSwift/CFreeType.git # 1.0.4
The repo has a 1.0.4 tag. Am I doing something wrong?
Here is my Package.swift:
// swift-tools-version:4.2
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "SwiftPlot",
products: [
// Products define the executables and libraries produced by a package, and make them visible to other packages.
.library(
name: "SwiftPlot",
targets: ["AGG", "lodepng", "CPPAGGRenderer", "CAGGRenderer", "SwiftPlot", "SVGRenderer", "AGGRenderer"]),
],
dependencies: [
.package(url:"https://github.com/PureSwift/CFreeType.git", .exact("1.0.4")),
],
targets: [
//relevant targets
],
cxxLanguageStandard: .cxx11
)
Related
My new Swift project is not building with the latest version of Antlr4.
I have created projects similar projects before (with Antlr 4.10), but I am only getting issues with Antlr 4.11 and 4.11.1 .
I get the following error
https://github.com/antlr/antlr4 # 4.11.1: error: /Package.swift has no Package.swift manifest for version 4.11.1 in https://github.com/antlr/antlr4
Below is my Package.swift file
// swift-tools-version:5.5
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "spl-swift",
dependencies: [
// Dependencies declare other packages that this package depends on.
// .package(url: /* package url */, from: "1.0.0"),
.package(url: "https://github.com/apple/swift-argument-parser", from: "1.0.0"),
//.package(url: "/private/tmp/Antlr4-tmp-1663142993", from: "4.0.0")
.package(url: "https://github.com/antlr/antlr4", from: "4.11.1")
],
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.
.executableTarget(
name: "spl-swift",
dependencies: [
.product(name: "ArgumentParser", package: "swift-argument-parser"),
"Antlr4"
]),
.testTarget(
name: "spl-swiftTests",
dependencies: ["spl-swift"]),
]
)
I don't know why I was getting this problem with 4.11.1 but I was able to get it working by downloading release 4.10.1 and using it as a local dependency
// swift-tools-version:5.7
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "spl-swift",
dependencies: [
.package(name: "Antlr4", path: "~/Downloads/antlr4-4.10.1"),
.package(url: "https://github.com/apple/swift-argument-parser", from: "1.0.0"),
//.package(url: "https://github.com/antlr/antlr4", from: "4.11.1")
],
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.
.executableTarget(
name: "spl-swift",
dependencies: [
.product(name: "ArgumentParser", package: "swift-argument-parser"),
"Antlr4"
],
exclude: [
"Lang.tokens",
"LangLexer.interp",
"LangLexer.tokens",
"Lang.interp"
]),
.testTarget(
name: "spl-swiftTests",
dependencies: ["spl-swift"]),
]
)
I am creating a custom swift package that depends on firebase. I followed different tutorial but I struggling with an error.
This is my package description:
import PackageDescription
let package = Package(
name: "FirebaseAuthManagment",
products: [
.library(
name: "FirebaseAuthManagment",
targets: ["FirebaseAuthManagment"]),
],
dependencies: [
.package(url: "https://github.com/firebase/firebase-ios-sdk.git", from: "9.6.0")
],
targets: [
.target(
name: "FirebaseAuthManagment",
dependencies: [
.product(name: "FirebaseAuth", package: "Firebase")
]),
.testTarget(
name: "FirebaseAuthManagmentTests",
dependencies: ["FirebaseAuthManagment"]),
]
)
This is the error unknown package 'Firebase' in dependencies of target 'FirebaseAuthManagment'; valid packages are: 'firebase-ios-sdk'. The Package name is FirebaseAuthManagment.
The problem is on the product specification .product(name: "FirebaseAuth", package: "Firebase"). If this line is avoided I can find different Firebase packages like FirebaseStorage, FirebaseAnalytics and others but not FirebaseAuth.
I used SPM to add packages to my project/App. In the package file
I wanted to set target to a dependency. I get this error anytime the app tries to build.
// swift-tools-version:5.5
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "Sycra",
products: [
.library(
name: "Sycra",
targets: ["Sycra"]),
],
dependencies: [
.package(url: "https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library", .upToNextMinor(from: "3.2.0"))
],
targets: [
define a module or a test suite.
.target(
name: "Sycra",
dependencies: ["NordicMesh"]),
.testTarget(
name: "SycraTests",
dependencies: ["Sycra"]),
]
)
FILE STRUCTURE
ERORR
dependency 'NordicMesh' in target 'Sycra' requires explicit declaration; reference the package in the target dependency with '.product(name: "NordicMesh", package: "IOS-nRF-Mesh-Library")'
Actually the error message already tells you what you have to do:
add
.product(name: "NordicMesh", package: "IOS-nRF-Mesh-Library")
to the dependencies array:
... dependencies: [
.product(name: "NordicMesh", package: "IOS-nRF-Mesh-Library") //<<< like this
//other dependencies
]),
I'm trying to expose a Mocks module alongside my Helpers module. Can a single Swift Package expose sibling modules like this?
Here's what my package manifest looks like:
// swift-tools-version:5.2
import PackageDescription
let package = Package(
name: "Helpers",
products: [
.library(
name: "Helpers",
targets: ["Helpers"]),
.library(
name: "Mocks",
targets: ["Mocks"]),
],
dependencies: [
.package(name: "Parent", url: "foo/bar/Parent.git", .upToNextMinor(from: "0.1.0")),
],
targets: [
.target(
name: "Helpers",
dependencies: ["Parent"]),
.target(
name: "Mocks",
dependencies: ["Parent", "Helpers"]),
.testTarget(
name: "HelpersTests",
dependencies: ["Helpers", "Mocks"]),
]
)
This manifest allows me to import and use both Helpers and Mocks from within HelpersTests. But a project that declares this package as a dependency (using Xcode 11's UI) can only see the Helpers module to import it. Mocks throws an error that there is "no such module." Is this intended behavior? Am I doing something wrong, or is there no way to expose both libraries from one package?
Im trying to learn the ropes of Twilio. The goal is to send text messages from my app. Im following this getting started guide
At the last step is to run this command in terminal: (yes I have changed SwiftSMSwith my own project name)
swift build && ./.build/debug/SwiftSMS
This command results in the following:
MyMac:MyProject MyName$ swift build && ./.build/debug/myProject Compile
Swift Module 'myProject' (1 sources)
/Volumes/myProject/myProject/Sources/myProject/main.swift:2:8: error:
no such module 'Alamofire'
import Alamofire
^ error: terminated(1): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-build-tool
-f /Volumes/myProject/myProject/.build/debug.yaml main output:
I have not done any config with Twilio in Xcode yet. As far as I can understand from the guide should this send a message without doing anything in Xcode?
EDIT*:
Package.swift:
// swift-tools-version:4.2
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "myProject",
dependencies: [
.package(url: "https://github.com/Alamofire/Alamofire.git", from: "4.0.0")
],
targets: [
.target(
name: "myProject",
dependencies: ["Alamofire"]),
.testTarget(
name: "myProjectTests",
dependencies: ["Alamofire"]),
]
)
Use this as your Package.swift - you can't simply say "Alamofire" and expect SPM to magically know where to get the sources from.
import PackageDescription
let package = Package(
name: "myProject",
dependencies: [
.package(url: "https://github.com/Alamofire/Alamofire.git", from: "4.0.0")
],
targets: [
.target(
name: "myProject",
dependencies: ["Alamofire"]),
.testTarget(
name: "myProject Tests",
dependencies: ["Alamofire"]),
]
)