2010-07-19 48 views
0

从没想过我会在这个文件中得到一个错误,当我编译,但运行我的调试模式,应用程序停止应用程序,并强调行main.m文件错误打造

NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; 

在我的后main.m文件作为断点。当我在正常模式下运行时,该应用只显示黑屏。这是什么意思?

(更新)

好吧,到目前为止没有任何工作。这是错误的代码:

#import <UIKit/UIKit.h> 

int main(int argc, char *argv[]) 
{ 
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; 
    int retVal = UIApplicationMain(argc, argv, nil, nil); 
    [pool release]; 
    return retVal; 
} 

堆栈说

Pending breakpoint 1 - ""main.m":31" resolved 

奇怪的是,我删除了之前这个问题在上述视图控制器,还有没有警告或错误,我应用程序仍然在调试模式下暂停或返回黑屏并在正常运行模式下冻结。

这是一个包含我的视图和窗口布局的两个屏幕截图,位于IB的两个NIB中。如果您愿意,您还可以下载我的完整项目以浏览代码。该项目被命名为“iHouse.zip”

http://drop.io/6lhubkb

否则,任何其他特定代码任何人想看到的,我很高兴能在这里粘贴上的要求。否则,我很难过。

谢谢。

+4

没有代码或错误消息使它无法回答那个... – Eiko 2010-07-19 17:04:18

+0

你可以发布堆栈吗? – tadejsv 2010-07-19 17:19:56

+0

“该应用停止并突出显示该行......作为断点”因此关闭您的断点。 – 2010-07-19 17:24:15

回答

0

这意味着您可能忘记在应用程序启动后挂接窗口或视图以加载。除非你修改了main.m文件(你不需要),它应该是好的。

+0

我会看看如果是这样,但我怀疑它。 main.m文件没有被修改,并且在向我的应用程序添加了另一个表视图控制器和相应的viewcontroller文件后,此错误开始了。我仔细查看过代码几次,看起来一切正常。也没有错误或警告。 感谢您的帮助。 – 2010-07-19 21:30:30

+0

附加信息:http://stackoverflow.com/questions/3216336/blank-black-screen-when-running-my-ipad-app/3216476#3216476 ..随时张贴更新到您的文章上面或评论。 – iwasrobbed 2010-07-19 22:31:37

+0

如果它在添加tableview控制器或其他视图控制器后开始,找出是哪一个造成它(如果其中任何一个)。否则,可能会发布一个精简版的示例项目供其他人查看。因为你可能离情况太近以至于看不到明显的错误,所以总是有助于获得第二对问题的眼睛。 – iwasrobbed 2010-07-19 22:39:09

1

解决....排序。这个堆栈中的“31”奇怪地指的是在main.m开头的注释掉的苹果免责声明中的一个随机行。我删除了这个,并且问题消失了。仍然不确定为什么突然成为一个问题。

我将代码与另一个应用程序并排比较,发现我已经在AppDelegate中注释了applicationDidFinishLoading的关键部分,就像@IWasRobbed所提示的那样。

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
{ 
    [window addSubview:splitViewController.view]; 
    [window makeKeyAndVisible]; 
} 
else 
{ 
    [window addSubview:tabBarController.view]; 
    [window makeKeyAndVisible]; 
} 

因为我还没有准备好使这个应用程序通用,所以我评论了这部分。这样做,我拿出关键部分告诉应用程序你到底要摆在首位加载

[window addSubview:tabBarController.view]; 
    [window makeKeyAndVisible]; 

谢谢大家对你的帮助。花了一整天的时间找到我的一个愚蠢的错误,但你活着,你知道我猜。

+0

请考虑接受过去和现在的答案,所以他们被标记为回答。点击您的姓名以转到您的个人资料,点击您提出的每个问题,然后点击最正确或有用答案旁边的复选标记。声誉更多信息http://meta.stackexchange.com/questions/7237/how-does-reputation-work – iwasrobbed 2010-07-20 14:02:50