2010-07-09 5 views
1

내 앱이 오늘 앱 스토어에 왔습니다. 나는 사용자가 이상한 버그를 제출하도록했다. SQLite에서 문자열로 저장 한 날짜를 다시 전달하는 날짜 선택 도구가 있습니다. 나는 시뮬레이터, 3G, itouch, iPAD에서이 앱을 테스트했다. 이 모든 것들은 예상대로 작동합니다. 그러나이 사용자의 3GS에서는 날짜 선택 도구에서 선택한 날짜에 하루를 추가합니다.3GP, 터치 및 iPad보다 날짜 선택기가 다르게 작동합니다.

NSDateFormatterMediumStyle 스타일의 NSDateformatter를 사용하여 db에 저장할 문자열로 변환하는 것 이외의 다른 날짜를 조작하지 않습니다.

이것이 왜 3GS에서 다르게 작동할까요?

+1

3GS가 아닌 시간대/데이터 라인 문제 일 수 있습니까? 휴대 전화가 설정된 시간대를 사용자에게 물어볼 수 있습니까? 또한 앱이 일시 중지 된 상태에서 앱이 업데이트를 처리하지 않는 동안 사용자가 시간대 설정을 변경했을 수 있습니까? 그냥 생각. – progrmr

+0

좋은 생각. 나는 지금 3G에서 똑같은 것을보고있는 또 다른 사용자가있다. 엄청 이상해. –

답변

0

이것은 3GS의 문제가 아닌 시간대 문제와 같습니다.

나는 이것이 NSDateformatter에 해당하는 경우 확실하지 않다 (나는 그것을 밖으로 시도 할 것이다),하지만 당신은 있는 NSDate의 설명 속성을 가져올 경우 (GMT 오프셋과), 로컬 시간을 얻을 것이다.

이러한 현지 시간 문자열을 지속 한 다음 GMT로 가정을 유지하는 경우 (또는 장치의 시간대가 변경된 경우) 시간이 잘못 될 수 있습니다. 사용자가있는 시간대를 확인하고 시스템 시간대 설정에 따라 테스트하십시오 (시뮬레이터는 MacOS 시간대를 사용합니다).

0

날짜 형식 및 날짜 스캐너에서 NSLocale을 설정하는지 확인하십시오. 기본적으로 사용자 로캘은 사용자의 로캘을 사용하며 사용자 로캘 이외의 다른 언어로 설정 한 경우 다를 수 있습니다.

1

버그가 기기 관련 문제가 아닌 iOS4 업그레이드와 관련이 있다고 생각하십니까?

iOS4로 업데이트 한 후에 만 ​​동일한 문제가 발생했습니다.

나의 포맷터 이렇게이다 aDateFormatter setDateFormat : @ "YYYY-MM-DD HH : MM : SS Z"]; 이 같은

내 날짜 :

2009-10-27 7시 30분 12초 -0700

난 그냥 날짜 선택 모드 세트를 이동하여 문제를 해결하기 위해 관리 전에 최대/최소/선택한 날짜를 날짜 선택 도구에 적용하십시오. 내 경우에는 다음과 같습니다.

aDatePicker.datePickerMode = UIDatePickerModeDate;

관련 문제