Junior — Middle
Vai ir iespējams pievienot un izmantot Objective-C kodu, izmantojot Swift Package Manager?
sobes.tech AI
Atbilde no AI
Swift Package Manager (SPM) sākotnēji ir paredzēts darbam ar Swift un C/C++ kodu. SPM atbalsts Objective-C ir ierobežots un nav tiešs, jo SPM nevar automātiski izveidot bridge headers (tilta galvenes) Objective-C.
Tomēr, Objective-C kodu var izmantot Swift paketē, ja:
- Pakete satur Objective-C avota failus (.m un .h).
- Package.swift ir norādītas atbilstošas konfigurācijas Objective-C failu iekļaušanai.
- Swift kodā tiek izmantots modulārs imports, un Objective-C faili tiek pareizi eksportēti caur moduli.
Minimālas konfigurācijas piemērs — 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 mapē jābūt Objective-C failiem un galvenes failiem mapē include.
Šādā veidā Objective-C kods var tikt pievienots un izmantots ar Swift Package Manager, taču ar ierobežojumiem un papildu konfigurāciju. Lielākiem projektiem bieži izmanto CocoaPods vai Carthage, kas labāk atbalsta Objective-C.