iOS - 用于检测故事板的iPad/iPhone设备的逻辑

Dan*_*cer 2 iphone objective-c ipad ios

我需要将我的故事板定义为我的App Delegate文件中的身份验证脚本的一部分 - 该脚本用于将相关数据传递给特定视图.

一切正常 - 但通过以这种方式定义我的故事板,我覆盖所有设备(iPad或iPhone)的路径,我希望我的应用程序是通用的,并遵循依赖于设备的不同故事板 - 因此理想情况下我想检测设备并将相关的故事板ID应用于变量,以便运行正确的故事板并且身份验证脚本仍能正常运行 - 但我不知道如何执行此操作.

这是我目前的代码 -

 UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"ipad_story" bundle:nil];
 UIViewController *controller;
 UINavigationController *navigationController;
Run Code Online (Sandbox Code Playgroud)

故事板是否包含检测设备的逻辑并应用ipad_story或ipad_phone?

rck*_*nes 10

有两种选择,使用iOS设备修饰,~ipad,这样你才会有故事像main_storyiPhone和main_story~ipadiPad版.

或者,如果您需要在代码中检测它,请查看UIUserInterfaceIdiom:

if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad) {
    // iPad
} else {
    // iPhone
}
Run Code Online (Sandbox Code Playgroud)

如果可能,应该使用第一个选项,只有在必须在代码中执行时才需要第二个op选项.