I am getting issues because of universal app for 3.1 to 4.2 iPhone / iPad devices. The problem is because of UIPopoverViewController not being present on older OS versions.
Can I weak link the UIKit framework? Will Apple reject the app if I use weak linking?
As of iOS 4.2, manual weak-linking is no longer required. All you probably have to do is switch to LLVM as your compiler. See Marco Arment’s post Supporting older versions of iOS while using new APIs for details.