簡體   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