적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

반응형

초보 iOS 개발자의 일상/에러모음집 12

프로토콜 사용시 주의해야 할 강한 순환 참조 문제

‘weak' must not be applied to non-class-bound 'any …Delegate'; consider adding a protocol conformance that has a class bound 이러한 에러가 떴다. 클래스 인스턴스 간에 강한 순환 참조가 발생하는 경우가 있는데 흔히 Delegate 패턴을 사용할 때 이런 문제가 발생할 수 있다. * Retain Cycle (= Strong Reference Cycle) : 두 클래스 인스턴스가 서로 참조를 유지하면서 메모리에서 해제되지 않아 메모리 누수가 생기는 현상 그래서 UITableViewDelegate도 다음과 같이 weak var로 정의되어 있음. weak var delegate: UITableViewDelegate..

iOS 업데이트 후 Xcode 빌드하는 법

iOS 16 업데이트를했는데.. unsupported OS version... 으로 빌드가 되지 않는다.. 멍청하게도 잊고있었다.. iOS 업그레이드 하면 Xcode 버전도 업데이트 해주어야 한다는걸.. ㅠ X댔다.. 싶어 iOS 15로 다운그레이드 할려고 찾아봤는데 이미 다 막혔네? 16 나온지 얼마나 됐다고 다 막아버렸냐 ㅠ 흑흑 하지만 역시 솟아날 구멍은 있는 법! 거지같은 Xcode update 하지 않아도 iOS 16 device 에 빌드할 수 있는 방법이 있다! https://github.com/filsv/iOSDeviceSupport GitHub - filsv/iOSDeviceSupport: Xcode iPhoneOS DeviceSupport files (6.0 - 15.4) Xcode iP..

Xcode 업데이트 먹통 해결 방법 (Xcode 수동 설치)

회사 컴퓨터만 쓰다가 퇴사 후 오랜만에 개인 맥북으로 xcode를 사용하려니 버전이 너무 낮아서 업데이트를 해야만 했다. Xcode 13 이상은 또 MacOS 12 이상부터만 설치 가능하다고 하여 MacOS 부터 업데이트,, 업데이트 지옥,,, OS 업데이트 후 앱스토어에서 Xcode 업데이트를 하는데 아니 몇시간이 지나도 진전 없이 그대로에 뭐 정지도 안되고 먹통이 되어버린 것이다. Xcode 업데이트 문제가 많은 건 알았지만, 나는 이정도로 문제가 있었던 적은 없었는데 이번에 겪어보니 Xcode 평점에 달린 악플러들의 마음이 백번 이해가 가더라 ^^ ㅎㅎ 내가 찾은 해결방법 앱스토어 말고 Apple 개발자 사이트 들어가서 수동으로 Xcode 다운받아 설치하기 1. Apple 개발자 사이트에 들어가 페..

[Swift iOS] String to URL returns nil (space in URL)

let urlStr = "URL주소" let url = URL(string: urlStr)! 멀쩡히 잘 쓰던 이 코드에서 갑자기 크래시가 나며 앱이 종료되는 문제가 발생했다. Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value url 값이 nil 로 나오는 것을 보아 문자열을 url 형식으로 바꿔주면서 문제가 있었던 것 같은데.. 찾아보니 공백이 있을 경우 url 변환이 제대로 안되어 nil을 리턴할 수 있다고.. 확인해보니 url 에 넣어준 값 중에 빈 공백이 포함되어 있던 것이 하나 있던 것이었다. 문자열에서 공백을 없애는 방법들을 알아보자. 1. URL 인코딩 공백 없애는 법을 찾아봤더니 제일 먼저 찾은 방..

[Swift iOS] UIAlertController not showing

alert가 뜨지 않는것이었다!?!? 왜?? 이유는 잘 몰라 하지만 해결은 되었다. DispatchQueue.main.asyncAfter(deadline: .now() + 1) 시간 텀을 주고 비동기로 alert 띄우니까 문제 없이 잘뜨더라. alert가 표시될 때까지 기다리지 않고 코드를 계속 실행해서 경고가 표시되지 않는 경우가 있다고.. 왜 그런 문제가 발생하는지 이해할 순 없지만 뭐 어쩄든 이렇게 하면 해결은 되었다. 참고 : Apple Developer - alerts not appearing

CryptoSwift Build Errors in Xcode 12.5 'exported: true' has no effect in '_specialize' attribute

Xcode 12.5로 업데이트 하고 빌드를 하니 잘 돌아가던 앱이 에러가 아주 예쁘게 났다. 이번엔 예뻐서 바줄게 ^_^ ERROR : 'exported: true' has no effect in '_specialize' attribute CryptoSwift 라이브러리의 Generics.swift 내에서 발생한 에러로, 옛날 버전을 1.4.0으로 새로 업데이트 해주면 된다고 한다. 구글링 해보면 Xcode 12.4로 downgrading 해라, Swift Package로 수동으로 추가해줘라 등 여러가지 해결방법들이 있지만 이제는 그럴 필요가 없다. 해결방법 : 1. 터미널 열고 pod deintegrate 2. pod file 들어가서 pod 'CryptoSwift', '~> 1.4.0' 로 버전 설정..

ITMS-90809: Deprecated API Usage - UIWebView issues

“ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability.” EBSe EggBoom 프로젝트에서 이미 한번 겪어봤던 UIWebView 이슈! Nefu 프로젝트에서는 UIWebView를 직접 사용하는 건 아니라 WKWebView로 변환해줄 필요는 없고 UIWebView를 참조하는 라이브러리들만 수정하면 되는 거였다. 베트남 개발자분들께 요청을 하고 나도 프로젝트에서 UIWebView가 다 없어진 것을 확인한 후 다시 빌드 업로드를 했지만...! 같은 메세지의 자동응답기만 되풀이될 뿐이었다... 빡쳐서..

ERROR ITMS-90208: "Invalid Bundle." (feat. mobile-ffmpeg-full)

210610 앱스토어에 심사 요청하려고 아카이브 업로드 하는데 다음과 같은 에러가 계속 발생하여 아카이브 업로드를 못하고 있었다. App Store Connect Operation Error ERROR ITMS-90208: "Invalid Bundle. The bundle your.app/Frameworks/libavcodec.framework does not support the minimum OS Version specified in the Info.plist." App Store Connect Operation Error ERROR ITMS-90208: "Invalid Bundle. The bundle your.app/Frameworks/libavdevice.framework does not sup..

728x90
반응형