gpt4 book ai didi

ios - 从 podspec 向 Xcode 项目添加运行脚本构建阶段

转载 作者:IT王子 更新时间:2023-10-29 07:57:35 24 4
gpt4 key购买 nike

我正在尝试为我的库编写 Cocoapods 规范,它必须修改 Xcode 项目并将“Run Script Build Phase”添加到项目的目标。我以为我可以使用 post_install钩。但是“pod spec lint”表示这个钩子(Hook)已被弃用:

- WARN  | [iOS] The post install hook of the specification DSL has been deprecated, use the `resource_bundles` or the `prepare_command` attributes.

我不知道如何用 *resource_bundles* 或 *prepare_command* 替换 post_install Hook 。谁知道解决我的问题的其他方法?可能吗?

还有一个问题是如何修改Xcode项目来增加构建阶段,但只有在“post_hook问题”解决后才是实际的。

最佳答案

使用 Xcodeproj ruby​​ gem(Cocoapods 的一部分)编写修改 Xcode 项目的脚本。

然后您使用 prepare_command 调用此脚本

require 'xcodeproj'
path_to_project = "${SOURCE_ROOT}/${PROJECT_NAME}.xcodeproj"
project = Xcodeproj::Project.open(path_to_project)
main_target = project.targets.first
phase = main_target.new_shell_script_build_phase("Name of your Phase")
phase.shell_script = "do sth with ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/your.file"
project.save()

文档:http://rubydoc.info/gems/xcodeproj

您可以通过运行...获取build设置变量及其值的列表

xcodebuild -project [ProjectName].xcodeproj -target "[TargetName]" -showBuildSettings

更新:自撰写此答案以来,发生了一些变化。目前正在讨论访问环境变量的问题:https://github.com/CocoaPods/CocoaPods/issues/2115

关于ios - 从 podspec 向 Xcode 项目添加运行脚本构建阶段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20072937/

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