IOS 6 image

I have an iOs app with a fullscreen gradient. Now, the screen size of the iphone 5 is different, and, of course, I would like to support both the fifth and fourth devices.

How to do it?

+5
source share
1 answer

From the post I linked to in the comment

#import <sys/utsname.h>

NSString*
machineName()
{
struct utsname systemInfo;
uname(&systemInfo);

return [NSString stringWithCString:systemInfo.machine
                          encoding:NSUTF8StringEncoding];
}

The result should be:

@"i386"      on the simulator
@"iPod1,1"   on iPod Touch
@"iPod2,1"   on iPod Touch Second Generation
@"iPod3,1"   on iPod Touch Third Generation
@"iPod4,1"   on iPod Touch Fourth Generation
@"iPhone1,1" on iPhone
@"iPhone1,2" on iPhone 3G
@"iPhone2,1" on iPhone 3GS
@"iPad1,1"   on iPad
@"iPad2,1"   on iPad 2
@"iPhone3,1" on iPhone 4
@"iPhone4,1" on iPhone 4S

I guess this will return something like @ "iPhone5.1" for the latest model. Then just check, for example

NSString *iphoneType = machineName();
if ([iphoneType isEqualToString@"iPhone5,1"]){
    //image for iphone 5
} else {
           //image for the rest
}

Let me know if this works.

+1
source

All Articles