i am worry about the iphone 5 screen size will change to 4 inch or even change its ratio. i only use absolute value in my game, which apple recommends against.
mySprite.position = ccp(30, 50);//bad style, but i still use it
should be:
mySprite.position = ccp(screenSize.width / 15, screenSize.height / 20);
but i don't think i can change all of my code. so is it necessary for me to wait until iphone 5 & ios 5 comes out, and make both versions of them? maybe when iphone 5 comes out, all new apps should support both screen size. so should i make the app immediately before iphone 5 (since i don't think i can make a 'universal app') and hope that apple have a solution for old apps(like ipad 2x solution for iphone app)
For those people who vote down the answer, please check the date of the question (Sep 4'11, before the iPhone 4S published!), it's actually talking about the iPhone 4S and iOS 5 in 2011! Not the real iPhone 5 in 2012! People called the 5th generation iPhone "iPhone 5" at that time, Who knows why Apple called its 6th generation iPhone "iPhone 5"?
If you still want to vote it down, I am sorry that I didn't edit my answer about the iPhone 4S after ONE YEAR later.
Also, I edited the answer for the new iPhone 5 and iOS 6 in 2012:
You'd better use the main screen's size as the size of your RootViewController's view, and then use autoresizingMask (view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight
for example) to let all of your subviews automatically change its size or position.
Also if your App only supports iOS 6, then you can use the new Auto Layout as well.