I'm not sure how to explain this one. I submitted an update of one of my apps to the store yesterday. The first screenshot is how one particular screen appears running on my iPhone 3G, running iOS 4.2.1, downloaded from the App Store:
And the second image below is the exact same code, no changes have been made since the original submission, running on the exact same device tethered through Xcode.
The application runs fine on my iPhone 4, running iOS 5, downloaded from the App Store. So to recap:
- App obtained from App Store is flawed on iPhone 3G
- App obtained from App Store is good on iPhone 4
- App tethered through Xcode is good on iPhone 3G
These are not the only graphical inconsistencies, but they're all related to custom UITableViewCell code, which doesn't do anything more than push labels a few pixels in each directory, and has been working fine since day one. I have filed a report with idp-dts, and am waiting to hear back from them, but as the waiting list is usually a week or more, I'd rather figure this out on my own.
Any help/tips/guesses would be very appreciated!
iPhone 3G running App Store version of my application:
iPhone 3G running Xcode tethered version of my application:
Edit: This sounds quite similar to this problem: Building with LLVM and any optimization causes app to crash on startup The customer who contacted me was using a 2nd generation iPod Touch, the only other hardware other than the iPhone 3G that uses armv6.
Edit 2: Here's the snippet of code that sets the bounds of the color bar on the left side. There doesn't seem to be anything fishy going on in the code:
- (void)layoutSubviews {
CGRect colorViewFrame = self.bounds;
colorViewFrame.size.width = 6;
colorViewFrame.origin.y += 3;
colorViewFrame.origin.x -= 1;
colorViewFrame.size.height -= 8;
colorView.frame = colorViewFrame;
...
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…