繁体   English   中英

Swift Package 错误中缺少 PDFKit 符号

[英]PDFKit symbols missing from Swift Package error

我正在尝试构建一个依赖于框架的 swift package,但下游框架抛出错误。

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_PDFDocument", referenced from:
      objc-class-ref in Slice.swift.o
      objc-class-ref in Utility.swift.o
  "_OBJC_CLASS_$_PDFPage", referenced from:
      objc-class-ref in Slice.swift.o
      objc-class-ref in Utility.swift.o
ld: symbol(s) not found for architecture x86_64

下游框架可以独立构建,但是当它作为依赖项添加到其他东西时,它会很痛苦。

iOS 或 macOS SDK 中的“PDFKit”似乎没有链接。 我将如何链接?

我尝试将以下内容添加到我的代码中以查看它是否会有所作为,但没有。

#if os(macOS) 
import Quartz.PDFKit
#else
import PDFKit
#endif

该错误表明 PDFKit 需要在我的 Package.swift 文件中列出...?

编辑

如果我在此处手动 select 'PDFKit' ,则该错误将被消除。 但是,这个 Xcode 实例是用

swift package generate-xcodeproj

所以手动改变东西不应该是必要的......

在此处输入图像描述

swift 论坛的帮助下,我设法使用此 API找到了答案。

这是我在 Package.swift 中的正确用法

如何在 swift package 中链接系统框架/库

  targets: [
    .target(
      name: "SomeTarget",
      dependencies: [ ... ],
      linkerSettings: [
        .linkedFramework("PDFKit")
      ]
    ),
  ]

请注意,LinkerSetting 同时具有.linkedFramework(..).linkedLibrary(..)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM