我对Xcode 5和共享方案有一个恼人的问题 .
在我的团队中(我们只有两个,但是嘿!它仍然是一个团队)我们正在共享一些Schemes来运行具有不同配置的应用程序(Debug,QA,Release,...)
那么现在Xcode 5似乎根据我的理解,在开发人员的机器上改变了每个方案的 BlueprintIdentifier
设置 . 当然,这种变化有意义's noticed bit git and we either have to checkout them, or commit. Both solution don'
Any idea on how to fix it? 我做了谷歌搜索,但没有找到Xcode 5 ......
我不想放弃这些共享配置!我可以想出一个跟踪共享Schemes的解决方案是非共享的,将它们复制到专用的测试文件夹中,然后使用类似Pod的策略在本地复制这些方案,其中Xcode可以搞砸它们没有我们注意到 . 类似于 schemes
脚本读取 Schemefile
文件,其中列出了要从 Schemes/
文件夹复制的方案,以及 Schemefile.lock
,每当有一些更改时都会更新,并且Xcode构建过程会读取该文件以确保一切都已完成 - 至今 .
对于这么小的事情来说,这似乎有很多工作,所以在进入它之前,我想知道是否有人有更好的解决方案 .
干杯:)
2 回答
首先,我假设您正在使用CocoaPods,因为您在问题中提到过它 .
我有一段时间没有这个问题,最近才发现我的一些共享方案没有让其他方案改变了.2721794_ . 在调查之后,我注意到未触及的方案在
builds
之下有一个缺失的目标,因为它以红色列出如下:Pods (missing)
. 我的理论是pod install
和各种Xcode事件(即崩溃,启动等)导致该方案改变其BlueprintIdentifier
,因为它们在方案构建设置中引用了Pod
目标 .我删除了所有方案中的
Pods
引用,但从那时起就无法重现BlueprintIdentifier
的更改 . 依赖于Pods
的我的目标在Build Phases
中的Link Binary With Libraries
下指定libPods.a
并设置为必需,因此它仍然在主目标之前编译 .请注意,使用此更改在没有此更改的情况下在分支之间切换可能仍会对方案文件进行修改 .
@Wes的回答并没有特别为我解决这个问题,但它确实把我带到了正确的地方 . 对我来说,解决方案是将“查找隐式依赖关系”从“关闭”(未选中)转换为“打开”(选中),从“编辑方案”屏幕中转换为不断变化的方案 .