我是一对在iPhone / iPod应用程序上合作的程序员之一。我想升级到XCode(3.2)和Snow Leopard的新版本,但我的合作伙伴可能不会。任何人都可以强调我们可能有共享代码的问题吗?旧的和新的之间是否存在不兼容性,或者我们是否应该能够愉快地共享代码/项目?

任何帮助/警告都将不胜感激。

有帮助吗?

解决方案

在这种情况下我有两台机器,其中一台是SL / 3.2和一台Leopard / 3.1。对于我在两者之间分享的一个项目,它似乎有效。但正如马克指出的那样,并不能保证它会在所有情况下都有效。

我没有尝试过这个,但是可能会让你使用3.2中的项目文件而你的伙伴使用3.1项目文件。不要检查它,只使用源代码管理中的源文件,保持项目文件本地。我在Visual Studio的版本之间做了这个,这是促使这个想法的原因,但是虽然听起来不错,但我不知道它在实践中会有多好。

另一种方法是在您的机器上保留两个版本的Xcode(搜索SO或iphonedevsdk.com以获取操作方法)。我已经通过OS 3.0测试版做到了这一点,但这假设Xcode 3.1在SL机器上生活愉快。可能是最安全的尝试,因为最糟糕的是3.1将不会在SL上安装或运行。

其他提示

如果你决定尝试至少尝试操作OS / Xcode环境,你应该设置你的共享Xcode项目的项目设置“General”。选项卡,项目格式为“3.1”因为如果你将项目升级到3.2,那么3.1 Xcode可能会在打开它时遇到问题。

不要这样做。 Xcode项目文件非常脆弱,并且在版本之间并不总是兼容。当他们在版本之间进行已知不兼容的更改时,您将收到警告,打开新版本上的文件。 3.2 vs 3.1没有这样的警告,但这并不能保证你不会有任何问题。


我应该澄清一点,我并不是说你永远不应该升级,只是你和你的伴侣应该同时升级。

您的合作伙伴应该更新。它只有29美元!有很多有用的新功能,总时间大约是一个小时(如果你包括备份会有点长,但是你们都已经在进行常规备份了,对吗?)。

我在3.2和3.1的混合团队中待了一段时间,它确实有效 - 但那是一两次XCode更新。

您可以选择保留不同的项目文件,每次添加新文件,另一个添加它们,真的很安全......

我同意您应升级,但要注意,您可能需要调整代码。

我特别注意到NSAlert工作方式的不同。在10.5中,我传递了一个变量“窗口”。作为参数并创建在该特定窗口上打开的工作表。在10.6中,完全相同的代码生成了模态对话框。然后我改变了“窗口”。到“[自我窗口]”这张纸又回来了。

我对Core Data也有一个小问题,它会抛出警告“无法在NSManagedObject类XXX上调用指定的初始化程序”。即使这段代码在10.5下完全测试过。

我相信还有其他较小的问题,但我将它们与真正的错误一起修复,并没有记下它们。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top