Swift Package Manager – Erstellungsphase zum Kopieren von Dateien für eine dynamische AbhängigkeitIOS

Programmierung für iOS
Anonymous
 Swift Package Manager – Erstellungsphase zum Kopieren von Dateien für eine dynamische Abhängigkeit

Post by Anonymous »

Ich arbeite an einer iOS-Anwendung und den Kern davon werden wir als eigenständiges Swift-Paket für andere Entwickler öffnen.
Das Swift-Paket basiert auf Sodium (https://github.com/jedisct1/swift-sodium). Bei der Verwendung von SPM gibt es ein Problem mit dieser Bibliothek: Während der Archivierung (und manchmal auch während der lokalen Kompilierung in (Dies wird als Fehler in SPM / Sie haben das Problem gelöst, indem sie die Bibliothek als separates .xcframework aufgeteilt haben, das an einem anderen Ort gehostet wurde. Erstellen Sie dann ein neues Package.swift, das es als externe Abhängigkeit importiert. Dieses aktualisierte Sodium-Paket wurde auf den Typ „Dynamic“ eingestellt.
Wenn ich dies in mein Swift-Paket einfüge und dann mein Paket in meine iOS-Anwendung füge … es lässt sich einwandfrei erstellen, läuft in

Code: Select all

Termination Description: DYLD, dyld: Using shared cache:  | dependent dylib `@rpath/Sodium.framework/Sodium` not found for 
/ tried but didn't find 
Bei Verwendung anderer Abhängigkeitsmanagement-Tools besteht die Lösung normalerweise darin, dem Xcode-Projekt der iOS-Anwendung eine „Build-Phase zum Kopieren von Dateien“ hinzuzufügen und das Framework hinzuzufügen. Wenn ich versuche, dies in meinem Xcode-Projekt zu tun, kann ich das Sodium-Framework nicht finden und ich kann SPM nicht anweisen, das Framework in Package.swift zu kopieren.
Wie aktualisiere ich mein Package.swift, damit es dieses Framework für jede App kopiert, die es verwendet?
Wenn das nicht möglich ist, wie kopiere ich es dann in das Xcode-Projekt? Es ist im Dropdown-Menü nicht sichtbar.
Derzeit sieht mein Package.swift so aus:

Code: Select all

import PackageDescription

let package = Package(
name: "",
platforms: [.iOS(.v14)],
products: [
.library(name: "", targets: [""]),
],
dependencies: [
.package(url: "https://github.com/attaswift/BigInt.git", from: "5.2.1"),
.package(name: "Sodium", url: "https://github.com/junelife/swift-sodium.git", .branch("spm"))
],
targets: [
.target(
name: "",
dependencies: [
"Sodium",
"BigInt",
]
),

.testTarget(
name: "Tests",
dependencies: [""]
),
]
)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post