Ios 使用git子模块/cocoapod
我正在从事一个项目,其中包括来自Git的其他存储库 我想与这些存储库保持同步。了解最新的功能、错误修复等。 问题1)在不接收所有报告问题的电子邮件等的情况下,在Git上使用存储库保持最新信息的最佳方式是什么 完成后,我想知道最好的方式,包括这些到您的项目。我知道您可以将源代码复制到项目中,但是cocoapod/子模块的用途是什么?例如,用包含的存储库的最新更改更新项目的正确方法是什么 与terminal不同,这两种方法都有GUI吗?是在Xcode项目中包含其他项目的好方法。Cocoapods项目维护了许多开源库的文件列表,其中指定了在哪里下载代码以及如何将它们集成到现有项目中。正如您所指出的,传统上您必须添加Ios 使用git子模块/cocoapod,ios,github,repository,git-submodules,cocoapods,Ios,Github,Repository,Git Submodules,Cocoapods,我正在从事一个项目,其中包括来自Git的其他存储库 我想与这些存储库保持同步。了解最新的功能、错误修复等。 问题1)在不接收所有报告问题的电子邮件等的情况下,在Git上使用存储库保持最新信息的最佳方式是什么 完成后,我想知道最好的方式,包括这些到您的项目。我知道您可以将源代码复制到项目中,但是cocoapod/子模块的用途是什么?例如,用包含的存储库的最新更改更新项目的正确方法是什么 与terminal不同,这两种方法都有GUI吗?是在Xcode项目中包含其他项目的好方法。Cocoapods项目
git子模块
,手动将源文件添加到项目中,更新构建设置,等等。Cocoapods会帮你处理所有这些
我不确定是否有一种方法可以跟踪Github项目的更新,而不通知问题,但是Cocoapods肯定可以告诉您是否有任何“pods”已经过时。然后,只需一个命令即可将它们更新到最新版本。也就是说,通常是将您的外部依赖项“锁定”到您知道可以正常工作的特定版本
使用椰子荚
首先要开始。然后,只需在根项目目录中创建一个名为Podfile
的文件(与包含.xcodeproj
文件的目录相同)。在内部,您可以指定目标操作系统和依赖项:
platform :ios, '5.0'
pod 'AFNetworking', '0.9.1'
pod 'OHAttributedLabel', '0.1.1'
上面的例子以iOS 5.0为目标,引入了AFNetworking和OHAttributedLabel项目
然后,在终端中,更改到项目目录:
> cd path/to/my/project
然后运行pod安装
> pod install
这将为您检查最新版本的依赖项。它还将生成一个.xcworkspace
文件。从现在起,在处理项目时,必须打开.xcworkspace,而不是.xcodeproj文件
在新的工作区内,您将拥有现有的Xcode项目和一个新的Pods
项目-其中包含所有第三方库。只要像平常一样构建和运行你的应用程序,Pods项目也将被构建和包含
其他一些有用的Cocoapods命令:
> pod outdated
将列出具有可用更新的所有依赖项
> pod search query
将搜索所有已知的Pod规格以查找“查询”。用于查找新库
教程
- 看起来塔斯普勒斯有一个不错的
- 有一个
祝你好运 James Frost的回答很好地解释了如何使用CoCoapod及其相对于子模块的优势 与CoCoapod相比,子模块具有以下几个重要优势: 子模块是子repo-这不仅意味着git和git GUI可以隐式识别它们,并且越来越多的支持轻松地使用它们,还意味着您的依赖关系与git repo(不管是否是CoCoCoapod)所在的奇妙世界保持联系。这意味着您能够在项目内协作和测试更改,您的项目通常是细化依赖关系的灵感来源 不幸的是Cocoapods没有维护这个链接,在依赖项上工作意味着从git克隆它,超出Cocoapods的范围。 编辑:值得注意的是,cocoapod确实允许使用
路径
或本地
字段在本地pod上工作,甚至可以构建自己的Spec repo,但这仍然不是一个简单的过程
少一个工具依赖项-如前一个项目符号所述,子模块是git的一个功能,您使用git意味着您可以使用它们。任何采用git的软件都意味着它们最终将支持git的所有(重要)特性或涵盖常见用例的所有特性。Xcode 5引入了对git和GUI的基本支持(这是工具依赖项,是真的,但希望只是说明信息是如何呈现的,git说明它是如何工作的),就像git Tower使使用子回购变得简单
Cocoapod已经走过了漫长的道路,每天都在采取措施,成为一个稳定的,不可或缺的工具。然而,它还没有得到苹果的同意,苹果也没有理由不发布一个打破Cocoapods的Xcode变更。此外,Cocoapod依赖于Ruby。除此之外,考虑到椰子荚引起了多少关注和社区,苹果忽视它是愚蠢的
同样值得注意的是,使用其中一个并不会阻止你使用另一个。这可能是一个令人头痛的问题,也可能是您所需要的,可能是将Cocoapods用于小型单类库或具有复杂依赖性的库,以及您将经常与之交互的库的子模块。现在有一个新的Xcode插件来管理Cocoapods。你应该用GUIs来做。这是一个很好的回答。然而,我认为需要注意的是,大多数豆荚已经过时了。出于某种原因,许多项目只是“忘记”更新它们的pod。因此,请始终与主回购确认您的POD实际上是最新版本。感谢您解释CocoaPods!我希望您已经给出了另一个选项,git子模块,t