应用程序在 iPhone 上运行良好; iPad模拟器只给出黑屏

Posted

技术标签:

【中文标题】应用程序在 iPhone 上运行良好; iPad模拟器只给出黑屏【英文标题】:app works fine on iPhone; iPad simulator gives only black screen 【发布时间】:2013-01-16 19:59:30 【问题描述】:

这是来自应用委托的 applicationDidLaunch 方法:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
[self.window makeKeyAndVisible];

                //This hides the status bar throughout the app.

[UIApplication sharedApplication].statusBarHidden=YES;


NSMutableArray *tabItems = [[NSMutableArray alloc] initWithCapacity:5];

GHHaikuViewController *hvc = [[GHHaikuViewController alloc] init];
hvc.tabBarItem.title = @"Home";
hvc.tabBarItem.image = [UIImage imageNamed:@"53-house.png"];
[tabItems addObject:hvc];

GHComposeViewController *cvc = [[GHComposeViewController alloc] init];
cvc.tabBarItem.title = @"Compose";
cvc.tabBarItem.image = [UIImage imageNamed:@"216-compose.png"];
[tabItems addObject:cvc];

GHWebViewController *wvc = [[GHWebViewController alloc] init];
wvc.tabBarItem.title = @"Buy";
wvc.tabBarItem.image = [UIImage imageNamed:@"80-shopping-cart.png"];
[tabItems addObject:wvc];

GHFeedback *fvc = [[GHFeedback alloc] init];
fvc.tabBarItem.title = @"Feedback";
fvc.tabBarItem.image = [UIImage imageNamed:@"18-envelope.png"];
[tabItems addObject:fvc];

GHSettingsViewController *svc = [[GHSettingsViewController alloc] init];
svc.tabBarItem.title = @"Settings";
svc.tabBarItem.image = [UIImage imageNamed:@"20-gear-2.png"];
[tabItems addObject:svc];

UITabBarController *tbc = [[UITabBarController alloc] init];
tbc.viewControllers = tabItems;
self.window.rootViewController = tbc;

return YES;

这是来自第一个视图控制器的viewDidLoad,为清楚起见进行了简化:

-(void)viewDidLoad 
[super viewDidLoad];
self.view.backgroundColor = [UIColor whiteColor];
background.backgroundColor = [UIColor whiteColor];
[self.view addSubview:background];
NSLog(@"View loaded.");

在 iPhone 上一切正常。在 iPad(或至少模拟器)上,“查看已加载”日志,但不是白屏,而是黑屏。早些时候我在玩 iPad 的故事板,但我已经删除了它,我认为我删除了所有文件,现在一切都从代码运行。我已经清理了项目。我忽略了什么?

编辑:这是 Xcode 中目标摘要的截图。

【问题讨论】:

【参考方案1】:

如果您不使用主情节提要或 xib,则需要在代码中创建 UIWindow

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

【讨论】:

在应用代理中还是在第一个视图控制器中? 将其添加到应用程序委托中——一切都很好!非常感谢。【参考方案2】:

确保在项目设置中清除 iPad 的情节提要。删除情节提要时,IMO Xcode 不会删除该条目。您应该只在那里配置 iPhone 的故事板。

【讨论】:

我该怎么做?如果只是更改目标的“摘要”选项卡的问题,我想我已经做到了——请参阅我添加到问题中的屏幕截图。

以上是关于应用程序在 iPhone 上运行良好; iPad模拟器只给出黑屏的主要内容,如果未能解决你的问题,请参考以下文章

AVAssetExportSession 在 iPad 上工作,在 iPhone 上没有音频

xcode UI 自动化脚本在 iPhone 上运行良好,但在 iPad 上失败

为啥应用程序可以在 iPhone 上运行,而不是在 iPad 上运行?

UIImagePickerController 在 iPad 而不是 iPhone 上崩溃应用程序

在 iPad 上运行的 iPhone 应用程序中横向视图顶部的 20 像素间隙

iPhone OK,但不是 iPad .. 为啥?