Programer/iOS 41

[Xcode] AppStore Uplaod할 때, ERROR ITMS-90035 해결방법

구 버전의 Xcode에서 작업한 프로젝트를 오랜만에 사용할 일이 생겨서 최신버전의 Xcode에서 AppStore에 업로드 하는데 다음과 같은 에러가 발생하였다. (내용 추가 - 기본 체크를 먼저 해보시기 바랍니다.) 0. Apple Developer 사이트에서 Profile와 Certificates 설정이 잘 되어 있는지 확인한다. Profile에서 AppStore 용을 설정할 때는 올바른 Distibution 인증서가 연결되어 있는지 확인한다. Xcode에서 Build세팅에서 Debug와 Release 설정이 잘 되어 있는지 확인한다. 1. 빌드 시스템을 Legacy로 변경해보았다 (옛날 프로젝트니...) Workspace Setting에서 Build System의 Legacy Build System ..

Programer/iOS 2020.05.14

[iOS] Universal Framework Run Script와 오류 해결

단일 프레임워크를 Universal Framework로 만들때 쓰는 Run Script는 아래를 사용하고 있고, #!/bin/sh UNIVERSAL_OUTPUTFOLDER=${BUILD_DIR}/${CONFIGURATION}-universal # make sure the output directory exists mkdir -p "${UNIVERSAL_OUTPUTFOLDER}" # Step 1. Build Device and Simulator versions. This also include the full bitcode generation of framework xcodebuild BITCODE_GENERATION_MODE=bitcode OTHER_CFLAGS="-fembed-bitcode" -targ..

Programer/iOS 2020.02.19

[iOS] Framework 안에서 Objective-C / Swift 같이 쓰기

Framework 안에서는 Bridging-Header 를 설정할 수 없다. 따라서 Framework안에서 Objective C와 Swift를 같이 사용하고 싶다면, 프레임워크를 만들 때 생성되는 (프레임워크명).h 헤더 파일에 Objective C Header 을 import해주면 된다. (추가로, Build Phases 에서 headers 리스트에서 헤더 파일들을 Public으로 이동시켜줘야 한다.) 참고 링크: https://stackoverflow.com/questions/41758269/objective-c-and-swift-using-in-framework-in-xcode Objective c and Swift using in Framework in Xcode I've my own old fr..

Programer/iOS 2020.02.07

[iOS] Framework 사용시 주의 할 점 (Dynamic / Static 설정)

Let's Swift 판교에서 민소네님 Framework로 나누는 것을 보고, 저도 일부 기능을 Framework로 분리하고 있는데, Appstore Connect에 올리는 도중, 아래와 같은 에러 메시지가 나타났다. Stackoverflow에서 해당 증상을 찾아보니, Dynamic / Statuc 에 따라 설정을 달리해야하는 부분이 있는 것을 발견했다. Dynamic Framework는 Embeded Framework에 연결이 되어 있어야 되고, Static Framework의 경우 Embeded Framework에 연결이 되어 있으면 안되고, Link Binary With Libraries에 연결이 되어 있어야 한다. Embeded Frameworks 에서 Static Framework들을 제거 하니..

Programer/iOS 2019.12.19

[Swift] ObjectMapper 에서 toJSON사용시 Nil 파라미터 추가 하기

ObjectMapper에서 Object를 JSON으로 바꿀때 nil 프로퍼티는 생략해서 만들어준다. 만양 생략하지 않고 Null를 넣고 싶다면, let json = Mapper(context: nil, shouldIncludeNilValues: true).toJSON(object) 이렇게 사용하면 된다. 그러면 nil 값인 프러퍼티를 null 값을 가진 JSON으로 바꿔준다. (그리고 이제 ObjectMapper는 그만쓰고, Moya + Codable로 가야겠다. 이게 더 편하다..)

Programer/iOS 2019.12.10

[Let's Swift] 렛츠 스위프트 판교 후기

저번에 티켓 예매를 실패한 Let's Swift에서 한번 더 판교에서 열린다고 해서 BTS 콘서트를 예매하는 소녀팬처럼 두근거리는 마음으로 예매를 시도했고, 성공했다. 특히 내가 개인적으로 존경하는 개발자분들이 발표를 하셔 더욱더 기대가되었고, 도움도 정말 많이 되었다. 열심히 기록도 하고 경청을해서 들었는데 하루만 지나니 기억이 또 가물가물.. 더 잊기전에 정리를 해본다. 느낌적인 느낌을 찾아서 - 네이버웹툰 장수한 UIView.isHidden = 뒤에 true? false? 가끔 헷갈릴 때가 있음 isHidden = 숨긴다 우리는 스토리보드 xib 이미 표시 되어 있다고 생각, 인간은 90% 시각에 의존, 부정 보단 긍정 더 선호한다. 그런 느낌으로 보면, isHidden = false 로 생각하고 ..

Programer/iOS 2019.12.07

[Swift] Realm 사용할 때 Crash 오류 관련

데이터 Object들을 Realm에 저장할 때 Crash 나는 경우가 종종 생깁니다. 그 중 가장 많이 비번하게 발생하는 곳이 Realm 밖에서 Write를 하는 경우 (= 불러온 Realm 객체를 다른 곳에서 수정하는 경우) 입니다. 예를 들어 체중 리스트 화면과 체중 수정 화면 두가지 화면이 있고, Weight라는 데이터를 Class로 사용하는 경우, 1. 리스트 화면에 체중 데이터를 뿌리기 위해 realm 에서 객체들을 load 합니다. 2. 체중을 수정하기 위해서 그 데이터를 가지고 수정 화면에서 들어갑니다. 3. 수정화면에서 데이터를 수정하면 Crash 최초 load한 Realm 밖에서 수정을 하였기 때문에 문제가 발생합니다. 하지만 아래와 같은 Extension를 사용하면 그러한 문제를 해결할..

Programer/iOS 2019.11.25

[iOS] 개발에 사용하는 라이브러리 정리 & 추천

프로젝트를 하면서 가장 많이 사용하는 라이브러리를 정리 및 추천해볼까 합니다. 어디까지나 주관적인 생각이며, 이 글은 개발하는데 어느정도 참고로만 보시면 좋을 것 같습니다. (2020.08.06 내용 보충 하였습니다.) Framework - ReactorKit (https://github.com/ReactorKit/ReactorKit) ReactorKit은 전수열님이라는 유명한 개발자님이 만드신 프레임워크입니다. MVP와 MVVM에서 혼란을 겪다가 (무엇보다 개발자마다 각자 철학으로 인해 여러가지 스타일이 있었고, State 관리가 싶지 않았음), RxSwift 오픈체팅 방에서 알게 되었습니다. - 정해진 템플릿이 있다는 점 - State 관리가 굉장히 편하다는 점 - RxSwift랑 잘 어울리는점 (R..

Programer/iOS 2019.05.30

[Fastlane] iOS App 자동 배포 해보기

대부분 App을 배포할 때 2~3개 정도의 버전을 배포하는데 (Develope, Production, etc..) 아카이빙하고, 앱스토어에 올리는 일이 여간 귀찮은 일이 아니었다. 예전에 Fastlane을 알게되어 적용을 해보려고 했는데, 프로젝트도 어느 정도 마무리되어 시간이 남아 적용해보게 되었다. 1. 설치 # RubyGems를 이용하는 방법 $ sudo gem install fastlane -NV # Homebrew를 이용하는 방법 $ brew cask install fastlane 커맨드 창에 입력만 하면 된다. 나는 Homebrew를 통해 설치하였다. (설치후, fastlane 명령어를 전역에서 사용할 수있도록 profile 세팅 방법을 알려주는데, 필요시 추가해주면 된다.) 2. Fastla..

Programer/iOS 2019.04.10

[UI] TableView에서 이미지 크기에 따라 Cell 크기 조정하기

서버에 있는 여러 크기의 이미지를 받아 각각 TableView Cell에 넣을 때, Aspect Fit으로 처리해도 공백이 남는 경우가 있다. 이런 경우는 다음과 같은 방법으로 해결하라고 한다. internal var aspectConstraint : NSLayoutConstraint? { didSet { if oldValue != nil { contentsImageView.removeConstraint(oldValue!) } if aspectConstraint != nil { contentsImageView.addConstraint(aspectConstraint!) } } } override func setSelected(_ selected: Bool, animated: Bool) { super.set..

Programer/iOS 2019.01.18