Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone pushViewController在iOS 5上不工作(在iOS 6上正常)_Iphone_Ios_Uinavigationcontroller_Sigabrt - Fatal编程技术网

Iphone pushViewController在iOS 5上不工作(在iOS 6上正常)

Iphone pushViewController在iOS 5上不工作(在iOS 6上正常),iphone,ios,uinavigationcontroller,sigabrt,Iphone,Ios,Uinavigationcontroller,Sigabrt,我有一个UINavigationController,它在屏幕上显示几个按钮。他们都只是简单地使用这句话: myViewController *newView = [[myViewController alloc] initWithNibName:@"myViewController" bundle:nil]; [[self navigationCo

我有一个UINavigationController,它在屏幕上显示几个按钮。他们都只是简单地使用这句话:

myViewController *newView = [[myViewController alloc] initWithNibName:@"myViewController"
                                                                          bundle:nil];
[[self navigationController] pushViewController:newView animated:YES];
转换到下一个视图。然而,我有一个这样的视图控制器,它只会在iOS5上导致这一行的崩溃。它在iOS 6上运行得非常好。我很困惑。这次坠机事件没有真正的细节。这是一个突出.m主线的标志:

exitStatus = UIApplicationMain( argc, argv, nil, NSStringFromClass([ApplicationDelegate class]));
我不知道

  • 您需要取消选中自动布局。
  • 并确保您也在此处更改。。选择ios 5.1
  • 您需要取消选中自动布局。
  • 并确保您也在此处更改。。选择ios 5.1
  • 试试这句话:

    myViewController *newView = [[myViewController alloc] initWithNibName:@"myViewController"
                                                                                  bundle:[NSBundle mainBundle]];
    
    代替:

    myViewController *newView = [[myViewController alloc] initWithNibName:@"myViewController"
                                                                              bundle:nil];
    
    试试这句话:

    myViewController *newView = [[myViewController alloc] initWithNibName:@"myViewController"
                                                                                  bundle:[NSBundle mainBundle]];
    
    代替:

    myViewController *newView = [[myViewController alloc] initWithNibName:@"myViewController"
                                                                              bundle:nil];
    

    我曾尝试过类似的问题,以下是我认为需要考虑的步骤:

    • (如果您使用的是xib文件)如前面提到的Venkat Manohar Perepa一样,请检查是否已关闭“使用自动布局”,因为这是iOS 6特有的功能
    • (如果您使用的是xib文件)查看演示viewcontroller时使用的xib文件的内容,并检查是否没有特定于iOS6的类(例如:NSLayoutConstraint)
    • 最后(这也是我面临的问题),您应该检查是否在安装了iOS5的设备上出现崩溃。如果没有,但仍然在模拟器上崩溃,请通过选择iPhone simulator>重置内容和设置删除已安装的应用程序

    我也尝试过类似的问题,以下是我认为需要考虑的步骤:

    • (如果您使用的是xib文件)如前面提到的Venkat Manohar Perepa一样,请检查是否已关闭“使用自动布局”,因为这是iOS 6特有的功能
    • (如果您使用的是xib文件)查看演示viewcontroller时使用的xib文件的内容,并检查是否没有特定于iOS6的类(例如:NSLayoutConstraint)
    • 最后(这也是我面临的问题),您应该检查是否在安装了iOS5的设备上出现崩溃。如果没有,但仍然在模拟器上崩溃,请通过选择iPhone simulator>重置内容和设置删除已安装的应用程序

    如果您尚未在Objective-C异常上设置断点,请使用断点导航器设置断点。它通常会给出更好的错误消息。即使它跳回main.m,调试控制台(底部面板)也可能有一些额外的信息。。。这说明了什么?很可能在您的xib中有一些东西需要iOS 6,比如自动布局。是的,自动布局是问题所在。我已经接受了下面的答案。如果您还没有这样做,请使用断点导航器在Objective-C异常上设置断点。它通常会给出更好的错误消息。即使它跳回main.m,调试控制台(底部面板)也可能有一些额外的信息。。。这说明了什么?很可能在您的xib中有一些东西需要iOS 6,比如自动布局。是的,自动布局是问题所在。我已经接受了下面的答案。哇。非常感谢。我不认为我会发现这是个问题。但是,我将注意到,我不必更改部署sdk版本。仅自动布局就成功了。哇。非常感谢。我不认为我会发现这是个问题。但是,我将注意到,我不必更改部署sdk版本。单靠自动布局就成功了。