我有一个现有的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 PM和Carthage都可以正常工作?
烧了两天以上的头后,找到了解决上述问题的两种方法。
SWIFT_PACKAGE
#if SWIFT_PACKAGE #import "header1.h" #else #import <framework/header1.h> #endif
2。在
中添加公共头文件
Project setting > Build Phases > Headers > Public
在目标部分中添加publicHeadersPath,并确保Package.swift中的快速软件包库名称必须与项目框架中的名称相同。