我正在迁移一个Objective-C框架来构建Swift包管理器,但是当我使用xcodebuild -scheme MyFramework -workspace .
构建它时,SwiftPM抱怨:
/Users/uli/Programming/apple/MyFramework/MyFrameworkTests/MyFrameworkTests.m:4:9: module 'MyFramework' not found
@import MyFramework;
~~~~~~~^~~~~~~~~~~~~~~
我已经验证了.testTarget
有一个dependencies: ["MyFramework"]
条目。
通过同事的提示找到了解决方案。错误信息只是误导。当它真正找到构建产品时,我认为它无法找到构建产品,但认为它是空的,因为我忘记为Swift包设置公共头:
.target(
name: "StreamUtilities",
...
publicHeadersPath: "include",
...
并将所有公共头文件移动到目标文件夹的include
子文件夹中。