如何将导入的 Cocoapod 框架标记为弃用
How to mark an imported Cocoapod framework deprecated
在我们的一个框架中,我们使用 SwiftObserver pod。我们的框架在我们应用程序的其他几个框架中使用。
将开发目标提高到 iOS 13.0 后,我想将所有 SwiftObserver 方法的使用标记为已弃用,以逐步更改我们的代码库以使用 Combine 的观察器。
我正在考虑从现在开始分叉 SwiftObserver 或链接 pod 的本地副本。然而,应用程序中仍然使用 SwiftObserver 的部分应该能够使用 pod update
继续更新它,只要不是所有代码都已更改为使用 Combine。
是否有更简单的方法(可能在 podfile 中,或者通过某种覆盖)来标记该 pod 的使用已弃用而不破坏其任何功能?
如果您还有其他问题或我可以提供任何代码示例,请告诉我。
如果您使用的是 swiftlint,您可以添加自定义规则以生成警告,并显示一条指示弃用的消息。您还可以调整这些警告的严重性以导致编译错误。
要使用 SwiftObserver
pod 生成警告,请在 swift lint config file (.swiftlint.yml
) 中创建以下自定义规则:
custom_rules:
pod_deprecation:
name: "Deprecated POD use"
regex: "(SwiftObserver)"
match_kinds:
- identifier
message: "Use of deprecated pods"
对于所有导入 SwiftObserver
:
的文件,此规则将导致警告,并显示 message
参数中提供的消息
@SoumyaMahunt 提出的使用 swiftlint 的替代方法可能是设置您自己的私有存储库。
您可以通过以下方式实现您的目标:
- 创建一个用于解析 CocoaPod 依赖项的私有规范存储库。
- 为 SwiftObserver 创建一个 podspec 并将其设置为弃用 ->
s.deprecated = true
- 在
source 'https://github.com/CocoaPods/Specs.git'
上方添加私有规范仓库,这对于强制 CocoaPods 在搜索全局默认仓库之前针对您的私人仓库进行解析很重要。
优点
- 您可以将此私有规范存储库用于其他私有 pods
- 您可以弃用其他 pods,而无需 hack 在您的项目中。
缺点
- 手动确保第三方 pods 更新到最新版本可能很麻烦(您必须手动添加新的 podspecs 才能更新版本)。
有用的链接:
在我们的一个框架中,我们使用 SwiftObserver pod。我们的框架在我们应用程序的其他几个框架中使用。
将开发目标提高到 iOS 13.0 后,我想将所有 SwiftObserver 方法的使用标记为已弃用,以逐步更改我们的代码库以使用 Combine 的观察器。
我正在考虑从现在开始分叉 SwiftObserver 或链接 pod 的本地副本。然而,应用程序中仍然使用 SwiftObserver 的部分应该能够使用 pod update
继续更新它,只要不是所有代码都已更改为使用 Combine。
是否有更简单的方法(可能在 podfile 中,或者通过某种覆盖)来标记该 pod 的使用已弃用而不破坏其任何功能?
如果您还有其他问题或我可以提供任何代码示例,请告诉我。
如果您使用的是 swiftlint,您可以添加自定义规则以生成警告,并显示一条指示弃用的消息。您还可以调整这些警告的严重性以导致编译错误。
要使用 SwiftObserver
pod 生成警告,请在 swift lint config file (.swiftlint.yml
) 中创建以下自定义规则:
custom_rules:
pod_deprecation:
name: "Deprecated POD use"
regex: "(SwiftObserver)"
match_kinds:
- identifier
message: "Use of deprecated pods"
对于所有导入 SwiftObserver
:
message
参数中提供的消息
@SoumyaMahunt 提出的使用 swiftlint 的替代方法可能是设置您自己的私有存储库。
您可以通过以下方式实现您的目标:
- 创建一个用于解析 CocoaPod 依赖项的私有规范存储库。
- 为 SwiftObserver 创建一个 podspec 并将其设置为弃用 ->
s.deprecated = true
- 在
source 'https://github.com/CocoaPods/Specs.git'
上方添加私有规范仓库,这对于强制 CocoaPods 在搜索全局默认仓库之前针对您的私人仓库进行解析很重要。
优点
- 您可以将此私有规范存储库用于其他私有 pods
- 您可以弃用其他 pods,而无需 hack 在您的项目中。
缺点
- 手动确保第三方 pods 更新到最新版本可能很麻烦(您必须手动添加新的 podspecs 才能更新版本)。