1

我在 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;

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

已编辑

4

1 回答 1

0

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

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

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

于 2012-09-20T18:07:09.697 回答