将(OC+Swift)库打包成为swift package包
示例目录结构
.
├── Package.swift
├── Sources
│ ├── SwiftCode // Swift 源码目录
│ │ ├── SwiftFile1.swift
│ │ └── SwiftFile2.swift
│ ├── ObjectiveCCode // Objective-C 源码目录
│ ├── ObjCFile1.m
│ ├── ObjCFile2.m
│ └── ObjCHeader.hPackage.swift 配置
Package.swift 配置// swift-tools-version:5.5
import PackageDescription
let package = Package(
name: "MixedLanguagePackage",
platforms: [
.iOS(.v13) // 根据项目需求设置支持的平台和版本
],
products: [
// 定义最终生成的库或可执行文件
.library(
name: "MixedLanguagePackage",
targets: ["SwiftTarget"]
)
],
dependencies: [
// 在这里添加外部依赖(如果需要)
],
targets: [
// Swift 目标
.target(
name: "SwiftTarget",
dependencies: ["ObjectiveCTarget"], // 依赖 Objective-C 目标
path: "Sources/SwiftCode" // Swift 源码目录路径
),
// Objective-C 目标
.target(
name: "ObjectiveCTarget",
path: "Sources/ObjectiveCCode", // Objective-C 源码目录路径
publicHeadersPath: "." // 指定头文件所在目录
)
]
)配置说明
头文件管理
编译测试
示例目录结构
完整的 Package.swift 示例
Package.swift 示例配置详解
Swift 和 Objective-C 的交互
测试和验证
Last updated