2014-10-12 67 views
2

我有一些在iOS 8下凍結我的iPhone應用程序的錯誤。在使用RestKit從後端加載數據期間,我不知道爲什麼getObjectsAtPath方法中的代碼沒有執行。我假設應該從這個方法的成功或失敗塊中返回代碼。它看起來像其餘的工具包試圖從後端獲取數據,因爲我可以看到網絡活動指示器微調器仍處於活動狀態。我不知道我怎麼可能調查這個問題,因爲Xcode不會返回任何錯誤。該應用程序仍在工作,但我無法點擊後退按鈕跳轉到父視圖。Restkit正在凍結

-(void)loadAlerts{ 
_credentials = [[EFCredentials alloc]init]; 

NSString *rememberToken = [_credentials authToken]; 

if ([EFReachabilityManager isReachable]) { 


    [[[RKObjectManager sharedManager]HTTPClient]setDefaultHeader:@"Authorize" value:rememberToken]; 

    RKResponseDescriptor *responseDescriptor = 
    [RKResponseDescriptor responseDescriptorWithMapping:[EFMappingProvider alertsMapping] 
               method:RKRequestMethodGET 
              pathPattern:[NSString stringWithFormat:@"/%@/alerts.json",_id] 
               keyPath:nil statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)]; 

    [[RKObjectManager sharedManager]addResponseDescriptor:responseDescriptor]; 

    [[RKObjectManager sharedManager] getObjectsAtPath:[NSString stringWithFormat:@"/wearers/%@/alerts.json",_wearer_id] parameters:nil 


               success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult){ 

                NSLog(@"%@",mappingResult.array); 

                [self.tableView reloadData]; 


               } 

               failure:^(RKObjectRequestOperation *operation, NSError *error) { 



                UIAlertView *alertView = 
                [[UIAlertView alloc] initWithTitle:@"Error" message:[error localizedDescription] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; 

                [alertView show]; 
               } 
    ]; 
} 
else{ 

    _alertViewReachability = [[UIAlertView alloc]initWithTitle:@"Error" message:@"No network connection " delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Try again", nil]; 
    [_alertViewReachability show]; 
} 

}

enter image description here

libsystem_kernel.dylib`semaphore_wait_trap: 0x196954eb0:MOVN X16,#35

0x196954eb4:SVC#128

0x196954eb8:滯留

+0

如果你沒有調用RestKit,那麼按鈕的工作原理? – Wain 2014-10-14 16:26:48

+0

是的按鈕工作,沒有休息套件因爲它只是一個簡單的「後退」欄按鈕。我已經在iOS 7上測試了該應用程序,並且相同的代碼沒有任何問題。 – sonoDamiano 2014-10-14 16:45:32

+2

並調用'getObjectsAtPath',但是沒有任何回調被調用?打開跟蹤日誌記錄並使用分析器查看「鎖定」時應用程序正在執行的操作。 – Wain 2014-10-14 16:47:12

回答

0

它看起來像pos sible僵局。 EFAlertsHistoryTVC中的refreshData:方法正在響應通知。也許該方法中的某些東西正在同步等待數據,直到該方法返回時纔會有效。