Xcode 5 和共享方案

标签 xcode git xcode5

我在使用 Xcode 5 和共享方案时遇到了一个烦人的问题。

在我的团队中(我们只有两个人,但嘿!它仍然是一个团队)我们正在分享一些方案来运行具有不同配置的应用程序(调试、质量检查、发布......)

现在 Xcode 5 似乎改变了每个方案的 BlueprintIdentifier 设置,据我所知,是在开发人员的机器上。当然,更改会引起 git 的注意,我们要么必须检查它们,要么提交。这两种解决方案都没有意义......

知道如何修复它吗?我进行了谷歌搜索,但没有找到 Xcode 5 的任何信息...

我不想放弃那些共享配置!我可以想出一个解决方案来保持跟踪共享方案是取消共享它们,将它们复制到一个专用的测试文件夹中,然后使用类似于用于 Pod 的策略在本地复制这些方案,Xcode 可能会弄乱它们在我们没有注意到的情况下。类似于 schemes 脚本,它读取一个 Schemefile 文件,其中列出了要从 Schemes/ 文件夹复制的方案,以及一个 Schemefile。锁 每次发生一些变化时都会更新,Xcode 构建过程会读取它以确保一切都是最新的。

对于这么小的东西,这似乎需要做很多工作,所以在开始深入研究之前,我想知道是否有人可以提出更好的解决方案。

干杯:)

最佳答案

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

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

我删除了所有方案中的 Pods 引用,此后无法重现 BlueprintIdentifier 更改。我的依赖于 Pods 的目标在 Build Phases 中的 Link Binary With Libraries 下指定了 libPods.a 并设置为必需的,所以它仍然在主要目标之前编译。

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

关于Xcode 5 和共享方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19024903/

相关文章:

ios - Xcode 5 "error: can' t exec 'codesign'(没有这样的文件或目录)”

ios - Xcode 5 和 Assets 目录 : How to reference the LaunchImage?

git 获取失败 "refs/remotes/origin/pr/34 tracks both"

git - git cherry-pick 的 TFVC 中的等价物是什么

有其他第三方库时iOS Frameworks : Ways to make this better,?

iphone - 如何在 XCode 上检查 iPhone 应用程序的 TARGET_NAME?

c++ - 我只是很困惑

python - 如何在插件的 Objective-C OS X 应用程序中嵌入 python?

objective-c - iOS 8 'NSInternalInconsistencyException',原因 : 'Trying to dismiss UIAlertController with unknown presenter.'

c# - 恢复到 Git for visual studio 2012 中的先前提交