Ios Cocoapods post_安装,如何在Pods项目中添加目标成员
我有一个pod文件,当构建Pods.xcodeProj时,它最终会包含一个xcframework,它是Pods.xcodeProj文件引用,我需要将它作为目标引用添加到一个Pods构建的目标中 我认为在PodfileIos Cocoapods post_安装,如何在Pods项目中添加目标成员,ios,xcode,cocoapods,xcode-project,xcodeproj,Ios,Xcode,Cocoapods,Xcode Project,Xcodeproj,我有一个pod文件,当构建Pods.xcodeProj时,它最终会包含一个xcframework,它是Pods.xcodeProj文件引用,我需要将它作为目标引用添加到一个Pods构建的目标中 我认为在Podfilepost_install阶段可以做这样的事情,但我无法理解(a)找到需要添加到目标的Nami.xcframework引用,然后(B)将该文件引用添加到所需目标所需的xcodeprojgem语法(关于我希望调整目标成员资格的框架,请参见下图,我基本上只想自动检查目标成员资格框) 此Po
post_install
阶段可以做这样的事情,但我无法理解(a)找到需要添加到目标的Nami.xcframework引用,然后(B)将该文件引用添加到所需目标所需的xcodeproj
gem语法(关于我希望调整目标成员资格的框架,请参见下图,我基本上只想自动检查目标成员资格框)
此Podfile脚本的开头如下所示:
post_install do |installer|
nami_target = installer.pods_project.targets { |f| f.name == "react-native-nami-sdk" }
#Pseudocode begins here, this is what I cannot figure out
nami_xcframework_fileref = ??
nami_target.addBuildReference(nami_xcframework)
end
感谢您在这方面的帮助,我已经找到了一些示例pod文件脚本,但似乎没有一个能够完成我正在尝试的任务
我设法找到了我需要的完整脚本,下面的Podfile post_install脚本正是我想要的 请注意,一个关键点是,虽然您可以使用
.name
属性检查目标,但对于仅的文件引用,.path
将始终包含您可以检查的内容,.name
通常为空。另一个关键点是,您需要将文件引用添加到tar的框架构建阶段
方面得到
最后一个脚本(添加到Podfile的末尾):
post_install do |installer|
puts("Attempting to add Nami.xcframework reference to react-native-nami-sdk project.")
installer.pods_project.targets.each do |target|
if target.name == "react-native-nami-sdk"
puts("Found react-native-nami-sdk target.")
all_filerefs = installer.pods_project.files
all_filerefs.each do |fileref|
if fileref.path.end_with? "Nami.xcframework"
puts("Found Nami.xcframework fileref.")
build_phase = target.frameworks_build_phase
puts("Determining if react-native-nami-sdk build phase needs correction.")
unless build_phase.files_references.include?(fileref)
puts("Adding Nami.xcframework to react-native-nami-sdk target")
build_phase.add_file_reference(fileref)
end
end
end
end
end
end