본문 바로가기

전체 글76

앱 상태 복원 (UIViewControllerRestoration) iOS 13이 배포되고 나서 초반에 급증했던 CS가 앱이 자꾸 재시작된다는 점이었다. 관련해서 이전 글에도 작성을 해놓았다. (https://littleshark.tistory.com/57) iOS 13.2 bug ) background에서 앱이 suspend -> terminated되는 이슈 아.. iOS 13.2가 저번주에 업데이트 되고 CS문의가 폭발했다. 고객들의 증상들은 모두 동일하게 "백그라운드 상태로 앱을 뒀다가 다시 진입했더니 앱이 재시작되서 사용할수가 없어요!" 였다. 당연� littleshark.tistory.com 근데 글 하단에도 적혀있듯이 iOS 13.2.2에서는 수정되었다고 했는데 테스트 해봤을 때 우리앱은 동일하게 발생했다. 그래서 우리앱을 의심하기 시작했다. 메모리를 너무 많.. 2020. 5. 4.
framework not found ... 에러 예전에 코코아팟으로 추가해둔 private 라이브러리가 있는데 프로젝트 내에서 사용되지 않다보니까 팟을 지웠는데 그 뒤로 시뮬레이터로 빌드하니까 에러가 뿜뿜 하는것이다.. 귀찮아서 그냥 디바이스로 빌드해서 사용하다가 최근 시뮬레이터 사용할 일이 있어서 해결하려고 한다. 해당 프레임워크를 찾을수 없다는 에러.. 해결방법은 Target > Build Settings 에 보면 other Linker Flags에 path를 시뮬레이터만 따로 해두었기 때문이다! 이거 따로 해놓은 이유는 시뮬레이터에만 따로 빌드되지 않도록 처리( https://littleshark.tistory.com/49) 해두었기 때문! 요거 찾느냐 고생했넹 ㅠ 2020. 4. 29.
[Process] kill() returned unexpected error 1 에러를 해결해봅시다.. 참고 링크 : https://juejin.im/post/5dce24af6fb9a0202c7d1ffa webkit의 버그여서 xcode에서 계속 노출되고 있는 이 콘솔로그..! [Process] kill() returned unexpected error 1 콘솔에 디버깅 로그를 찍는부분이 있는데 자꾸 쟤때문에 찾아당겨야되서.. 거슬려.. 구글링 해보니 임시방편으로 사라지게 처리하는 것이 있었다. 1. Product > Scheme > Edit Scheme Run > Arguments > Environment Variables에 아래의 값을 추가 OS_ACTIVITY_MODE는 쓸모없는 시스템 로그를 사라지게 처리하는 변수이다! Xcode 8부터 추가된 변수라고 하네요! 이것 말고도 기타 시스템 로그도 사라.. 2020. 1. 14.
entitlement 위치 변경 https://stackoverflow.com/questions/43086070/how-to-set-different-entitlements-file-for-different-targets 2020. 1. 10.
Library not loaded: /System/Library/Frameworks/SwiftUI.framework/SwiftUI 에러 SwiftUI를 사용해서 preview 기능을 사용하고 있는데, iOS 11.4.1 디바이스에서 빌드를 하다가 에러를 마주했다. Library not loaded: /System/Library/Frameworks/SwiftUI.framework/SwiftUI SwiftUI 프레임워크를 찾을 수 없다는 내용같아서 바로 구글링 고고 하니 프레임워크를 넣어주어야 한다고 한다. 최신 xcode와 조금은 다르지만 캡쳐는 귀찮으니 스택오버플로우에 있는 이미지를 가져온다. 1. Target -> General -> Embedded Binaries에 SwiftUI.framework를 찾아 넣는다. 2. Target -> BuildPhases -> Link Binary With Libraries에서 SwiftUI.fra.. 2019. 11. 15.
Uncaught exception: Could not instantiate class named _UITextLayoutView because no class named _UITextLayoutView was found 야.. 애플.. 니네 일 이렇게 할래..? 오전중에 xcode를 11.1에서 11.2로 업데이트 했다. 그리고 갑자기 UITextView가 있는 뷰컨을 로드 하려고 하는데 아래와 같은 로그를 뿜으며 앱이 죽었다. 2019-11-05 14:25:44.377595+0900 [2828:587484] WARNING: GoogleAnalytics 3.13 void GAIUncaughtExceptionHandler(NSException *) (GAIUncaughtExceptionHandler.m:48): Uncaught exception: Could not instantiate class named _UITextLayoutView because no class named _UITextLayoutView was fo.. 2019. 11. 5.
iOS 13.2 bug ) background에서 앱이 suspend -> terminated되는 이슈 아.. iOS 13.2가 저번주에 업데이트 되고 CS문의가 폭발했다. 고객들의 증상들은 모두 동일하게 "백그라운드 상태로 앱을 뒀다가 다시 진입했더니 앱이 재시작되서 사용할수가 없어요!" 였다. 당연히 앱을 백그라운드 상태에서 두고 일정시간이 지나면 재시작되죠! 라고 생각했는데, 전화를 받거나, 카톡을 하거나 등등의 짧은 시간에도 앱이 무조건 재시작된다는거다. 아 증말.. 처음엔 우리 앱 문제인가 했다. 앱을 업데이트한지 며칠 되지 않았으며, 관련해서 아무리 구글링해봐도 비슷한 이슈가 안나왔기때문이다.... (검색어를 몰랐지...) 우리만 이상하면 우리잘못, 포럼에 올라오면 apple 잘못.... 여튼 우리 앱이 메모리를 많이 차지하고 있어서 시스템 상에서 가용할 메모리가 없기때문에 제일 먼저 죽이는것이.. 2019. 11. 4.
iPadOS 13 에서 userAgent가 Mac으로 넘어오는 이슈 부들부들 항상 apple에서 새로운 OS들이 나오면 이슈가 먼가 모르게 이슈가 많다. 패드에서 앱을 테스트 하다가 뭔가 이상해서 보니 모바일 웹에서 보여야 할 웹의 UI들이 노출되고 있었다. 뭐지..? 그래서 삽질을 하다가 사파리 디버깅 모드로 보니까 useragent로 패드를 구분하는 부분을 아예 타지 않았다. 보통 iOS, iPad 구분할 때 아래와 같이 구분 한다. navigator.userAgent.match(/iPhone|iPad|iPod/i) == null ? false : true; 근데 iPadOS13으로 올라오면서 갑자기 UserAgent가 아래처럼 바뀌었다. Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/605.1.15 (KHTM.. 2019. 9. 27.
Mutating a priority from required to not on an installed constraint (or vice-versa) is not supported. You passed priority 999 and the existing priority was 1000. 저는 주로 개발할 때 코드로 UI를 작성하는걸 즐겨하는데요. 갑자기 아래와 같이 에러를 뿜으며 앱이 죽었다. Mutating a priority from required to not on an installed constraint (or vice-versa) is not supported. You passed priority 999 and the existing priority was 1000.) 대충 해석해보니 내가 레이아웃의 우선순위를 기본 1000에서 낮춰 999로 변경해두었는데, 이게 동적으로 바뀔수 없다는 뜻인듯!? 엥? 나는 레이아웃을 만드는 시점에 우선순위를 변경했는데? 알고보니 내가 레이아웃관련 코드를 쉽게 사용하려고 익스텐션을 만들어서 사용하고 있었는데, 그때 귀찮아서 그냥 만듬과 동시에.. 2019. 9. 26.
pod repo 업데이트가 안될 때 간만에 네트워크 라이브러리를 일부 수정하고 push하려는데 에러를 뿜으며 아래처럼 로그가 나왔다. bagjiyeon-ui-MacBook-Pro:MBNetwork jiyeonpark$ pod repo push MBSpecs MBNetwork.podspec --allow-warnings Validating spec -> MBNetwork (0.2.11) - ERROR | [iOS] unknown: Encountered an unknown error (Could not find a `ios` simulator (valid values: ). Ensure that Xcode -> Window -> Devices has at least one `ios` simulator listed or otherwise add.. 2019. 9. 23.
Sign in Apple id update guidelines 연휴동안에 sign in apple id에 대한 구체적인 가이드라인이 제시되었습니다. 새로 제출되는 앱은 2019년 9월 12일부터 적용되며 기존에 제출되었던 앱은 2020년 4월까지 적용하여 제공하여야합니다. 유예기간이 생각보다 길게 제시되고있네요....! https://developer.apple.com/app-store/review/guidelines/#sign-in-with-apple https://developer.apple.com/news/?id=09122019b 2019. 9. 16.
Sign in With Apple 정리 WWDC 19에서 발표된 내용입니다. Sign In With Apple 이란? 유저의 AppleID를 사용하여 서비스를 사용할 수 있도록 함 summary : https://developer.apple.com/sign-in-with-apple/ get started : https://developer.apple.com/sign-in-with-apple/get-started/ Updates to the App Store Review Guidelines (19.06.03) https://developer.apple.com/news/?id=06032019j 하단에 Sign in With Apple ID에 대해 언급되어 있음 Sign In with Apple will be available for beta te.. 2019. 7. 19.
WWDC 19 공식 WWDC 19 홈페이지 : https://developer.apple.com/videos/wwdc2019/ App review guide문서 업데이트 예정내역 : https://developer.apple.com/news/?id=06032019j iOS 13 iOS 13 OverView : https://www.apple.com/ios/ios-13-preview/features/ iPhone XS iPhone XS Max iPhone XR iPhone X iPhone 8 iPhone 8 Plus iPhone 7 iPhone 7 Plus iPhone 6s iPhone 6s Plus iPhone SE iPod touch (7th generation) 다크모드 내용 WWDC 18에서 발표하여 Mac에 적.. 2019. 7. 19.
빠르게 레이아웃 깨지는 이슈를 파악하는 방법 iOS 앱을 개발하다보면 몇번 겪어보셨을 만한 레이아웃 깨지는 이슈를 빠르게 확인하는 방법을 공유하고자 합니다. 보통 앱을 개발할 때 기준단말을 정해놓고 나중에 그 이외의 단말에 대해 UI를 확인하는데요. 이때 정말 화가 나는게 나는 레이아웃 제약조건을 잘 걸어놨는데 깨지는 콘솔로그가 출력된다는겁니다. 제약조건이 깨진다고는 하지만 화면 상으로는 깨지는게 안보이구요.. 이럴때 정말 곤란합니다. 제가 UI를 디버깅 하는 방법을 공유합니다.. 1. view Hierarchy 를 캡쳐 디버깅 Area에 보면 십자가 모양이 보입니다. View의 계층구조를 캡쳐하는건데요. 캡쳐하면 시뮬레이터나 디바이스에 보이는 현재 UI를 캡쳐하고, 계층구조를 보여줍니다. 옆에 슬라이더와 아래 메뉴를 사용하여 보다 정교하게 UI를.. 2019. 7. 19.
iOS에 특정 프레임워크, 라이브러리가 빌드 되지 않도록 하는 법 최근에 회사작업을 하면서 외부 업체의 프레임워크를 앱에 넣어야 하는 일이 생겼습니다. 원래 실 디바이스를 물려서 작업하지만 그렇다보니 책상도 지저분해지고 그래서 시뮬레이터로 작업하는 일이 많아졌습니다. 근데 갑자기 빌드가 안되더라구요.. 잉? 이러면서 실 디바이스를 물려서 해보니 빌드는 잘되고.. 그래서 에러 로그를 보니 외부업체의 프레임워크가 어떠한 아키텍쳐에 대해 빌드되지 않도록 되어있다는 것 입니다. 나는 그냥 받아서 쓴 것 뿐인데.. 구글에 열라게 검색해보니 우선 아키텍쳐를 확인해 보라는 겁니다. 아키텍쳐에 대해 우선 참고 글을 남깁니다. (http://kyejusung.com/2015/10/armv7s-armv7-arm64%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90/) -.. 2019. 4. 19.
반응형