ios/개발하다가
-
Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)ios/개발하다가 2022. 6. 13. 21:57
Swift 코드의 맥락에서, EXC_BAD_INSTRUCTION 일반적으로 컴파일러 트랩, 즉 런타임에 감지된 버그로 인해 컴파일러가 코드에 삽입한 정의되지 않은 명령어를 의미합니다. 가장 흔한 원인은 다음과 같다. optional 언래핑 실패 — 강제 언래핑(!) 또는 암시적 언래핑(nil인 암시적으로 unwrapped 옵셔널에 액세스)으로 인해 범위를 벗어난 배열 실패한 강제 캐스팅(as!), 값이 nil optional이거나 값이 잘못된 타입이기 때문에 옵셔널을 다룰 때, 목표는 그 옵셔널의 범위를 가능한 한 많이 제한하는 것이어야 한다 . 그렇게 하면 한 번만 풀기만 하면 되므로 한 곳에서만 실패할 수 있으므로 다른 모든 코드가 더 간단해집니다. 참고 https://developer.apple.c..
-
'authorizationStatus()' was deprecated in iOS 14.0ios/개발하다가 2022. 4. 9. 21:48
접근 권한 사용자의 위치 정보 서비스에 접근하려면 다음과 같이 작성하면 된다. switch CLLocationManager.authorizationStatus() { case .notDetermined: // blah blah case .restricted: // blah blah case .authorizedAlways: // blah blah case .authorizedWhenInUse: // blah blah @unknown default: break } 하지만 'authorizationStatus()' was deprecated in iOS 14.0 라는 경고가 뜨는데 이 경고는 iOS 14부터 authorizationStatus를 사용하지 않아 수 없어 위 코드가 작동이 안된다는 것을 말한다...