Ipad 从ios6到ios7的转换

Ipad 从ios6到ios7的转换,ipad,ios7,Ipad,Ios7,我有一个通用应用程序,我成功地将iPhone组件升级到了ios7。 然而,ipad组件不再运行。我得到以下错误: 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[UISplitViewController选项卡]:未识别的选择器已发送到实例0x8d9eef0' 我不知道发生了什么事。我没有接触过ipad的任何一面 我正在mac电脑上运行:11A4449d版本和5A11365y版本的x代码版本 执行此代码后,会发生错误: - (void) awa

我有一个通用应用程序,我成功地将iPhone组件升级到了ios7。 然而,ipad组件不再运行。我得到以下错误:

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[UISplitViewController选项卡]:未识别的选择器已发送到实例0x8d9eef0'

我不知道发生了什么事。我没有接触过ipad的任何一面

我正在mac电脑上运行:11A4449d版本和5A11365y版本的x代码版本

执行此代码后,会发生错误:

- (void) awakeFromNib {
    [super awakeFromNib];

    // whenever I come out of a storyboard, I make myself the delegate of any splitview I am in
    self.splitViewController.delegate = self;
}

在此方法中:我在iPhone的选项卡栏上设置所选图像。 但没有意识到iPad会不喜欢它。所以我在它周围放了一个选择性声明(if!iPad)来修复它

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

    BOOL piPad = (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad);
    if (!piPad)
    {

        // **************************************************************************************************
        // Assign tab bar item with titles and selected images
        UITabBarController *pTabBarController = (UITabBarController *)self.window.rootViewController;

        UITabBar *pTabBar = pTabBarController.tabBar;
        UITabBarItem *pTabBarItem0 = [pTabBar.items objectAtIndex:0];


        pTabBarItem0.title = @"List";


        pTabBarItem0.selectedImage = [UIImage imageNamed:@"tabBarList_30x30_selected"];
        pTabBarItem0.image = [UIImage imageNamed:@"tabBarList_30x30.png"];


        // **************************************************************************************************
    }

    return YES;

该错误清楚地表明您正在向一个对象发送一条消息,而该对象没有响应该消息。您提供的代码片段并不能帮助我们了解什么。您只需在调试器中逐步执行此操作,即可发现视图控制器层次结构与您期望的不同之处。我再次检查了代码。在以下行中有一个断点:-(BOOL)application:(UIApplication*)application使用选项完成了启动:(NSDictionary*)launchOptions,并意识到我添加了一些代码来修改iPhone的TabBarItems。显然iPad不喜欢这样,所以我在它周围放了一行代码:BOOL piPad=(UI\u USER\u INTERFACE\u IDIOM()==UIUserInterfaceIdiomPad);如果(!piPad){)。这就解决了问题。我很高兴您能够解决自己的问题。@user2713097:请将您的解决方案作为答案发布并接受,以便其他人查看问题列表时可以看到它不再打开。