NSDateFormatter가 문자열을 파싱 할 때 nil을 반환하면서 NSDateFormatter에 문제가 발생했습니다. 로컬에서 실행할 때 완벽하게 작동합니다 (시뮬레이터 또는 on 나의 기기).두 개의 다른 장치에서 NSDateFormatter의 동작이 일관성이 없음
나는이 동작에 차이를 일으킬 수있는 것을 배제하려고합니다. 내 첫 번째 생각은 로케일했지만 동일한 로케일이 항상 사용되도록 명시 적으로 설정하려고 시도했지만 아무런 차이가 없습니다. 여기
코드입니다 :PARSING DATE 2010-11-28T20:30:49-0000 AS (null)
을하지만 로컬 I 얻을 : 오류가 발생한 장치에
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_GB"];
[dateFormatter setLocale:locale];
[locale release];
NSDate *theDate = [dateFormatter dateFromString:dateString];
NSLog(@"PARSING DATE %@ AS %@", dateString, theDate);
, 내가 얻을이 나를 미치게됩니다
PARSING DATE 2010-11-28T20:30:49-0000 AS 2010-11-28 20:30:49 +0000
, AM 나는 다른 것을 놓쳤다?
4.2 로컬 (시뮬레이터) 및 내 장치 (iPhone 4)에서 실행 중입니다. 실패한 장치는 실행중인 3GS 4.2.1입니다.
어떤 아이디어라도 높이 평가할 수 있습니다!
명시 적으로 형식 문자열을 설정했기 때문에 로캘 설정 코드를 제거해 보셨습니까? – Costique
장치에 "24 시간제"설정이 켜져 있습니까? 자세한 정보는 [Apple QA1480] (http://developer.apple.com/library/ios/#qa/qa2010/qa1480.html)을 참조하십시오. – Anna
네, 위와 같이 로케일을 설정하지 않고 시도했습니다. –