导入Swift Package Manager依赖项时出现“没有这样的模块”错误

97

我正在运行Xcode 11 Beta 4。 我正在使用CocoaPods,并希望将我的依赖项作为静态库而不是框架与Swift Package Manager一起使用。 在使用Xcode 11创建的新项目中,可以成功导入该依赖项,但是在我现有的CocoaPods工作区中,则无法导入。

我认为这可能与此链接警告在Xcode中有关:

directory not found for option '-L/Users/username/Library/Developer/Xcode/DerivedData/App-axanznliwntexmdfdskitsxlfypz/Build/Products/Release-iphoneos

在警告发出后,我去查看目录是否存在,并且确实存在。除了 CocoaPods 的存在之外,我没有找到任何新创建的项目和我的旧项目之间有任何实质性的区别。希望能得到任何指针。


似乎在Xcode 11.3中已经解决。 - Menno
14个回答

0
在我的情况下,我已经接近存储限制了,这似乎是因为没有足够的空间来下载该软件包所导致的。
这是一个特殊情况,因为大多数人都会有足够的存储空间,而且很好的知道它会默默失败,直到你尝试构建时才会出现这个错误。

0

我能否为您的困境提供更多帮助...

我正在开发一个相当大的iOS应用程序(6680个文件),其结果由许多框架和混合的podfiles、Swift包、旧版ObjC代码(仍然比新的Swift代码多)组成。

每当我们处理Swift包时,我们需要将它们包装在框架中,因为这样可以简化podfile和依赖项的解析,当我们的远程(Jenkins)构建系统吞噬所有内容以生成内部QA和最终的企业和AppStore发布二进制文件时,这非常有用。

今天早些时候,我正在处理一个这样的Swift包,它被包装在一个框架中,上述所有问题都直接冲击了我。

在存储、推送可用代码并重新应用我的存储的框架包装器到Swift包之后,我使用了一条不同的路线,而不是打开我们项目的工作区,其中收集了一堆项目和目标。

打开孤立的框架包装器似乎已经使XCode(13.3.1)屈服了,在那一点上,目标设置“框架、库和可嵌入”部分实际上能够显示Swift包的“Foo”二进制文件。添加它,然后一切都很好。

如果你仍然遇到问题,尝试通过打开更小的代码块来简化问题。或者开始制作这些包装框架(如果可能的话),以便在将它们整合到XC平台之前可以管理更小的部分。


0

对我而言,我进入Xcode->文件(在Mac顶部菜单栏上) ->包 ->更新到最新的软件包版本。这解决了我的问题。


-2
为了保持增量构建的正常工作,我不得不指定“Fix SPM”构建阶段的输出文件,如下所示:enter image description here

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接