微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Swift Package Manager中将本地库添加为依赖项

如何解决如何在Swift Package Manager中将本地库添加为依赖项

如何在Swift Package Manager中添加本地库(* .a文件)作为依赖项?

我尝试添加我的Package.swift:

dependencies: [
    // Dependencies declare other packages that this package depends on.,.package(url: "file://../otherdirectory/x86_64-apple-macosx/debug/libTest.a")
],

但是当我运行“ swift build”时会出现此错误

Package.swift:17:10: error: type of expression is ambiguous without more context

解决方法

首先:package依赖项只能链接到其他软件包!

可以使用binaryTarget Swift 5.3 开始,但是您应该使用几种所需的体系结构(arm64,x86_64)构建静态库,然后使用下一个命令从它们创建XCFramework:

xcodebuild -create-xcframework \
    -library <path> [-headers <path>] \
    [-library <path> [-headers <path>]...] \
    -output <path>

例如:

xcodebuild -create-xcframework \
    -library build/simulators/libMyStaticLib.a \
    -library build/devices/libMyStaticLib.a \
    -output build/MyStaticLib.xcframework

然后,您可以在包中创建新的二进制目标依赖项:

let package = Package(
   name: "MyPackage",...
   targets: [
      .target(
         name: "MyPackage",dependencies: ["MyStaticLib"]
      ),.binaryTarget(name: "MyStaticLib",path: "path/MyStaticLib.xcframework"),...
   ]

注意:xcframework的路径从项目的根目录开始(与Package.swift相同)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。