簡體   English   中英

在 Swift 包管理器中找不到“framework/header1.h”文件

[英]'framework/header1.h' file not found in Swift Package Manager

我有一個使用Carthage進行構建的現有 Objective C 框架。 我支持現有 Objective C 框架的 Swift PM,並在當前項目中使用以下命令實現了 Swift PM。

swift package init

這個命令正在初始化 Swift PM 並創建 package.swift 並且我已經配置了它。

當我在 Xcode 中運行 Swift Package Manager 時,我收到錯誤“framework/header1.h”文件未找到,

當我將導入語句更改為@import framework;

它對Swift Package Manager工作正常,但是當我在 Xcode 中打開框架的 .xcproject 文件時,它給了我一個錯誤“找不到模塊框架”。

有什么方法可以導入頭文件或框架,以便它對Swift PMCarthage都能正常工作?

經過兩天多的燒頭,針對上述問題找到了兩種解決方法。

  1. 您可以使用預處理器定義SWIFT_PACKAGE
 #if SWIFT_PACKAGE #import "header1.h" #else #import <framework/header1.h> #endif

2.添加公共頭文件

Project setting > Build Phases > Headers > Public

在 Target 部分添加publicHeadersPath並確保 Package.swift 中的Swift Package Library名稱必須與項目框架相同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM