Developing an Universal iOS app

Preview:

DESCRIPTION

This presentation shows how to develop an universal iOS app or "convert" a existing one into universal. An universal app must work in iPad/iPod and iPhone.

Citation preview

Developing an Universal iOS appOr converting a existing one into universal...

–Apple Developer Documentation

“A universal app is a single app that is optimized for iPhone, iPod touch, and iPad

devices.”

Universal app setup• First you'll need to set project Devices as 'Universal'

–Morpheus

“You take the blue pill -- the story ends, you wake up in your bed and believe whatever you want to believe. You take the red pill --

you stay in Wonderland and I show you how deep the rabbit-hole goes.”

ViewControllers

• Consider defining separate view controller classes for iPhone and iPad devices.

• If you use a single view controller class for both platforms, your code must support both iPhone and iPad screen sizes.

Views• Consider using separate sets of views for iPhone

and iPad devices. For custom views, this means defining different versions of your class for each device.

• If you choose to use the same custom view for both devices, make sure your drawRect: and layoutSubviews methods especially work properly on both devices.

Using Runtime checksif (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {!

// The device is an iPad running iOS 3.2 or later.!

}!

else {!

// The device is an iPhone or iPod touch.!

}

Drawing objects

self.wrapper.frame = CGRectMake(15, 10, self.frame.size.width - 30, 135);

Using different .XIB for the same ViewController

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {!

self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];!

} else {!

self.view = [[[NSBundle mainBundle] loadNibNamed:@"DDSigninFormViewController~ipad" owner:self options:nil] objectAtIndex:0];!

}

Live demo/coding

Thank you!

@wolcanusme@wolcan.us