iOS 구성 요소 개발(기본)

5231 단어
주: 독자가 일정한 코코아 팟의 기초를 가지고 설비에서 코코아 팟이 최신 버전으로 업데이트되었음을 필요로 합니다!

하나.어셈블리화 소개


수요원


프로젝트 규모가 끊임없이 확대되고 업무 모듈이 증가함에 따라 개발 과정에서 여러 개의 제품 라인(여러 사람 또는 여러 그룹이 서로 다른 기능을 개발할 수 있다)이 생길 것이다.만약에 전통적인 개발 모델을 사용한다면 코드가 비대해지고 컴파일 속도가 점점 느려지며 개발 효율이 낮고 코드 유지 보수 원가가 점점 높아질 것이다.

구성 요소화 이점


코드 논리와 프로젝트 구조가 명확하다.코드 이용률이 높고 교체 효율이 높다.신속하게 집적할 수 있고 단원 테스트를 할 수 있다.모든 구성 요소는 단독으로 운행할 수 있으며, 구성 요소 간의 결합도가 낮다.

구성 요소화 모듈 구분


기본 구성 요소: 매크로 정의/사용자 정의 분류/사용자 정의 도구 클래스 기능 구성 요소: 프로젝트에서 자주 사용하는 기능, 예를 들어 포지셔닝/전송/공유 업무 구성 요소: 구체적인 업무에 따라 정한다. 예를 들어 채팅/상점 중간 구성 요소: 인터페이스 루트/전참/숙주 프로젝트 리셋을 책임진다. 하나의 케이스와 유사하고 각 구성 요소를 조합하여 완전한 앱을 형성한다.

구성 요소화 실질


구성 요소화는 사실 모든 기능 모듈을 하나하나의Pod 라이브러리로 나누는 것이다.예를 들어 프로젝트에서 AFN을 사용해야 하는데 Pod만 한 번 하면 닿을 수 있다.이제 Pod 라이브러리를 제작하여 프로젝트에 통합합니다.

둘.이해가 필요하다


Trunk 계정

  • CocoaPods API 인증 서비스
  • 공공 창고의 자신의 구성 요소를 관리하는 데 사용
  • 인덱스 파일(.podspec 파일)

  • 구성 요소의 이름/버전/자원 저장 경로/관리자 정보 등을 기록
  • 각 구성 요소에는 색인 파일이 있어야 합니다
  • .

    인덱스 파일 라이브러리(Spec Repo)

  • 인덱스 파일 보관소
  • CocoaPods 서버에 저장됩니다. 저희가Pod를 다운로드하거나 업데이트할 때 이 창고를 로컬로 복사합니다. 로컬 저장 경로: ~/.cocoapods/repos/
  • CocoaPods는 로컬 경로가 ~/인 공공 라이브러리를 제공합니다.cocoapods/repos/master/
  • 우리는 개인 창고를 만들 수 있으며 로컬에 저장할 수 있는 경로는 ~/.cocoapods/repos/사용자 정의 창고 이름/
  • 구성 요소 템플릿

  • CocoaPods는 구성 요소를 신속하게 생성할 수 있는 템플릿을 제공
  • 에서 저희 코드를 제작할 수 있고 단원 테스트를 할 수 있으며 대응하는 색인 파일을 포함할 수 있습니다
  • 모듈화는 이 템플릿을 바탕으로 자신의 모듈을 만드는 것이다
  • 셋.사고방식을 정리하다(중점을 두었다)

  • 상기 기초 지식에 대한 이해가 있으면 사고방식을 정리해 보자
  • 본고는 구성 요소를 유지하기 위해 개인 인덱스 창고를 사용합니다
  • .
  • 구성 요소를 공공 창고에 추가하려면 Trunk 계정을 등록해야 한다. 전송문
  • 코드 클라우드(또는 기타Git 창고)에 개인 창고를 만들고 색인 파일을 저장하는 데 사용한다(항목 이름: xxSpecs)
  • 코드 클라우드(또는 기타Git 창고)에 공개된 창고를 만들고 그 뒤에 구성 요소를 저장하는 데 사용한다(항목 이름: xxKit)
  • CocoaPods 서버는 저희 코드를 저장하지 않고 색인 파일만 저장합니다
  • 구성 요소를 제작한 후 인덱스 파일에 저장된 주소를 코코아 팟 서버에 전송하여 지정한
  • 에 저장하도록 알려줍니다
  • 사용 시 코코아팟 서버를 통해 로컬로 업데이트합니다.프로젝트에서Pod의 어떤 구성 요소를 찾을 때 로컬에서 이 구성 요소의 인덱스 파일을 찾을 수 있습니다. 인덱스 파일에서 받은 주소는 이 주소에서 프로젝트에 코드를 다운로드합니다.
  • 총괄: 사고방식을 정리하고 조립화 제작 과정의 주요 부분을 소개했다. 우리가 무엇을 하는지 대체적으로 알기만 하면 다음에 구체적으로 조작할 때 상세한 절차가 있다
  • 넷.구체적 조작


    인덱스 파일 웨어하우스

  • 관련 인덱스 파일 웨어하우스
  • 코드 클라우드에 생성된 인덱스 파일 창고를 로컬pod repo add [ ] [ URL ]로 복사
  • 이후 원격 Git 창고의 계정과 비밀번호를 입력
  • 설치 성공 여부 확인
  • cd에서 인덱스 파일 창고cd ~/.cocoapods/repos/[ ]
  • 인덱스 파일 웨어하우스 유효성 검사pod repo lint .
  • 구성 요소

  • 관리 구성 요소를 저장할 로컬 폴더 새로 만들기(xxPod)
  • 구성 요소 템플릿을 xxPod 폴더로 다운로드
  • cd-xxPod 폴더cd [ ]/xxPod
  • 구성 요소 템플릿을 다운로드하고 구성 요소 이름 [구성 요소 이름]을 설정합니다. xxKit(코드 클라우드 구성 요소 창고의 이름과 일치)pod lib create [ ]
  • 구성 요소 기본 설정
  • //          
    What platform do you want to use?? [ iOS / macOS ]
     > ios
    //       
    What language do you want to use?? [ Swift / ObjC ]
     > objc
    //       Demo
    Would you like to include a demo application with your library? [ Yes / No ]
     > yes
    //         
    Which testing frameworks will you use? [ Specta / Kiwi / None ]
     > specta
    //         
    Would you like to do view based testing? [ Yes / No ]
     > yes
    //   Demo    
    What is your class prefix?
     > XX
    
  • 코드 제작
  • 자신의 코드(클래스 파일)를 xxPod/xxKit/xxKit/Classes
  • 로 직접 복사하기
  • 구성 요소 인덱스 파일: 라우팅 게이트
  • 색인 파일 형식이 규범에 맞는지 검사
  • cd에서 구성 요소 루트 디렉터리cd [ ]/xxPod/xxKit
  • 로컬 색인 파일 검사하기(passed validation은 검증을 통과했다고 표시됨; --allow-warnings는 경고를 무시할 수 있음) pod lib lint 탭 종류의 오류를 알릴 경우 잠시 상관하지 않고 아래로 계속
  • 제작된 코드Pod를 구성 요소 테스트 공정(컴파일, 실행 가능, 코드 문제 발견)
  • cd에서 구성 요소로의 Example 폴더cd [ ]/xxPod/xxKit/Example
  • Pod 통합pod install
  • 완성된 부품을 자신의 부품 창고로 밀어넣기
  • cd에서 구성 요소 루트 디렉터리cd [ ]/xxPod/xxKit/
  • 초기화gitgit initgit add .
  • Git 버전 제출git commit -m "xxKit "
  • 관련 코드 클라우드의 구성 요소 창고git remote add origin [ URL]
  • 마스터 지점으로 버전 밀어넣기(-f 강제 밀어넣기, 이전의 모든 파일 덮어쓰기)git push origin master -f
  • 버전 라벨 추가(라벨 번호는 색인 파일의 라벨 번호와 일치해야 함)git tag 0.1.0
  • 레이블 푸시git push --tags
  • 원격 인덱스 파일 검사(passed validation 검증 통과 표시)pod spec lint
  • 관련 CocoaPods 서버

  • 제작된 구성 요소 관련 CocoaPods 서버
  • cd에서 xxKit 구성 요소 루트cd [ ]/xxPod/xxKit
  • 구성 요소의 인덱스 파일을 서버에 전송하고 서버에 어느 개인 창고가 있는지 알려줍니다. [개인 창고 이름]: xxSpecs [구성 요소 이름]: xxKitpod repo push [ ] [ ].podspec --allow-warnings
  • 로컬 코코아팟 창고 보기(공용 창고와 자신의 사유 라이브러리 보기)pod repo
  • 구성 요소 검사
  • 로컬 코코아팟 창고 업데이트pod repo update
  • 방금 만든 구성 요소 검색 [구성 요소 이름]: xxKitpod search [ ]
  • 프로젝트에서 개인 구성 요소 인용

  • 신규 프로젝트 프로젝트 및 Pod
  • 추가
  • Podfile 파일 구성
  • 글로벌 추가(주소)
  • source 'https://gitee.com/xxSpecs.git'
    
  • 별도 추가(주소)
  • pod 'xxKit', :git => 'https://gitee.com/xxKit.git'
    

    좋은 웹페이지 즐겨찾기