【问题标题】:How to add file to all targets in Xcode when you have many targets?当您有很多目标时,如何将文件添加到 Xcode 中的所有目标?
【发布时间】:2016-12-29 01:07:47
【问题描述】:

我的项目有 50 多个目标并且还在不断增长,将文件添加到所有目标变得很麻烦,因为选择每个目标需要很长时间。

我知道将文件添加到多个目标的多种方法,但它们都涉及为每个目标选中一个框。 (对于那些正在寻找的人:How to add .plist file to all targets in XCode?

我正在寻找的是一种替代方法或脚本,可用于将一个文件或一组文件添加到项目中的所有目标,而无需逐个选择它们。有谁知道技巧吗?

【问题讨论】:

  • 您可以自己操作project.pbxproj 文件(最好在执行此操作时退出Xcode)。但可能有更好的方法,比如将文件添加到单个框架中,然后将该框架集成到所有项目中。
  • 嗯,好点子,我想可以使我的具有许多目标的项目非常基本,并将大多数代码抽象到私有 pod 中。
  • 你可以使用github.com/CocoaPods/Xcodeproj lib,和cocoapods一样

标签: xcode


【解决方案1】:

这是GitHub repo 的链接。在示例项目中,我有三个目标,仅在第一个目标中添加文件。当您从项目目录运行ruby ./addfile.rb 时,脚本会将img.jpg 资源添加到另外两个目标(projex2projex3)中。您需要在运行脚本之前安装xcodeproj ruby​​ gem。你应该在终端运行sudo gem install xcodeproj

【讨论】:

  • 使用脚本后遇到错误。 /Users/user/.rvm/rubies/ruby-2.3.0/lib/ruby/gems/2.3.0/gems/xcodeproj-1.7.0/lib/xcodeproj/project/object/build_phase.rb:62:in @ 987654328@referrers' for nil:NilClass (NoMethodError) from /Users/user/.rvm/rubies/ruby-2.3.0/lib/ruby/gems/2.3.0/gems/xcodeproj-1.7.0/lib/xcodeproj/ project/object/build_phase.rb:72:in include?' from /Users/user/.rvm/rubies/ruby-2.3.0/lib/ruby/gems/2.3.0/gems/xcodeproj-1.7.0/lib/xcodeproj/project/object/native_target.rb:521:in block in add_resources' 如果我遗漏了什么请告诉我
  • 您是否尝试运行示例项目?如果没有,那你可以吗?
  • 我有一个工作区和不同的目标,但示例有不同的项目。示例和我的工作区的结构有点不同。
  • 我想了解哪里出了问题,如果没有其他信息或调试,我无能为力。
【解决方案2】:

我正在寻找的是一种替代方法或脚本,可用于将一个文件或一组文件添加到项目中的所有目标,而无需逐个选择它们。有谁知道技巧吗?

如果您经常向所有目标添加相同的源,那么避免这种情况的一种方法是创建一个框架,其中包含各种目标共有的所有文件,然后将这些目标中的每一个链接到框架。这样,您只需将公共文件添加到一个框架中,所有目标都可以通过框架访问它们。

【讨论】:

    猜你喜欢
    • 2015-10-25
    • 2011-02-21
    • 2011-11-08
    • 1970-01-01
    • 2011-11-16
    • 1970-01-01
    • 2011-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多