swift 在Podfile中是否可以使用环境变量

sczxawaw  于 2023-08-02  发布在  Swift
关注(0)|答案(2)|浏览(117)

我最近在Podfile中看到了这样一行代码
第一个月
问题是这两个,ENV ['USER']和ENV ['PASS']是设置在Podfile的顶部,我不认为应该在Podfile在所有根据安全措施(请纠正我,如果我错了).所以我试着把它们从Podfile中移走。
我尝试过两种方法:

  • 将它们移到模式中的环境变量中
  • 创建配置设置文件并将其放在那里

不过,这不管用,不然我也不知道该怎么做。所以,问题是,在Podfile中使用一些外部变量是可能的吗?如果是,如何做到的?

**旁注:**有趣的是,如果我将从文件顶部删除变量,并将它们放入pod-git URL,我会收到以下错误“no implicit converting of nil into String”,好像两个变量都不存在。

9avjhtql

9avjhtql1#

我不确定Podfile是否可以从环境中读取(@FreeNickname的答案似乎是指Fastfile),但我对私有pod的方法总是有点不同。
我们使用一个只有特定帐户才能访问的私有存储库,而不是URL中的用户名/密码。CocoaPods使用登录用户的凭证来获取repo的内容。
您还可以选择设置一个私有spec存储库,用于定义您的私有pod的最新版本。
当涉及到CI时,您必须确保CI运行者也具有访问此存储库的正确凭据。

iswrvxsc

iswrvxsc2#

UPD:我完全误解了这个问题,我道歉。我的答案是关于Fastlane(所以,Fastfile,Appfile等)。我把它放在这里以防万一。

下面的信息是关于FASTLANE,而不是COCOAPODS!
是的,有可能:https://docs.fastlane.tools/advanced/other/
您可以将.env.env.default文件放在与Fastfile相同的目录中。您可以在这些文件中配置环境变量,然后在FastfileAppfile等中使用它们:
.env

BUNDLE_IDENTIFIER = "com.company.app"
SCHEME = "My App Scheme"

字符串
Appfile

app_identifier(ENV['BUNDLE_IDENTIFIER'])


Fastfile

...
    lane :beta do
        build_app(scheme: ENV['SCHEME'],
            include_bitcode: false,
            export_xcargs: "-allowProvisioningUpdates"
        )
        upload_to_testflight
    end
...


您还可以拥有多个环境:.env.CustomEnvironment.env.AnotherEnvironment等然后,您可以使用--env参数将要使用的环境传递给Fastlane:

fastlane <lane_name> --env CustomEnvironment

相关问题