您如何使用 Cocoapods 安装后脚本在构建阶段自动执行“复制文件”?

Posted

技术标签:

【中文标题】您如何使用 Cocoapods 安装后脚本在构建阶段自动执行“复制文件”?【英文标题】:How do you automate do "Copy Files" in Build Phases using a Cocoapods Post Install Script? 【发布时间】:2015-12-19 03:45:51 【问题描述】:

我知道这是一个相当琐碎的问题,但我似乎在这个问题上遇到了最糟糕的情况。

我试过了:

obj =  Xcodeproj::Project::Object::PBXCopyFilesBuildPhase.new(PATH, 10)
target.build_phases.add(obj)

但 UUID 为 0,并且没有任何内容添加到构建阶段。有人可以帮帮我吗。我知道我的其余设置是正确的。

【问题讨论】:

嗨,你现在知道怎么做了吗? 是的,您需要使用 new_copy_files_build_phase 来创建新的构建阶段。 到目前为止很好,但是如何将文件添加到此阶段? PTAL - github.com/google/EarlGrey/blob/master/gem/lib/earlgrey/… 【参考方案1】:

这是我的例子:

phase = target.new_copy_files_build_phase()

# Contrary to the docs (see http://www.rubydoc.info/github/CocoaPods/Xcodeproj/Xcodeproj/Project/Object/PBXCopyFilesBuildPhase) I believe this is not a path, but rather a code, e.g., 16 indicates to copy the file to the Products Directory.
phase.dst_subfolder_spec = "16"

fileRef = project.new(Xcodeproj::Project::Object::PBXFileReference)
fileRef.path = 'Server.plist'

phase.add_file_reference(fileRef)   

【讨论】:

同意您的评论,请参阅此处的常量文档:rubydoc.info/github/CocoaPods/Xcodeproj/Xcodeproj/Constants。 COPY_FILES_BUILD_PHASE_DESTINATIONS

以上是关于您如何使用 Cocoapods 安装后脚本在构建阶段自动执行“复制文件”?的主要内容,如果未能解决你的问题,请参考以下文章

iOS - CocoaPods 要求您的终端使用 UTF-8 编码 - 在最新的颤振升级之后

添加 Firebase CocoaPods 后无法构建项目

构建 Cordova ios 应用程序是不是总是需要 CocoaPods?

如何通过 CocoaPods 使用本地项目

Flutter Doctor CocoaPods 未安装

使用 CocoaPods 安装的框架的构建设置中的空 Info.plist 路径