Ios Cocoapods post_安装,如何在Pods项目中添加目标成员

Ios 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

我有一个pod文件,当构建Pods.xcodeProj时,它最终会包含一个xcframework,它是Pods.xcodeProj文件引用,我需要将它作为目标引用添加到一个Pods构建的目标中

我认为在Podfile
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