我的iPad应用程序遇到了一些障碍。我最近对我的代码做了一些不可恢复的更改,现在它只会用黑屏启动。它会瞬间显示LoadingImage,然后直接显示为黑色。
为了简化我正在寻找的问题,我想了解一下我应该从哪里开始寻找?到目前为止,我已经尽力检查并重新检查了我能想到的所有内容,所以我已经准备好在一些指导下开始搜索了。更具体地说,您的代码只会导致黑屏,而根本不运行任何代码的一些最常见的原因。它会是一个InterfaceBuilder问题,一个Xcode .h问题,我的方法有什么问题或什么?我过去曾几次意外地解决了这个问题,但这次我很难找到消息来源。我在我的代码中添加了NSLog调用以帮助缩小问题范围(实际上在每个.m文件中)并且根本没有打印到日志中。
事实:
任何人都能提供的任何帮助都会让我失去很多抱怨,呻吟和哭泣。 HEH
感谢。
其他请求代码:
来自MasterView.m的 viewDidLoad
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"Master: This self: %@", self);
self.contentSizeForViewInPopover = CGSizeMake(320.0, 600.0);
self.arrMenuOptions = [[NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"MainMenuOptions" ofType:@"plist"]] retain];
}
来自DetailView.m的viewDidLoad
- (void)viewDidLoad {
/// Initialize the preset things.
NSLog(@"Detail: This self: %@", self);
eleDetailToolbar.barStyle = UIBarStyleBlack;
eleWebView.opaque = NO;
eleWebView.backgroundColor = [UIColor clearColor];
eleWebView.delegate = self;
[super viewDidLoad];
}
AppDelegate摘录
@implementation AssistantAppDelegate
@synthesize window, splitViewController;//, detailViewController, masterViewController;
//rootViewController, eleMasterNavigationItem
#pragma mark -
#pragma mark Application lifecycle
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSLog(@"AppDelegate: This self: %@", self);
// Override point for customization after app launch
// Add the split view controller's view to the window and display.
[window addSubview:splitViewController.view];
[window makeKeyAndVisible];
return YES;
}
答案 0 :(得分:6)
Run
控制台上收到任何错误消息? main nib file base name
文件中填充了info.plist
密钥? applicationDidFinishLaunching
和viewDidLoad
方法有哪些内容?如果可能,请使用代码
更新您的问题 根据评论进行更新:如果您没有applicationDidFinishLaunching
方法,如何添加窗口?
你应该在App Delegate .m文件中有这样的东西:
@synthesize window;
@synthesize viewController;
- (void)applicationDidFinishLaunching:(UIApplication *)application {
// Override point for customization after app launch
[window addSubview:viewController.view];
[window makeKeyAndVisible];
}
如果不在此处,则不会添加任何窗口,并且会出现黑屏。
答案 1 :(得分:1)
我遇到了同样的问题。 TechZen是对的,因为它没有加载主nib窗口。因此,iWasRobbed的第三个建议提供了最好的线索。
问题是,我的应用程序是针对iPhone和iPad制作的,所以在Info.plist
中,我有NSMainNibFile~iphone
和NSMainNibFile~ipad
,这些在iSO 3.2之前无法识别。我需要做的是为了比较目的添加一个条目:NSMainNibFile
。
感谢大家的线索!快乐的编码!