iOS 18

[iOS/Xcode] info.plist 위치 옮길때 에러 해결법

안녕하세요 이번 시간에는 프로젝트 초기 세팅을 하면서 info.plist 위치를 수정했을 때 빌드 에러가 날 때 해결하는 법을 알아볼게요 저는 사진처럼 "build input file cannot be found:Path" 에러를 겪었어요 에러를 자세히 읽어보니 info.plist의 경로를 알 수 없다고 떴어요 프로젝트 내부에서 info.plist 가 바뀐다고, 경로가 수정되진 않기 때문이에요 해결 방법 1. info.plist의 파일 위치와 프로젝트 파일 위치를 맞춰줘요 2. 프로젝트 -> Target -> BuildSetting -> Packaging -> info.plist File 의 위치를 알맞게 조정해 주면 됩니다. 그러면 관련 에러가 사라지고 빌드가 잘 되는 걸 볼 수 있어요

iOS 2024.01.26

[Slack] Incoming Webhooks 사용 (feat: Fastlane in iOS)

fastlane을 통한 CI/CD를 하면서, 슬랙에 알림봇을 만들고 싶을 때 Incoming Hooks URL 을 활용해요 ! Incoming Hooks 을 사용하는 방법을 알아볼게요 1. 슬랙에 앱 등록하기 https://api.slack.com 에 접속하여 로그인 후 아래 사진과 같이 앱을 생성해 줍니다. (슬랙 api 홈페이지 오른쪽 상단에 Yourapps 이 있습니다.) 그럼 아래와 같이 뜰 텐데, scratch 를 눌러줘요 ! AppName 을 입력하고, 현재 Slack Bot 을 사용하려고 하는 workspace 로 연결해 줍니다. 마지막으로 방금 만든 앱으로 와서 Collaborators 로 알람에 관련 있는 사람을 추가해 주면 돼요! ex) iOS 개발자, PM 2. Incoming We..

iOS 2024.01.22

[iOS] TestFlight 사용법 2편

1편에서는 테스트 플라이트에 앱을 등록하는 방법에 대해서 게시를 했었습니다. 개발자가 테스트 플라이트에 앱을 등록하는 과정부터 궁금하시다면 1편 부터 보는 것을 추천합니다! https://thingjin.tistory.com/entry/iOS-TestFlight-%EC%82%AC%EC%9A%A9%EB%B2%95-1%ED%8E%B8 [iOS] TestFlight 사용법 1편 시작 하기 전 TestFlight 배포 하기 전 iOS 앱을 개발하고, 사용자(앱스토어)에게 배포하기 전 테스터들과 앱을 테스트하는 과정이 필요한데, 이 과정에서 TestFlight 를 사용합니다. 앱 배포하기 전에 thingjin.tistory.com 테스트 플라이트에 앱을 올린 것에 이어서 내부 테스팅을 위한 개발자가 테스터들을 초..

iOS 2023.12.31

[iOS] TestFlight 사용법 1편

시작 하기 전 TestFlight 배포 하기 전 iOS 앱을 개발하고, 사용자(앱스토어)에게 배포하기 전 테스터들과 앱을 테스트하는 과정이 필요한데, 이 과정에서 TestFlight 를 사용합니다. 앱 배포하기 전에는 애플 개발자 계정을 등록을 하고, 애플 커넥트에 앱을 추가를 하는 과정이 먼저 진행되어 있어야 합니다! 23년 12월 30일 기준으로 애플에서는 연 129,000원의 구독료를 받고 있습니다. https://developer.apple.com/kr/ Apple Developer Apple 플랫폼에서 개발할 절호의 기회입니다 developer.apple.com 테스트 플라이트 (TestFlight) 그게 뭐지? App Store에 앱을 릴리즈하기 전에 TestFlight에서 사용자를 간편하게 ..

iOS 2023.12.30

[iOS] 외부 라이브러리 수정 후 프로젝트에 적용하는 방법

📝 라이브러리를 수정한 이유 프로젝트를 하면서 외부 라이브러리를 수정해서 내 프로젝트에서 사용하는 경우가 있습니다. iOS UIKit 프로젝트로 예시를 들며 설명하겠습니다. 저는 SPM 이 아닌 CocoaPods를 사용하였습니다. 보통 iOS에서는 부가 기능을 만들고 싶을 때 extension 을 사용하는 게 적절한 방법인데요 하지만 저장 속성을 추가하는 경우가 있습니다! extension에서는 저장 속성이 포함되면 안됩니다. ⭐️ 따라서 완전히 가져온 라이브러리를 Custom 하는 것인데요. 제가 최근에 사용한 라이브러리는 DropDown 라이브러리를 사용했습니다. ( 자세하게 구현한 내용은 따로 업로드 하겠습니다 ! ) 최근에 저의 앱 Alert을 actionSheet를 사용하다가, 커스텀으로 저희 ..

iOS 2023.10.12

[iOS] SDK does not contain 'libarclite' at the path

종종 외부 라이브러리를 내 앱 안에 사용하고 싶을 때 cocoaPods나 SPM으로 관리해 주는 경우인데요, 잘 다운을 받았을때도 가끔 Path 이슈나 iOS 최소버전 이슈로 안되는경우가 있습니다. 그 에러 중 하나가 아래와 같이 나와있는데, Showing All Issues SDK does not contain 'libarclite' at the path '/Users/Name/Desktop/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphonesimulator.a'; try increasing the minimum deployment target 즉 최소 배포버전이 너무 낮다는 문제 였고..

iOS 2023.10.06

[iOS] 데이터 페이징 (Pagination) in UIKit ColletionView

📱 UIKit CollectionView를 활용한 페이징(Pagination) UIKit의 CollectionView를 사용하여 페이징(Pagination)을 구현하는 방법을 소개합니다. 화면 스크롤을 통해 추가 데이터를 동적으로 로드하고 화면에 표시하는 방법을 간단한 그림과 함께 알아보겠습니다. Q. Pagination 왜 할까? 데이터가 100,000개 가 있다고 가정합니다. 항상 특정 뷰를 볼 때 전체 데이터를 불러오는 것은 굉장히 비효율적이라고 할 수 있습니다. 일단 앱에서 데이터를 다 가져온다면 🔥속도 측면에서 굉장히 느려질 수 있고 그 결과는 🔥유저 경험에서 마이너스가 될 수 있습니다. 따라서 적절히 페이징을 하여 사용자가 필요할 때만 적절한 데이터를 불러오는 게 유저 경험과 앱에서 플러스가 ..

iOS 2023.09.24

[iOS] Xcode 15 Kingfisher 에서의 ImageResource 이슈 해결

이미지 캐싱, 이미지 로딩을 해야할때 Kingfisher 라이브러리를 사용하는데요, Xcode 15 버전으로 업데이트 하고 디버깅을 돌리니까 ImageResource 에서 아래와 같은 이슈가 발생 했습니다. Incorrect argument labels in call (have 'downloadURL:cacheKey:', expected 'name:bundle:') Replace 'downloadURL: url, cacheKey' with 'name: url, bundle' 이유는 ImageResource를 사용하고 있는데 이제 GeneratordAssetSymbols.ImageResource와 충돌하기 때문에 저희의 앱이 Xcode 15에서 컴파일되지 못했기 때문입니다! ⭐️ 해결법 ⭐️ // 에러 발..

iOS 2023.09.19