該應用程序正常工作,除了它不能被暫停。每當我按下home鍵的應用程序崩潰與下面的堆棧跟蹤:當主頁按鈕被按下時(當應用程序暫停時),iOS應用程序崩潰
2014-03-27 12:00:31.413 ProjName[2598:60b] -[__NSCFDictionary animationForKey:]:
unrecognized selector sent to instance 0x17ee4cc0
2014-03-27 12:00:31.415 ProjName[2598:60b] *** Terminating app due to uncaught exception
'NSInvalidArgumentException', reason: '-[__NSCFDictionary animationForKey:]:
unrecognized selector sent to instance 0x17ee4cc0'
*** First throw call stack:
(0x2fc9cfd3 0x3a77fccf 0x2fca0967 0x2fc9f253 0x2fbee7f8 0x324caf01 0x324b9d83 0x3250e7b9 0x2fc5f1f1 0x2fbd357f 0x305bda3d 0x3253bdcd 0x324bdca5 0x324bd871 0x32521cc9 0x34acbaed 0x34acb6d7 0x2fc67ab7 0x2fc67a53 0x2fc66227 0x2fbd0f4f 0x2fbd0d33 0x34aca663 0x3251c16d 0x10f759 0x3ac8cab7)
libc++abi.dylib: terminating with uncaught exception of type NSException
最終用戶永遠不會按home鍵時注意到崩潰。但是,當應用程序應該恢復時,它會再次重新啓動。沒有顯示錯誤消息,因此用戶可能認爲應用程序正常工作。這裏可能是什麼問題?
編輯: 這就是異常被拋出(EXC_BAD_ACCESS代碼= 1),在main.m文件支持文件:
int main(int argc, char * argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
EDIT2: 現在我發現是什麼原因造成的問題,但是我仍然想知道爲什麼?如果我創建一個UIView並將其添加到drawRect中,則會出現問題。
- (void)drawRect:(CGRect)rect {
[self.layer setSublayers:nil];
activityView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
activityView.center=CGPointMake(200, 200);
[activityView startAnimating];
[self addSubview:activityView];
}
這個錯誤是可以通過添加一個UIView與這個drawRect這樣的重現。有人可以解釋這種行爲嗎?
- (void)viewDidLoad
{
totalMeter = [[UIViewTest alloc] initWithFrame:CGRectMake(0, 80, 320.0, 320.0)];
[self.view addSubview:totalMeter];
}
- (void)viewDidAppear:(BOOL)animated
{
[totalMeter setNeedsDisplay];
}
嘗試添加在Xcode特殊的破發點,這樣它會告訴你其中的應用程序崩潰行。 –
我希望能工作,但不,它顯示了相同的路線。這是在main.m @autoreleasepool – Zeezer
@Zeezer你可以顯示堆棧跟蹤?你想在appdelegate didEnterBackground方法時做些什麼嗎? – vin