7월, 2022의 게시물 표시

[iOS] Swift 화면 강제 회전 (orientation)

이미지
  [iOS] Swift 화면 강제 회전 (orientation) 안녕하세요. 물먹고하자 입니다 :) 오늘은 맡고있는 다른 프로젝트중 '프레젠테이션뷰' 에  강제 landscape 요청 이 있어서 테스트 해봤습니다. 테스트 겸 작업해본 내용 공유드립니다. 샘플코드 결과 동영상 (회전 푼상태)   샘플소스 프로젝트 설정 회전범위 체크 AppDelegate 회전 허용 범위 설정 ViewController 회전 재설정 코드 추가 새로운 화면 띄울시 강제 화면 회전하여 띄워주기   마무리 코드는 생각보다 심플한데, Xcode Beta로 작업중이라 iOS16 부터 변경 되는 코드가 있는 것 같다. 급하지 않았던 건이라 이정도만 알아보긴했는데, 예전에는 Beta시에 KVC 접근시 앱 크러쉬 현상 이 있었는데, 이제는 그정도는 아닌것 같다. 오늘은 이만! 즐거운 코딩 되세요~ :)

[Xcode] Xcode Beta 앱 업로드 후 심사 오류

이미지
   [Xcode] Xcode Beta 앱 업로드 후 심사 오류 안녕하세요. 물먹고하자 입니다 :) Xcode 14 Beta 3 사용중인데,  심사를 넣으려고 하니 ㅠ 안되는군요 내용 공유드립니다.   오류내용 App Store Connect 페이지 내 심사를 위해 빌드된 버전을 넣었을때 GM 언제 나오려나~   마무리 뭐 다행이(?) 혼자 일하고 있는게 아니다 보니 같은소스를 Beta 아닌 PC로 올리면 되는데, 혼자 일하면 당황할 것 같다. (집에서 어떻하지) 어느정도는 감안하고 있어야겠다. 즐거운 코딩 되세요~ 끝.

[SwiftUI 공부] 그룹웨어 채팅 Objc -> Swift, SiwftUI 적용기

이미지
  [SwiftUI 공부] 그룹웨어 채팅 Objc -> Swift, SiwftUI 적용기 안녕하세요. 물먹고하자 입니다 :) 올해 1월에 프로젝트에 사용할 특수한 View덕에 SwiftUI 공부를 시작하였는데, 진짜.. 급발진해서 그룹웨어 내의 핵심모듈중 하나를 SwiftUI 로 변경했습니다. (시작하면 멈출 수 없어...!!) 중간에 정리를 하면서 했으면 좋겠지만, 문제는 ㅠㅠ UIKit(Objc, Swift)는 빠삭하지만, SwiftUI의 Combine, 라이프 사이클, 기존작동건에 대한 지원여부 등등  100% 이해를 하지 않은 상태에서 시작을 하여 정신줄 놓아지는걸 잡아가면서 진행을 하였습니다. (결과론적으론 98%정도는 성공 ?) 오늘은 코드보다 전환시에 막혔던점 고려해야할 점 등을 공유드립니다! 대화방 (복합적인 말풍선 + 이미지 등등)    변경전 문제점 파악 [문제로 되고있다고 생각하는 점] - Objc 중 옛날코드 (거의.. iOS 8.0 부터 유지되온 코드 ) - CollectionView FlowLayout 사용중 ( iPad Split 지원시 재계산이 안되고 있는 이슈 ) - FlowLayout Custom 라이브러리 사용중 이미 지원끊긴 라이브러리 사용 (대체 필요) - 표현방식 별 Cell x 2[왼쪽, 오른쪽] 총 26개 + 각각의 Xib (하....) - 답글기능이 들어가면서 기존 Cell x 2배가 더 늘게 생김 ... - 앞으로의 유지보수 및 신규기능을 덧붙일 자신감 하락(?) [개선하고자 하는점] - Objc -> Swift 완전 전환 (Model, View, Controller) - 아키텍쳐 변환 MVC -> MVVM - 공통화 영역에 대한 정리 - 불필요 라이브러리 제거 - 표현방식 별 Cell의 유동적인 StackView 도입 - 데이터 처리 및 정리모듈 개선 기존에 있는 Class.jpg ... [.m, .h, .xib]   사전실험 시작에 앞서 SwiftUI 나오기전에 개선 시도를 안한 건 아

[iOS] Missing Info.plist value. A Value for the Key 'CFBundleDisplayName' in bundle (에러처리)

이미지
  [iOS] Missing Info.plist value. A Value for the Key 'CFBundleDisplayName' in bundle (에러처리) 안녕하세요. 물먹고하자 입니다 :) Xcode 14 Beta2 까지는 괜찮았는데,  Xcode 14 Beta3 로 올리니 앱 업로드 가 안되더군요 🤣 워낙 Beta 올릴때 마다(?) 봤던 에러여서 금방해결은 하였는데, 업로드 실패후 디바이스 빌드도 안되더군요 ?! 해결한 내용 공유드립니다.   에러의발생 갑자기(?) 지금까지 없어도 잘되다가?? ????? 아카이브 하기전 까지만해도 디바이스실행이 되던게 안된다 CFBundle Display Name 값 추가 $(PRODUCT_NAME) 규약 따르게 추가 Build Setting에서 값이 비어있길래 추가 빌드 / 아카이드 성공 직전까진 잘되다가.. 갑자기 왜 CFBundle Diplay Name 타령인지 모르겠다. 혹시(?) CFBundleName 지원종료인가 찾아보니 아니다 CFBundleName 보다 길때, Siri, Home screen에 보여지는 이름 15자 미만 사용자가 볼 수 있는 이름 (없을시 CFBundleDisplayName 사용) ???? 기존에 있는데, 왜 적용안된건지는 모르겠음 ㅠㅠ   마무리 어느정도 예상이 가는 오류여서 고치는건 금방고쳤는데,  솔직히 CFBundleName vs CFBundleDisplayName 의 차이는 몰랐었다.  (예전부터 CFBundleName만 info.plist에 박혀있었음 ^^......) 이참에 추가는 해뒀는데, 솔직히 정식버전이 출시되면 안뜰것 같은 오류이다... Xcode Beta 2 ~ 3 까지 사용중인데, 아직까진 막 심각한 내용은 없는것 같다. 즐거운 코딩되세요 ~ 끝.

[iOS] UIKeyCommand is not working.. (외부키보드 감지 작동안할때)

이미지
  [iOS] UIKeyCommand is not working.. (외부키보드 감지 작동안할때) 안녕하세요. 물먹고하자 입니다 :) 요즘 업무적으로 여유가 생기면서 BetaOS 들 올려서 테스트 하고 있는데, UIKeyCommand 가 작동을 안해서 점검하던중 iOS15 때부터 작동이 안된다는걸 이제야 발견해서 수정건 공유드립니다 (절망.... ㅠㅠ)   샘플소스 UIKeyCommand 추가 후 외부키보드의 Command 누르고 있을시에 위에 기능제공 이번 코드에서 이슈였던 부분이 " wantsPriorityOverSystemBehavior " 부분인데, https://developer.apple.com/documentation/uikit/uikeycommand/3780513-wantspriorityoversystembehavior iOS 15 때 추가된 기능으로 외부키보드에 대한 키명령어를 입력보다 먼저 받을지 Flag가 추가되었다. (왜... 기존에 없다가 추가되면 작동안하는데... 왜 추가했냐... ㅠㅠ 이놈의 애플놈들) 어쨋든 코드처리 iOS15이상 분기처리 코드만 추가하면 되는 부분이라 심플하게 끝.   마무리 매해 WWDC 6월 시즌 끝나면, 빠르면 7월 ~ 느리면 8월부터는 해당 최신 iOS 대응을 준비하는데, 이미 지난 iOS 15 건을 이번에 체크한건 충격적이다 ㅠㅠ (차라리 앱이 죽으면 찾기가 더 편함) 어쨋든 체크는 하였는데, 이미 iOS 16 에서 죽고있는게 있어서 빠르게 수정하고 넘어가도록한다 ^^ 끝. 즐거운 코딩 되세요~ :)