xcode의 크래시 리포트??를 확인하면 일부 아이폰에서 강제종료가 발생하는 것으로 보이는데, 테스트 기기나 애플의 심사 쪽 테스트 기기도 정상적으로 동작하고 2~3명 정도의 사용자만 강제종료가 발생하고 있습니다.... 전달받은 값과 고정된 시간을 조합해서 결과를 리턴 시키는데 이때 "20000101 000000"을 string으로 선언 후 date로 변경하여 사용하고 있습니다. 처음 사용하였던 코드는 let date_string: String = "20000101 000000" let Formatter = DateFormatter() Formatter.dateFormat = "yyyyMMdd HHmmss" //Formatter.timeZone = NSTimeZone(name: "KST") as TimeZone? Formatter.locale = NSLocale(localeIdentifier: "ko_KR") as Locale let stringDate = Formatter.date(from: date_string) 인데 마지막 stringDate 부분에서 Swift runtime failure: Unexpectedly found nil while unwrapping an Optional value 가 발생하였습니다. 이후 수정하여 아래와 같이 변경해보았으나 동일한 에러가 발생하였습니다. let timeZone = TimeZone(identifier: "Asia/Seoul") let dateComponents = DateComponents(timeZone: timeZone, year: 2000, month: 01, day: 01,hour: 00,minute: 00,second: 00) let Formatter = DateFormatter() Formatter.timeZone = TimeZone(identifier: "Asia/Seoul") Formatter.dateFormat = "yyyyMMdd HHmmss" let Date_1 = Calendar.current.date(from: dateComponents) let string_date = Formatter.string(from:Date_1!) let final_Date = Formatter.date(from: string_date) swift를 다룬지 얼마 안되었다보니... 주변에 아이폰을 빌려서 run시켜봐도 도저히 에러가 발생하지 않아 어떻게 처리해야할지 막막하네요....
235
1
0
케이플·2024-03-23
원인을 찾기 위해 먼저 TimeZone과 관련된 부분을 빼고 확인해보시기 바랍니다. 일부 사용자에서만 발생한다면 사용자의 TimeZone 설정 문제일 수도 있을 것 같습니다. 또한 nil 오류를 방지하려면 아래와 같이 if let 구문을 사용하는 방법도 있습니다. let dateString = "20000101 000000"
let formatter = ...