【发布时间】:2013-08-28 12:45:15
【问题描述】:
我有一个通用应用程序,我成功地将 iPhone 组件升级到了 ios7。 但是 ipad 组件不再运行。我收到以下错误:
由于未捕获的异常 'NSInvalidArgumentException' 导致应用程序终止,原因:'-[UISplitViewController tabBar]: unrecognized selector sent to instance 0x8d9eef0'
我不知道发生了什么。我没有碰任何 ipad 方面的东西。
我正在运行:11A4449d build 和 5A11365y build for x-code 在 mac 机器上。
在此代码之后发生错误:
- (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;
}
【问题讨论】:
-
该错误清楚地表明您正在向不响应该消息的对象发送消息。您提供的代码 sn-p 并不能帮助我们知道是什么。您只需要在调试器中逐步执行此操作,即可找出视图控制器层次结构与您期望的不同之处。
-
我再次检查了我的代码。在该行有一个断点:- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 并意识到我添加了一些代码来修改 iPhone 的 TabBarItems。显然 iPad 不喜欢这样,所以我把这行代码放在它周围: BOOL piPad = (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad); if (!piPad) { )。这样就解决了。
-
很高兴您设法解决了自己的问题。
-
@user2713097:请将您的解决方案作为答案发布并接受,以便其他浏览问题列表的人可以看到它不再打开。