ope*_*dge 24 ruby xcode objective-c ios cocoapods
我正在尝试为我的库编写Cocoapods规范,该规范必须修改Xcode项目并将"Run Script Build Phase"添加到项目的目标中.我以为我可以使用post_install钩子.但是" 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.
Run Code Online (Sandbox Code Playgroud)
我不知道如何用*resource_bundles*或*prepare_command*替换post_install hook.谁知道解决我的问题的任何其他方法?可能吗?
另一个问题是如何修改Xcode项目以添加构建阶段,但只有在解决"post_hook问题"时它才是实际的.
Ona*_*ato 33
使用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()
Run Code Online (Sandbox Code Playgroud)
文档:http://rubydoc.info/gems/xcodeproj/frames
您可以通过运行来获取构建设置变量及其值的列表...
xcodebuild -project [ProjectName].xcodeproj -target "[TargetName]" -showBuildSettings
Run Code Online (Sandbox Code Playgroud)
更新: 自从回答这个问题以来,有些事情发生了变化.目前正在讨论访问环境变量的问题:https://github.com/CocoaPods/CocoaPods/issues/2115
| 归档时间: |
|
| 查看次数: |
9367 次 |
| 最近记录: |