'Swift软件包管理器中找不到'framework / header1.h'文件

问题描述 投票:0回答:1

我有一个现有的Objective C框架,正在使用Carthage进行构建。我为现有的Objective C框架支持Swift PM,并在当前项目中使用以下命令实现了Swift PM。

swift package init

此命令正在初始化Swift PM并创建package.swift,并且我已对其进行配置。

当我在Xcode中运行Swift软件包管理器时,出现错误消息“ framework / header1.h”,找不到,

当我将import语句更改为@import framework;

对于Swift Package Manager来说,它工作正常,但是当我在Xcode中打开框架的.xcproject文件时,它给我一个错误“找不到模块框架”。

是否有导入标题或框架的方法,以便它对Swift PMCarthage都可以正常工作?

ios swift xcode carthage swift-package-manager
1个回答
0
投票

烧了两天以上的头后,找到了解决上述问题的两种方法。

  1. 您可以使用预处理程序定义SWIFT_PACKAGE
#if SWIFT_PACKAGE
#import "header1.h"
#else
#import <framework/header1.h>
#endif

2。在

中添加公共头文件
Project setting > Build Phases > Headers > Public

在目标部分中添加publicHeadersPath,并确保Package.swift中的快速软件包库名称必须与项目框架中的名称相同。

© www.soinside.com 2019 - 2024. All rights reserved.