Xcode 5和共享方案

mok*_*gio 11 git xcode xcode5

我对Xcode 5和共享方案有一个恼人的问题.

在我的团队中(我们只有两个,但是嘿!它仍然是一个团队)我们正在共享一些Schemes来运行具有不同配置的应用程序(Debug,QA,Release,...)

那么现在Xcode 5似乎BlueprintIdentifier根据我的理解,在开发人员的机器上改变了每个方案的设置.当然,变化会被注意到位git,我们要么必须签出它们,要么提交.两种解决方案都没有意义......

有关如何解决它的任何想法?我做了谷歌搜索,但没有找到Xcode 5 ......

我不想放弃这些共享配置!我可以想出一个跟踪共享Schemes的解决方案是非共享的,将它们复制到专用的测试文件夹中,然后使用类似Pod的策略在本地复制这些方案,其中Xcode可以搞砸它们没有我们注意到.类似于一个schemes脚本,它读取一个Schemefile列出要从Schemes/文件夹中复制的方案的文件,并且Schemefile.lock每当有一些更改时都会更新,并且Xcode构建过程会读取该脚本以确保所有内容都是最新的.

对于这么小的事情来说,这似乎有很多工作,所以在进入它之前,我想知道是否有人有更好的解决方案.

干杯:)

Wes*_*Wes 2

首先,我假设您正在使用 CocoaPods,因为您在问题中提到了它。

\n\n

我遇到这个问题已经有一段时间了,最​​近发现我的一些共享方案没有BlueprintIdentifier与其他方案进行更改。经过调查,我注意到未触及的方案Pods下有一个目标builds缺失\xe2\x80\x93,因为它以红色列出,如下所示:Pods (missing)。我的理论是,pod install各种 Xcode 事件(即崩溃、启动等)导致方案更改其s,因为它们在方案构建设置中BlueprintIdentifier引用了目标。Pod

\n\n

我删除了Pods所有方案中的引用,并且从那时起就无法重现更改BlueprintIdentifier。我所依赖的目标Pods已在inlibPods.a下指定并设置为 required,因此它仍然在主目标之前编译。Link Binary With LibrariesBuild Phases

\n\n

请注意,在具有此更改和没有此更改的分支之间切换可能仍会对方案文件产生修改。

\n