Tag: Vadym Markov

在BuddyBuild中处理更新的pod

我们正在使用BuddyBuild作为CI。 运行得很好。 今天,我遇到了有关更新的广告连播的问题,这是我们如何解决问题的记录。 在我们的一个应用程序中,我们使用了自己的本地条形码扫描仪。 它使用子视图控制器模式进行了一次甜蜜的更新,该模式允许轻松进行自定义和实例配置。 版本4.1.1已发布到CocoaPods 因此,我使用pod update BarcodeScanner更新了pod,更新了代码以使用新的委托方法和配置。 一切都很好。 让我们提交并发出Pull请求。 BuddyBuild踢的构建,它失败。 日志说明了Podfile和Podfile.lock之间的冲突 尝试脚本 所以我想我可以运行一些自定义脚本来强制BuddyBuild更新Pod。 查看有关自定义脚本的文档,克隆后脚本听起来像是编写脚本的好地方 Buddybuild自动分析您的存储库,并自动以最佳构建设置对其进行配置。 但是,如果在构建过程中需要自定义逻辑,则可以在存储库中包含自定义脚本,以在构建过程中的四个点运行 克隆后脚本在git clone之后立即运行,然后buddybuild对存储库中的内容进行任何分析。 让我们创建一个文件buddybuild_postclone.sh 没用 让我们重置本地规格存储库 也没用。 然后,我仔细查看了日志 将CocoaPods版本切换到1.1.1 看来BuddyBuild正在使用cocoapods 1.1.1 。 我的是version 1.4.0 。 指定CocoaPods版本 所以我需要指定正确的CocoaPods版本,以确保我和BuddyBuild在同一页面上 在我的Gemfile 然后运行bundler install并检查Gemfile.lock以查看CocoaPods的版本为1.4.0。 新希望 提交更改后,BuddyBuild选择了正确的CocoaPods版本,现在可以正确使用新的Pod。

从灵感到生产,第1部分

最后但并非最不重要的一点是,我们有时间做我们以前无法做到的事情,适当地讨论事情,而无需感到压力。 我可以继续下去,当您节省的是时间时,可能性无穷无尽。 时间是值得信赖的绝佳货币。 建立iOS Foundation并在选择的框架中添加约定可以帮助我们减少在客户端项目之间进行切换时的上下文切换量。 如果您希望拥有协作文化,那么这至关重要。 由于实现之间的转换很容易,因此提供帮助的动机就越来越大。 它们越相似,上下文切换就越容易。 我们首先担心基金会会引入限制,从而降低团队的整体幸福感。 它确实要付出代价:自由选择或跳跃任何新事物。 就是说,基础并不是一成不变的,它应该像所有实施一样,成为始终应受到质疑,修订和改进的指南。 在选择新技术并引入影响整个团队的新依赖项时,它应该可以帮助您清醒。 建立牢固的基础需要花费时间,并且需要进行大量讨论,您可能会发现您在所有事情上均未达成共识,但是我敢打赌,您和您的团队都会为已经被定义为潜规则的事情感到惊讶。 当然,并不是所有人都会对所有决定感到满意,这就是民主的来龙去脉。我们使用赞成或反对的态度投票,如果多数票通过,那么就应该解决。 话虽如此,仅仅是因为某些东西没有被基金会接受并不意味着它不能被使用。 核心基础只是定义了转到工具的工具,如果该工具达不到标准,请问自己“可以改进吗?”。 如果是,那么这是进行开源开发的绝佳机会。 如果没有,也许我们需要完全不同的东西。 如果工具真的是通用的,并且从长远来看是属于基础的,那么随着时间的流逝,过多的否定也应该成为指导。 基金会最终比我们原先想象的要多得多,不仅仅是问题。 这是我们讨论团队前进方向的论坛。 即使我们基础上的活动放慢了速度,也并不意味着它不起作用。 相反,我认为事实恰恰相反。 随着摩擦的减少和结论的真实性,我们认为我们未来的自我会发现能够查明为什么,如何以及何时到达自己的位置会很有用。 如前所述,回顾过去可能是前进的最佳方式,但请记住,对过去的选择要仁慈,即使最终选择是错误的。 相反,拥抱并祝贺自己做出了选择。 我们仍然将Slack用作沟通的主要工具,但是一旦我们进入涉及做出会影响运营的决策的讨论时,我们就会将其移至基础,以便每个人都有时间参与。 最初,我想在一篇文章中总结所有内容,很快我发现一次开会的内容太多了,因此我决定将其分为四个部分。 这是“ 从灵感到生产” 的第一部分, 不要担心开发人员,即将到来的文章中将有一些代码片段。 您可以在Twitter @ zenangst和GitHub @zenangst上找到我 。