Biblioteca privada CocoaPods para iOS

Adquira o hábito de escrever juntos! Este é o 13º dia da minha participação no "Nuggets Daily New Plan · April Update Challenge", clique para ver os detalhes do evento .

Criar um repositório remoto

Tome a Gitplataforma de hospedagem de código Gitee como exemplo

Faça login Giteena sua conta e selecione Novo Armazém

image-29.pngCriar um repositório privadoSTTPrivateRepo

imagem-30.pngDepois que a criação for bem-sucedida, obtenha o endereço do armazém remoto

imagem-31.png

Construir componentes locais

Use o terminal para construir componentes locais

pod lib create STTPrivateRepo

-------------------------
//对模块进行以下配置:

//工程类型
What platform do you want to use?? [ iOS / macOS ]
 > iOS

//开发语言
What language do you want to use?? [ Swift / ObjC ]
 > ObjC

//创建App测试项目
Would you like to include a demo application with your library? [ Yes / No ]
 > Yes

//提供frameworks的测试
Which testing frameworks will you use? [ Specta / Kiwi / None ]
 > None

//提供测试文件
Would you like to do view based testing? [ Yes / No ]
 > No

//设置前缀
What is your class prefix?
 > STT
复制代码

encontrar .podspecarquivos, configurar homepageesource

imagem-32.png

  • homepage: não é obrigatório, mas deve ser acessível
  • source: GiteeO endereço do armazém remoto criado em

O diretório sob o projeto, o arquivo é Classesgerado automaticamente ReplaceMe.m. Você pode excluí-lo e copiar o arquivo de código real para este diretório

image-33.pngUsando o terminal, no Examplediretório sob o projeto, executepod install

imagem-34.pngDepois que o comando for executado com sucesso, o código que acabou de ser copiado entra em vigor no projeto

imagem-35.png

Testar componentes locais

Crie um LGFrameworkprojeto de teste e Podfileescreva o seguinte código em:

platform :ios, '9.0'

target 'LGFramework' do
  # use_frameworks!
  pod 'STTPrivateRepo', :path => '/Users/zang/Zang/Spark/LG/git_temp/STTPrivateRepo'
end
复制代码

Usando o terminal, no diretório do projeto de teste, executepod install

image-36.png

  • Certifique-se de que os componentes locais possam ser usados ​​normalmente

Confirme componentes no repositório remoto

Usando o terminal, no diretório de componentes, execute o seguinte comando:

#添加文件
git add .
    
#把代码提交到本地
git commit -s -m "首次提交"

#关联仓库
git remote add origin https://gitee.com/zangcrab/STTPrivateRepo.git

#把代码提交到远端仓库
git push origin master
复制代码

configuraçãotag

#版本号必须和.podspec文件中的版本号一致
git tag -m "初始版本" 0.1.0

#设置tag
git push --tags
复制代码

Ver .podspeco número da versão no arquivoimage-37.png

  • Número da versão, ambos devem ser iguais

Depois que o comando for executado com sucesso, no Giteearmazém remoto, você poderá ver as alterações após o envio do código

imagem-38.png

Enviar podspecarquivo de índice

Usando o terminal, no diretório de componentes, execute o seguinte comando:

pod lib lint --allow-warnings

-------------------------
 -> STTPrivateRepo (0.1.0)
    - WARN  | summary: The summary is not meaningful.
    - NOTE  | xcodebuild:  note: Using new build system
    - NOTE  | xcodebuild:  note: Building targets in parallel
    - NOTE  | xcodebuild:  note: Using codesigning identity override: -
    - NOTE  | xcodebuild:  note: Build preparation complete
    - NOTE  | [iOS] xcodebuild:  note: Planning build
    - NOTE  | [iOS] xcodebuild:  note: Analyzing workspace
    - NOTE  | [iOS] xcodebuild:  note: Constructing build description

STTPrivateRepo passed validation.
复制代码

Depois que a verificação for aprovada, envie o arquivo de índice para a biblioteca de índice remota

#pod repo push 本地索引库 索引文件名
pod repo push STTPrivateRepo STTPrivateRepo.podspec --allow-warnings

-------------------------
Validating spec
 -> STTPrivateRepo (0.1.0)
    - WARN  | summary: The summary is not meaningful.
    - NOTE  | xcodebuild:  note: Using new build system
    - NOTE  | xcodebuild:  note: Building targets in parallel
    - NOTE  | xcodebuild:  note: Using codesigning identity override: -
    - NOTE  | xcodebuild:  note: Build preparation complete
    - NOTE  | [iOS] xcodebuild:  note: Planning build
    - NOTE  | [iOS] xcodebuild:  note: Analyzing workspace
    - NOTE  | [iOS] xcodebuild:  note: Constructing build description

Updating the `STTPrivateRepo' repo


Adding the spec to the `STTPrivateRepo' repo

 - [Update] STTPrivateRepo (0.1.0)

Pushing the `STTPrivateRepo' repo
复制代码

usar componentes

Estenda o LGFrameworkprojeto de teste e Podfileescreva o seguinte código em:

platform :ios, '9.0'

target 'LGFramework' do
  # use_frameworks!
  pod 'STTPrivateRepo', :git => 'https://gitee.com/zangcrab/STTPrivateRepo.git'
end
复制代码

Usando o terminal, no diretório do projeto de teste, executepod install

imagem-39.pngSTTPrivateRepoComponente importado com sucesso

imagem-40.png

Observação

githubusaraccess tokens

Ao associar repositórios e usar componentes, você precisa usaraccess tokens

Armazém associado:

#关联仓库
#git remote add origin https://[access tokens]@github.com/ZangCrab/STTPrivateRepo.git
git remote add origin https://[email protected]/ZangCrab/STTPrivateDemo.git
复制代码

Usar componentes:

platform :ios, '9.0'

target 'LGFramework' do
  # use_frameworks!
  pod 'STTPrivateRepo', :git => 'https://[email protected]/ZangCrab/STTPrivateDemo.git'
end
复制代码
origem remota já existe

Se o código local já estiver associado a outros repositórios, um erro será relatado quando associado novamente

#关联仓库
git remote add origin https://gitee.com/zangcrab/STTPrivateRepo.git

-------------------------
fatal: remote origin already exists
复制代码

Neste ponto, você precisa cancelar a associação anterior

git remote rm origin
复制代码
outro

GitConfigurar vários SSH-Key: gitee.com/help/articl…

GitComandos comuns: gitee.com/all-about-g…

CocoaPodsGuias: guides.cocoapods.org/

Guess you like

Origin juejin.im/post/7086075310717812772