在 Swift 包中添加 Swift 扩展

4
我想将Swift扩展文件移动到一个Swift包中。但是,在将文件移动到Swift包后,我遇到了以下错误:

"Type 'NSAttributedString' has no member 'makeUnderlineString'"

我们不能将Swift扩展添加到Swift包中吗? 更新: 最终,我解决了这个问题。我错过了一些东西。以下是使用Swift Package中扩展的步骤。感谢大家的评论。

  1. 在“扩展”前面添加“public”

public extension String {

  1. 如果您在本地编辑Swift Package,请为该Swift Package创建方案。

  2. 将Swift Package添加到 General -> Frameworks、Libraries和嵌入式内容中。

  3. 导入Swift Package的目标名称。这个MyLibrary是Swift Package中的目标名称。

import MyLibrary


2
你把扩展名设为 public 了吗? - Sweeper
你能分享一下代码吗? - Picode
你是在测试目标中使用它吗?我的第一个猜测是@Sweeper所说的。始终为每个扩展编写至少一个测试,而不使用@testable来保证这种情况不会发生! - user652038
感谢大家,特别是Sweeper。我已经更新了问题,并附上了我找到的解决方案。 - winner.ktw
1个回答

0
尝试清理项目CMD+Shift+K,然后如果在必要的地方使用了“public”关键字,它应该可以工作。

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