我正在为我的库编写Cocoapods规范,该库必须修改Xcode项目,并将“运行脚本构建阶段”添加到项目的目标中。我以为可以使用
post_install钩。
但是,“pod spec lint”表示这个钩子已被弃用:
但是,“pod spec lint”表示这个钩子已被弃用:
- 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钩子。
谁知道任何其他方法来解决我的问题?可能吗?
另一个问题是如何修改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/frames
您可以通过运行…获取构建设置变量及其值的列表
xcodebuild -project [ProjectName].xcodeproj -target "[TargetName]" -showBuildSettings
更新:
自从写这个答案以来,有些事情发生了变化。目前正在讨论访问环境变量的问题:https://github.com/CocoaPods/CocoaPods/issues/2115
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。