iOS 구성 요소 개발(기본)
하나.어셈블리화 소개
수요원
프로젝트 규모가 끊임없이 확대되고 업무 모듈이 증가함에 따라 개발 과정에서 여러 개의 제품 라인(여러 사람 또는 여러 그룹이 서로 다른 기능을 개발할 수 있다)이 생길 것이다.만약에 전통적인 개발 모델을 사용한다면 코드가 비대해지고 컴파일 속도가 점점 느려지며 개발 효율이 낮고 코드 유지 보수 원가가 점점 높아질 것이다.
구성 요소화 이점
코드 논리와 프로젝트 구조가 명확하다.코드 이용률이 높고 교체 효율이 높다.신속하게 집적할 수 있고 단원 테스트를 할 수 있다.모든 구성 요소는 단독으로 운행할 수 있으며, 구성 요소 간의 결합도가 낮다.
구성 요소화 모듈 구분
기본 구성 요소: 매크로 정의/사용자 정의 분류/사용자 정의 도구 클래스 기능 구성 요소: 프로젝트에서 자주 사용하는 기능, 예를 들어 포지셔닝/전송/공유 업무 구성 요소: 구체적인 업무에 따라 정한다. 예를 들어 채팅/상점 중간 구성 요소: 인터페이스 루트/전참/숙주 프로젝트 리셋을 책임진다. 하나의 케이스와 유사하고 각 구성 요소를 조합하여 완전한 앱을 형성한다.
구성 요소화 실질
구성 요소화는 사실 모든 기능 모듈을 하나하나의Pod 라이브러리로 나누는 것이다.예를 들어 프로젝트에서 AFN을 사용해야 하는데 Pod만 한 번 하면 닿을 수 있다.이제 Pod 라이브러리를 제작하여 프로젝트에 통합합니다.
둘.이해가 필요하다
Trunk 계정
Trunk 계정
인덱스 파일(.podspec 파일)
인덱스 파일 라이브러리(Spec Repo)
구성 요소 템플릿
셋.사고방식을 정리하다(중점을 두었다)
넷.구체적 조작
인덱스 파일 웨어하우스
pod repo add [ ] [ URL ]
로 복사cd ~/.cocoapods/repos/[ ]
pod repo lint .
구성 요소
cd [ ]/xxPod
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
cd [ ]/xxPod/xxKit
pod lib lint
탭 종류의 오류를 알릴 경우 잠시 상관하지 않고 아래로 계속 cd [ ]/xxPod/xxKit/Example
pod install
cd [ ]/xxPod/xxKit/
git init
git add .
git commit -m "xxKit "
git remote add origin [ URL]
git push origin master -f
git tag 0.1.0
git push --tags
pod spec lint
관련 CocoaPods 서버
cd [ ]/xxPod/xxKit
pod repo push [ ] [ ].podspec --allow-warnings
pod repo
pod repo update
pod search [ ]
프로젝트에서 개인 구성 요소 인용
source 'https://gitee.com/xxSpecs.git'
pod 'xxKit', :git => 'https://gitee.com/xxKit.git'
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.