I experimented with the retina iPad today, and here is what seems to be happening:
- If the application was compiled with the fairly recent Xcode (possibly 4.2+), @ 2x images are used, as and when the iPhone 4 came out.
- If the application was compiled with Xcode 3, the @ 2x images have no , even if they are present. (for example, in an iphone-4 hybrid app).
(We have a number of projects based on Xcode-3, many of which are hybrid for the iPhone retina. None of them used @ 2x graphics on the new ipad. When I compiled a test project in both Xcode 3 and Xcode 4, assembly 4 used the retina resource and didn’t do assembly 3. Further experiments showed that the difference was compiled into the executable file itself, so this is not just setting info.plastic, as I had hoped.)
[eta: my hypothesis is that compiling with an earlier SDK links you to another version of UIKit at runtime. Strange differences in behavior, as I update our code, it seems to confirm this. If someone knows the spell, to know for sure, comment.]
[edited to add, again: there is also nib difference there. An old project opened in xcode 4 will not use @ 2x graphics until I save my MainWindow.nib file; then this happened everywhere, without any other changes. I suspect a hidden property of the UIWindow object.]
rgeorge
source share