2009-10-30 2 views
0

json-framework을 특정 웹 서비스와 통신하기 위해 사용하고 있습니다. 지금까지 그것은 나를 잘 보냈습니다. 그러나이 코드는 장치에서 내 adHoc 앱을 충돌시킵니다. 기기의 디버그 모드에서 동일한 앱이 정상적으로 작동합니다. 여기 일부 JSON은 adHoc에서 크래킹을 요청하지만 디버그에서는 크래시를 요청하지 않습니다.

(즉이 충돌 곳이다) 내 JSON 요청입니다 : 내가 무슨 잘못을하고있는 중이 야

//Make values dictionary 
NSMutableDictionary *valuesDictionary; 
NSMutableDictionary *valuesDictionary_1; 
NSMutableArray *tempArray; 
NSMutableArray *values = [[NSMutableArray alloc] init];; 
NSEnumerator * enumerator = [self.contactsTempArray objectEnumerator]; 
id tempObj; 
while (tempObj = [enumerator nextObject]) { 
    valuesDictionary = [[NSMutableDictionary alloc] init]; 
    valuesDictionary_1 = [[NSMutableDictionary alloc] init]; 
    tempArray = [[NSMutableArray alloc] init]; 
    //NSString *key = [NSString stringWithFormat:] 
    if([[tempObj objectForKey:@"Checked"] isEqualToString:@"1"]) { 
     [valuesDictionary setObject:[NSNumber numberWithInt:[[tempObj objectForKey:@"NotificationContactId"] intValue]] forKey:@"ContactId"]; 
     [valuesDictionary setObject:[NSNumber numberWithBool:true] forKey:@"IsEnabled"]; 
    } 
    else { 
     [valuesDictionary setObject:[NSNumber numberWithInt:[[tempObj objectForKey:@"NotificationContactId"] intValue]] forKey:@"ContactId"]; 
     [valuesDictionary setObject:[NSNumber numberWithBool:false] forKey:@"IsEnabled"]; 
    } 
    [tempArray addObject:valuesDictionary]; 
    [tempArray addObject:valuesDictionary_1]; 
    [values addObject:valuesDictionary]; 
    [valuesDictionary release]; 

} 

//UPDATE NOTIFICATIONS SETTINGS 

//JSON POST request 
NSArray *keys = [NSArray arrayWithObjects:@"sessionId", @"apiKey", @"deviceToken", @"values", nil]; 
NSArray *objects = [NSArray arrayWithObjects:appDelegate.sessionId, appDelegate.apiKey, appDelegate.deviceToken, values, nil]; 
NSDictionary *getAllSensorsDict = [NSDictionary dictionaryWithObjects:objects forKeys:keys]; 
NSString *requestString = [NSString stringWithFormat:@"%@", [getAllSensorsDict JSONFragment], nil]; 
NSData *requestData = [NSData dataWithBytes: [requestString UTF8String] length: [requestString length]]; 
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL: [NSURL URLWithString: @"https://xxxxxxxxx"]]; 
[request setValue:@"application/json;charset=utf-8" forHTTPHeaderField:@"Content-Type"]; 
[request setHTTPMethod: @"POST"]; 
[request setHTTPBody: requestData]; 
//JSON response 
NSData *jsonData = [ NSURLConnection sendSynchronousRequest: request returningResponse: nil error: nil ]; 

어떤 아이디어?

adHoc에 대한 JSON 요청이 너무 복잡합니까?

+0

글쎄, 확실히 많은 메모리가 새어 나왔습니다 ... "릴리스"구성으로 테스트 해보십시오. 기본적으로 AdHoc 빌드에있는 것과 동일한 코드를 작성하지만 여전히 디버거를 사용할 수 있습니다. –

답변

0

Mac에 iPhone을 연결하십시오. 그런 다음 xcode를 열고 메뉴, 창, 전자 수첩을 엽니 다. "충돌 로그"로 이동하여 충돌에 대한 정보를 볼 수 있습니다 ....

또는 빌드 및 이동 버튼을 사용하여 (Mac에 연결된) iPhone에서 앱을 테스트 할 수도 있습니다. 콘솔에 충돌 메시지가 표시됩니다.

관련 문제