Junior — Middle
Kas saab Objective-C koodi ühendada ja kasutada Swift Package Manageri kaudu?
sobes.tech AI
Vastus AI-lt
Swift Package Manager (SPM) algselt on mõeldud töötama Swift ja C/C++ koodiga. SPM-i Objective-C tugi on piiratud ja mitte otse, kuna SPM ei suuda automaatselt luua Objective-C jaoks bridging headers (sildpealkirju).
Kuid, Objective-C koodi saab kasutada Swift paketis, kui:
- Pakett sisaldab Objective-C lähtekoodifaile (.m ja .h).
- Package.swift failis on määratud sobivad sätted Objective-C failide kaasamiseks.
- Swift koodis kasutatakse modulaarset importi ning Objective-C failid eksporditakse õigesti mooduli kaudu.
Minimaalne konfiguratsioon näide — Package.swift Objective-C:
// swift-tools-version:5.3
import PackageDescription
let package = Package(
name: "MyPackage",
targets: [
.target(
name: "MyPackage",
dependencies: [],
path: "Sources",
publicHeadersPath: "include"
)
]
)
Sources/MyPackage kaustas peaksid olema Objective-C failid ja päisefailid kaustas include.
Selle meetodiga saab Objective-C koodi ühendada ja kasutada Swift Package Manageri kaudu, kuid piirangutega ja täiendava konfiguratsiooniga. Suuremate projektide jaoks kasutatakse sageli CocoaPods või Carthage, mis paremini toetavad Objective-C.