【问题标题】:Remove all cocoapod dependencies from a project从项目中删除所有 cocoapod 依赖项
【发布时间】:2020-05-29 20:35:11
【问题描述】:

所以我有一个包含 Obj-C 和 Swift 代码的大型 Xcode 项目,其中包含许多 cocoapods 依赖项。

但我选择的开发人员不适用于 cocoapod 依赖项。 我知道这有点奇怪,但他只是不想用 pod 设置他的 Mac,而且这与他没有商量余地(也不能选择切换开发人员)。

所以...我的问题。 是否可以删除所有 cocoapod 依赖项并仍然像当前一样编译和运行项目? 我有一种感觉,人们会说——这取决于你的项目。 但如果我能得到一个粗略的“是的,它是可能的”或“不,它总是不可能的”,那就太好了。 如果可能的话,如何开始这样的任务?


我不知道这是否会有所帮助,但这里是项目中所有当前 Cocoapod 依赖项的列表:

  • pod 'Countly'
  • pod 'CocoaLumberjack'
  • 吊舱“面料”
  • pod 'Crashlytics'
  • pod 'AFNetworking', '~> 2.0'
  • pod 'MBProgressHUD'
  • pod 'CHTCollectionViewWaterfallLayout', '~> 0.9'
  • pod 'pop', '~> 1.0'
  • pod 'TwitterKit'
  • pod 'FBSDKCoreKit'
  • pod 'FBSDKLoginKit'
  • pod 'FBSDKShareKit'
  • pod 'FBSDKMessengerShareKit'
  • pod 'Inapptics'
  • pod 'Firebase/Core'
  • pod 'Firebase/Auth'
  • pod 'Firebase/Storage'
  • pod 'FirebaseUI/Storage'
  • pod 'Firebase/数据库'
  • pod 'Firebase/Messaging'
  • pod 'SwiftKeychainWrapper'
  • pod 'DeviceKit', '~> 1.0'
  • pod 'WSCoachMarksView'
  • pod 'IQKeyboardManagerSwift'
  • pod 'FLAnimatedImage', '~> 1.0'
  • pod 'GBDeviceInfo'
  • pod 'SDWebImage', '~> 4.0'
  • pod 'SDWebImage/GIF'
  • pod 'MagazineLayout'
  • 吊舱“巨嘴鸟”

【问题讨论】:

  • 如果你将依赖项提交到你的仓库,他应该能够在没有安装 cocoapods 的情况下在应用程序上工作。任何更改都会由安装它的人完成,但它比手动保持所有文件最新要好得多。

标签: ios objective-c swift xcode cocoapods


【解决方案1】:

您可以删除 cocoapods,但为了构建您的项目,您必须将依赖项一一添加到您的项目中。

我个人不建议这样做。工作量很大,如果您将来更改了开发人员,您可能需要再次重新添加他们。

【讨论】:

  • 感谢您的回答!如何将依赖项一一添加到您的项目中?为什么你说如果我改变开发者,我将来可能需要重新添加依赖项?
  • 要添加依赖项,您可以查看此苹果教程:developer.apple.com/documentation/xcode/… 如果任何其他开发人员希望使用它,您将需要重新添加依赖项,因为大多数 iOS 开发人员更喜欢使用cocopoads 超过手动依赖项
【解决方案2】:

不推荐,但正如您所说,现阶段无法切换开发人员。只需从 cocoapods 中解构项目,然后手动复制后将所需文件/库粘贴到您的项目中。

要取消集成 Pod,只需使用终端转到您的项目文件夹。和类型

吊舱解体

之后手动将库文件复制/粘贴到 Xcode 中的项目中。

【讨论】:

    【解决方案3】:

    是的,这是可能的。但是您的应用在使用这些依赖项的地方会显示错误。

    只需按照这两个步骤即可删除。

    1. 删除/注释掉所有依赖项。要注释掉,只需在每个依赖项之前添加#。(即#pod 'Countly')

    2. 使用“pod install”命令再次安装 pod。

    【讨论】:

      【解决方案4】:

      如果我理解您的问题,您的开发人员没有在 cocoapods 方面的经验,这就是他不想要它的原因。我告诉你,如果你在你的应用程序使用这些依赖项时删除了你的 cocoapods 依赖项库,它将无法工作。这就是为什么它被称为依赖项,因为您的应用程序依赖于这些库。除非您的应用不再使用这些库,否则您可以将其删除,但我想情况并非如此。

      您的开发人员应该有一个备用依赖项管理器,除了 cocoapods 之外,还有 carthage 和 Swift 包管理器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-05-10
        • 1970-01-01
        • 2021-09-08
        • 1970-01-01
        • 2020-12-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多