当你有多个目标时,如何将文件添加到Xcode中的所有目标?

7

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

我知道有多种方法可以将文件添加到多个目标中,但它们都需要为每个目标勾选一个框。(对于那些寻找此类信息的人:如何将.plist文件添加到XCode中的所有目标?

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


你可能可以自己操作project.pbxproj文件(最好在此期间退出Xcode)。但是可能有更好的方法,比如将文件添加到单个框架中,然后将该框架集成到所有项目中。 - jcaron
嗯,说得好。我想我可以将我的项目分为多个目标,将大部分代码抽象成私有库,使其变得基础且抽象化。 - BFar
你可以使用 https://github.com/CocoaPods/Xcodeproj 库,它与cocoapods相同。 - hsafarya
2个回答

2

这里是一个指向GitHub代码库的链接。在示例项目中,我有三个目标,在第一个目标中添加了文件。当你从项目目录运行ruby ./addfile.rb时,脚本将把img.jpg资源添加到另外两个目标(projex2, projex3)中。在运行脚本之前,你需要安装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 build_file': undefined method 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'请告知我是否有遗漏。 - user2071152
你尝试运行示例项目了吗?如果没有,你能试试吗? - hsafarya
我有一个工作区和不同的目标,但示例具有不同的项目。示例和我的工作区结构略有不同。 - user2071152
我想了解出了什么问题,如果没有额外的信息或调试,我无法提供帮助。 - hsafarya

0
我正在寻找一种替代方法或脚本,可以将一个文件或一组文件添加到项目中的所有目标中,而不需要逐个选择它们。有人知道诀窍吗?
如果您经常向所有目标添加相同的源,则避免这种情况的一种方法是创建一个包含所有各种目标共有的文件的框架,然后让每个目标链接到该框架。这样,您只需将公共文件添加到一个框架中,所有目标都可以通过该框架访问它们。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接