我正在开发一款我希望在iPhone和iPad上普及的新应用.我开始使用"创建基于窗口的应用程序"向导,它在"iPhone"和"iPad"组中创建了单独的应用程序代理.由于我已经非常熟悉iPhone开发,我做了我项目的那部分,现在我已经准备好做一些iPad的东西了.
所以...我开始通过向我的iPad委托添加UISplitViewController,将Active SDK切换到3.2,它的工作原理!但是当我切换回3.1.3并尝试在模拟器中运行它时,Build and Go失败了.对于初学者,我看到:
... path .../iPad/AppDelegate_Pad.h:13:错误:'UISplitViewController'之前的预期说明符限定符列表
我的Base SDK设置为3.2,部署目标设置为3.1.3.我觉得这就够了.但我也在文档中找到了有条件地编译的方法:
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 30200
MyIPadViewController* vc;
// Create the iPad view controller
#else
MyIPhoneViewController* vc;
// Create the iPhone view controller
#endif
Run Code Online (Sandbox Code Playgroud)
所以我到处都需要这样做吗?这似乎是一个可怕的很多代码来添加(我会得到在短时间内摆脱了4.0反正),所以我觉得我必须做一些错误的.而且,我甚至不知道它如何适用于@property或@synthesize声明之类的东西.
tl;博士问题的版本 - 我错过了某个地方的设置吗?
我正在准备一个应用程序,我想在iPhone和iPad上使用它.
如何检测当前主机设备是iPhone还是iPad?
基于此,我想对用户界面进行更改
在我的通用应用程序中,我需要检查当前设备是iPad还是iPhone.我该如何以编程方式执行此操作?我打算把代码放在我的viewDidLoad中.
iphone ×4
ipad ×3
objective-c ×2
xcode ×2
cocoa-touch ×1
device ×1
ios ×1
ios4 ×1
orientation ×1