gpt4 book ai didi

ios - 如何使用外部文件 .plist 或 .xcconfig 启用部分代码

转载 作者:搜寻专家 更新时间:2023-11-01 07:27:48 24 4
gpt4 key购买 nike

我有一个正在使用 faSTLane 工具链构建的项目。

我有多个部署目标(曲棍球应用、试飞、应用商店)- 对于每个部署,我都想禁用和启用某些功能。

例如 - 当我使用企业证书对 hockeyapp 进行 alpha 构建时,我想禁用 flurry analytics。

当我进行测试版构建时,我想更改应用程序 ID 和/或更改 flurry 键

我目前可以在 faSTLane 中使用各种 sed 命令来搜索和替换文件等。

话虽如此,我相信还有更好的方法。

我知道在 Obj-c 中我可以针对某些构建环境标志#ifdef 来启用/禁用部分代码。 swift 解决这个问题的最佳方法是什么。

我是否使用某种自定义 .plist 文件或 .xcconfig 设置来告诉应用程序做什么/使用什么,或者是否有不同的方式?

我感兴趣的是

  • 禁用部分代码(忽略特定配置中的特定功能)
  • 更改代码中使用的值,也就是 API_KEY 或类似的东西

最佳答案

你仍然可以在 swift 中使用类似于 #ifdef 预处理器的东西,你可以将它与 .xcconfig 结合起来,它可以用来指定各种变量。您的脚本可以生成将进入 .xcconfig 变量的值。

基本设置是:

  1. 创建一个 .xcconfig 文件并将其与您所需的构建配置相关联(在项目设置 -> 信息中)。
  2. 将变量添加到.xcconfig。例如,如果你想激活 ALPHA 构建,你可以这样做:IS_ALPHA_BUILD=-D ALPHA。请注意此处必需的 -D。如果您希望关闭标志,您的脚本可以将变量留空。
  3. 在目标的build设置中,在“Swift Complier - Custom Flags”->“Other Swift Flags”下添加基于 .xcconfig 文件变量的标志:${IS_ALPHA_BUILD }。如果 .xcconfig 设置正确,您应该在编辑完变量后看到变量的内容。
  4. 在您的代码中使用标志:

    #if ALPHA
    print("alpha")
    #else
    print("not alpha")
    #endif

我希望这对您有所帮助,或者至少能让您了解最适合您的方法。

关于ios - 如何使用外部文件 .plist 或 .xcconfig 启用部分代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34826956/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com