繁体   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