2014-03-27 65 views
0

該應用程序正常工作,除了它不能被暫停。每當我按下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]; 
} 
+0

嘗試添加在Xcode特殊的破發點,這樣它會告訴你其中的應用程序崩潰行。 –

+0

我希望能工作,但不,它顯示了相同的路線。這是在main.m @autoreleasepool – Zeezer

+0

@Zeezer你可以顯示堆棧跟蹤?你想在appdelegate didEnterBackground方法時做些什麼嗎? – vin

回答

0
[__NSCFDictionary animationForKey:]: unrecognized selector sent to instance 

的問題是,當你的應用程序就會在後臺,地方調用animationForKey方法的類型字典的值,即沒有實現該方法。

+0

什麼會產生這種行爲,當應用程序進入我意識到的後臺時,我什麼也不做。 – Zeezer

+0

我認爲你必須添加一些代碼,我不知道你的應用程序是如何工作的,如果沒有閱讀一些代碼,我不能幫你。 –

+0

我添加了一些代碼拋出異常。 – Zeezer

0

如果您使用AFNetworking framework幷包括UIActivityIndicatorView+AFNetworking.h,我認爲這是一個指責。我甚至在我的工作中發生過。

所以,如果你不使用UIActivityIndicatorView+AFNetworking.h,只需從你的項目中刪除它,然後重建你的項目,一切都會好的。希望你。

這是在GitHub上的問題AFNetworking issue

相關問題