Xcode中。如何在项目组装阶段下载文件?

时间:2018-05-24 05:37:50

标签: ios swift xcode

我正在做一个iOS框架,现在我需要实现这样的事情:在项目组装阶段,我想向服务器发出请求,获取响应中的JSON并将其写入项目文件。因此,下载应用程序并在没有Internet的情况下打开它的用户将已经拥有这些文件。在Android中,可以使用Gradle插件实现此功能。在iOS中实现此功能的正确方法是什么?提前感谢您的回答。

1 个答案:

答案 0 :(得分:0)

您可以在项目的Build Phases部分使用Run Script阶段。

第1步

将初始版本的文件添加到项目中。确保它已添加到目标中。

enter image description here

第2步

选择您的项目并进入构建阶段选项卡。您应该能够在复制包资源部分中看到要复制到该包的文件。

enter image description here

第3步

为您的构建添加新的运行脚本。单击编辑器左上角的加号按钮。

  1. 双击标签,让阶段成为合理的名称。
  2. 通过将列表拖放到列表中,尽早对阶段进行重新排序。
  3. enter image description here

    第4步

    使用您喜欢的脚本语言/命令行,下载新文件并替换现有文件。

    例如(未经测试的演示bash示例,可能无法工作)

    MYFILE=${TEMP_DIR}/something.json
    curl -o $MYFILE https://myserver.com/stuff/something-latest.json
    cp -f $MYFILE ${SRCROOT}/Sploopy/Resources/something.json
    

    您可以使用构建检查器检查环境,并查看可以使用哪些值来获取文件。

    enter image description here

    将会派上用场的是:

    • TEMP_DIR是暂时放置文件的好地方。
    • SRCROOT,以便您知道将下载的文件复制到的位置。
    • CONFIGURATION,以便您可以选择何时执行此操作。我个人只会Release而是YMMV。这将是一个阻止行动。

    第5步

    利润