我最近在Podfile中看到了这样一行代码
第一个月
问题是这两个,ENV ['USER']和ENV ['PASS']是设置在Podfile的顶部,我不认为应该在Podfile在所有根据安全措施(请纠正我,如果我错了).所以我试着把它们从Podfile中移走。
我尝试过两种方法:
- 将它们移到模式中的环境变量中
- 创建配置设置文件并将其放在那里
不过,这不管用,不然我也不知道该怎么做。所以,问题是,在Podfile中使用一些外部变量是可能的吗?如果是,如何做到的?
**旁注:**有趣的是,如果我将从文件顶部删除变量,并将它们放入pod-git URL,我会收到以下错误“no implicit converting of nil into String”,好像两个变量都不存在。
2条答案
按热度按时间9avjhtql1#
我不确定Podfile是否可以从环境中读取(@FreeNickname的答案似乎是指Fastfile),但我对私有pod的方法总是有点不同。
我们使用一个只有特定帐户才能访问的私有存储库,而不是URL中的用户名/密码。CocoaPods使用登录用户的凭证来获取repo的内容。
您还可以选择设置一个私有spec存储库,用于定义您的私有pod的最新版本。
当涉及到CI时,您必须确保CI运行者也具有访问此存储库的正确凭据。
iswrvxsc2#
UPD:我完全误解了这个问题,我道歉。我的答案是关于Fastlane(所以,Fastfile,Appfile等)。我把它放在这里以防万一。
下面的信息是关于FASTLANE,而不是COCOAPODS!
是的,有可能:https://docs.fastlane.tools/advanced/other/
您可以将
.env
或.env.default
文件放在与Fastfile
相同的目录中。您可以在这些文件中配置环境变量,然后在Fastfile
,Appfile
等中使用它们:.env
字符串
Appfile
型
Fastfile
型
您还可以拥有多个环境:
.env.CustomEnvironment
、.env.AnotherEnvironment
等然后,您可以使用--env
参数将要使用的环境传递给Fastlane:型