본문 바로가기

IT/iOs

(45)
App Store Connect Operation Warning 외부 SDK를 프로젝트에 임포트하고 개발 중이었습니다. 빌드도 잘되고 실기기에서 디버깅도 잘되고 문제가 없어 보였습니다. 혹여나 배포하는 과정에서 에러가 발생하지 않을까 테스트플라이트에 한번 업로드해보았습니다. 아니나 다를까 아래와 같은 무지막지한 에러가 압박을 주며 테스트플라이트 업로드에 실패했습니다. 실기기에 빌드까지 잘되었던 상황이라 이 부분 테스트 안 하고 배포 단계까지 갔으면 다하고 나서 스트레스 테러 생길뻔했습니다. 자 이렇게 조기 발견된 에러를 한번 살펴보겠습니다. 대충 위쪽 에러들은 ~.apple.com 이 호스트에 접근 불가다 이런 내용이고 아래쪽에는 해당 아키텍처를 지원하지 않는다 머 이런 게 있습니다. 이런 경우는 대부분 하나 수정하면 여러 에러가 연달아 잡히는 경우가 많지요 그래서 ..
duplicate symbol for architecture arm64 error duplicate symbol for architecture arm64 error 오늘도 어김없이 개발을 하다가 오류가 나서 포스팅을 남깁니다. 하나씩 남기다 보면 모든 오류 정복하겠지 했지만 오류는 끝이 없고 부질없는 생각이었던 것이 증명이 됐습니다. 오류도 고치는 맛이 있지 않겠습니까 오류 때문에 들어오신 개발자님들 개발자 꿈나무님들 힘내세요! 하하하 이번 포스팅 내용은 심볼이 duplicate라고 나는 오류입니다. 이 오류가 어쩌다 발생됐냐 하시면! objective-c로 그룹핑된 constants를 구현하고 싶어서 struct를 아래와 같이 구성하다가 발생을 하였습니다. struct MONExtResultStruct { NSString * const AppID; NSString * const Er..
section header height must not be negative error 개발 작업을 마치고 QA팀에게 검증을 맡겼습니다.! 제발 한 번에 통과되기를 바라지만 역시나 버그 리포트는 올라옵니다. 이번에는 ios9이하 단말에서 강제 종료 현상이 난다는 피드백이 왔습니다. 개발을 하면서 느끼는 것이지만 실무를 하는 개발자들에게 테스트 환경을 구축해주는 것은 정말 중요하다고 생각이 듭니다. 하위 버전을 테스트할 수 있는 테스트 기기나 개발자가 최소 한개는 계속 가지고 다닐 수 있는 테스트 기기는 기본적으로 주어져야 한다고 생각하는데 현 직장은 이 부분이 잘 안되어있어서 힘드네요 그래서 이런 오류가 발생하는것은 당연한 겁니다! 저 같은 개발자분들 힘내세요! 죽는다는 부분에서 디버깅을 해보니 아래와 같은 오류를 엑스코드가 뱉습니다 *** Assertion failure in -[UISe..
UIBackgroundTaskIdentifier vs BGTaskScheduler UIBackgroundTaskIdentifier vs BGTaskScheduler (UIBackgroundTaskIdentifier/BGTaskScheduler ios13 issue) UIBackgroundTaskIdentifier란 앱의 상태가 백그라운드로 들어가도 특정 작업을 가능하게 해 줍니다. UIBackgroundTaskIdentifier가 생성될 때 백그라운드에서 작업이 시작되는 것이 아닙니다. UIBackgroundTaskIdentifier를 생성하여 os에게 이다음 작업은 백그라운드에서도 진행되길 원한다는 것을 알리는 것입니다. ios4부터 지원됩니다. 여기서 이슈는 ios13에서 최대 작업 시간이 3분으로 변경되었고 이 3분도 보장을 하지 않는다는 것입니다. 회사 프로젝트를 개발 중에 백..
Can't end BackgroundTask error Can't end BackgroundTask 오류 Xcode11로 업데이트하면서 뭔 문제가 이리 많은지 정말 정신이 없습니다. 개발 환경을 최대한 늦게 업데이트했었어야 하는 후회가 막심합니다. 왜 항상 똑같은 후회를 할까요 사람인지라 그렇겠지요 항상 무엇인가 업데이트 될때마다 한두 개씩은 문제를 야기시키는 애플이었지만 요번 업데이트는 많아도 너무 많습니다. 사이드 이팩트 검증하고 수정하느라고 작업 시간을 너무 많이 뺏기고 있는 요즘입니다. Xcode11로 업데이트 하고 작업 중에 아래와 같은 엑스코드 오류 메시지가 찍히는 것이 포착됐습니다. Can't end BackgroundTask: no background task exists with identifier 2 (0x2), or it may have ..
SceneDelegate란 SceneDelegate란 SceneDelegate을 살펴보겠습니다. Xcode 11부터 SceneDelegate가 기본 iOS 앱 프로젝트 템플릿으로 자동 추가됩니다. SceneDelegate은 swiftUI에만 속해있는 것은 아닙니다. iOS 13 이상에서는 씬 델리게이트(scene delegate)가 앱 델리게이트의 일부 역할을 담당합니다. 중요한 것은 window의 개념이 scene 개념으로 대체된다는 것입니다. 앱에는 둘 이상의 scene이 있을 수 있으며 이제 scene은 앱의 사용자 인터페이스 및 콘텐츠의 배경으로 사용됩니다. 특히 재미있는 점은 scene이 있는 하나의 앱을 갖는 개념은 iOS 및 iPadOS에서 다중 창 앱을 빌드할 수 있습니다. 자동으로 생성되는 SceneDelegate..
iOS13 touchid issue iOS13에서 지문인식 문제 안녕하세요 이번 포스팅은 지문 인식 기능 이상으로 삽질한 내용과 제가 내린 결론을 공유하기 위해 작성하겠습니다. iOs13으로 업데이트 후 지문인식 기능이 있는 앱이 디버깅 중 이상해 보이기 시작했습니다. 기분 탓이겠지 하며 몇 번을 넘어갔으나 불길한 예감은 여전했고 정신 차리고 살펴본 결과 역시 버그였습니다. 왜 안좋은 예감은 항상 맞는 걸까요 좋은 예감이란 것도 한번 느껴보고 싶습니다. 지문인식, 페이스아이디 기능 등은 앱에서 대체로 로그인 기능을 사용자로 하여금 손쉽게 하기 위해서 사용합니다. 로그인이랑 해당 서비스를 사용하게 만드는 부분으로 서비스에 로그인 기능이 있다면 제일 0순위로 중요한 기능이라고 해도 과언이 아닙니다. 그래서 해당 기능에 문제가 생기면 엄청난 악..
맥 카탈리나 코코아팟 오류 MacOS Catalina CocoaPod Error macOS Catalina로 업데이트한 뒤에 개발하던 프로젝트에 새로운 코코아팟 라이브러리를 설치하려고 팟파일에 라이브러리 추가하고 터미널 열어서 pod install 쳐보니 아래와 같은 오류 메시지와 함께 동작을 하지 않았습니다. /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby: bad interpreter: No such file or directory 제 맥 버전은 macOS Catalina 10.15 입니다. 해결책은 터미널을 열어서 아래 명령어를 실행시켜주면 끝입니다! sudo gem install -n /usr/local/bin cocoapods 이렇게 입력으로 해주면..