iOS 개발로 Build 가속화

환경


xcode8.1
swift2.3
optimization Level None [-o0]iMac5k의 전체 규격

도전하다

  • 청결 구축, 평균 비용10分, 개발 진전에 영향을 미치기 때문에 개선하고 싶다
  • 방침

  • 구축 시간의 평균치를 목표5分(5분 정도 압력을 모으지 않는다고 판단하여 목표로)
  • 개선 조치


    CocoaPods를 Carthage로 교체


    이점

  • CocoaPods의 경우 매번 프로그램 라이브러리를 응용 프로그램 주체와 함께 구축하지만 Carthage의 경우 프로그램 라이브러리를 가져올 때만 구축하기 때문에 프로그램 라이브러리의 구축 시간만 단축한다
  • 배포 방법

  • Carthage를 사용하여 구축 시간 단축
  • 주의사항

  • Carthage가 지원되지 않는 라이브러리가 있으면 CocoaPods와 이중 관리
  • Carthage에서 관리하는 라이브러리를 자주 업데이트할 때 패키지의 구축 시간이 많아지고 전체 구축 시간이 많아진다
    carthage 구축 시간의 총계는 사용 방법에 달려 있다
  • 내장형 프레임워크 배포


    이점

  • 응용 프로그램의 코드를 대상으로 분할하고 프레임으로 처리할 수 있음
  • 코드가 분할되어 차분 컴파일이 쉽다
  • 프레임으로 분할하여 의존관계가 명확해진다
  • 프레임당 테스트 가능
  • 배포 방법

  • File → New → Target 에서 Cocoa Touch Framework 선택
    프레임 포함 대상 추가
  • 주 목표가 사용하고 싶은 반에서 import를 사용하면 됩니다.
    삽입식 프레임 사용 방법
  • 가져온 항목의 분류 방법


    네트워크 계층

  • 네트워크에 의존하는 클래스 정의
  • 지구화층

  • DataBase, UserDefault 관련
  • 모델과의 의존 관계가 강한 것도 여기에 포함된다
  • 이벤트 추적 레이어

  • GoogleAnalytics 등 측정 주변 클래스 정의
  • 창고층

  • 의존 관계가 없고 사용하는 클래스와 방법을 정의한다
  • 응용 프로그램에서 사용하는 키 등도 여기에 정의되어 있다
  • 주의사항

  • 삽입식 프레임워크가 서로 의존 관계가 있는 경우 build PhasesTarget dependencies에 포함시켜 설정
  • 내장형 프레임워크의 대상에 사용되는 라이브러리는 주 대상에도 설치해야 한다(CocoaPods 또는 Carthge 사용 시 주의)
  • 결과

  • 청결 상태 개선으로 구축하기 전10分5分로 단축!!
  • 아카이브 시간을 20分 에서 10分 으로 단축하는 데 성공했습니다.
  • 감상

  • 이번 시도는 기존 프로젝트의 코드가 Embedded Framework와 대응하기 위해 많은 개작을 해야 한다.
  • 1단계에서 내장형 프레임워크를 처리하는 것이 좋습니다(약 일주일
  • 프레임워크로 분할하기 위해 의존관계를 정리할 수 있기 때문에 코드를 쉽게 읽을 수 있다
  • 차분한 구축이 듣기 쉬워져 구축 시간에 따른 스트레스가 사라졌다
  • 내장형 프레임워크 설정에서 실패할 경우 mozilla-mobile/firefox-ios 항목을 보고 해결할 수 있습니다
  • Firefox는 위대하다
  • 참조 링크

  • 삽입식 프레임 사용 방법
  • Carthage를 사용하여 구축 시간 단축
  • iOS 응용 프로그램 개발 망상
  • 베이 정보
  • mozilla-mobile/firefox-ios
  • Carthage/Carthage
  • 좋은 웹페이지 즐겨찾기