重用CGRects不起作用

时间:2012-09-20 15:47:48

标签: ios xcode4 cgrect

我在ipod touch 2G中重用CGrects有一个奇怪的行为,但在3G 4G中没有。 当我从XCode4运行应用程序并插入设备时它工作正常,但当我存档应用程序并通过iTunes或通过Web服务器上传时,出现了奇怪的行为。 如果我去编辑方案,选择存档并选择构建配置:调试,通过网络服务器上传应用程序,它工作正常。

我的代码就像这样

//this code works perfect
CGRect pos = self.toolBar.frame;
pos.origin.y = 0;
self.toolBar.frame = pos;

//this code fails, to fix it I need to create a new CGRect (CGRect pos2)
//or assign an CGRectMake to pos
pos = self.picker.frame;
pos.origin.y = self.toolBar.frame.size.height;
self.picker.frame = pos;

是什么导致了这个问题。如何比较这些构建配置(调试 - 发布)

被修改

1 个答案:

答案 0 :(得分:0)

从XCode到存档运行之间的主要区别在于DEBUG与RELEASE构建,特别是在发布版本中启用的编译器优化。

您可能会看到与armv6处理器相关的LLVM编译器优化错误,我遇到了类似的事情。尝试从LLVM切换到GCC编译器。这会解决您的问题吗?

此外,如果您升级到XCode 4.5,您会发现ARMV6已被弃用,因此您也可以选择放弃对这些旧设备的支持,并与Apple保持同步。