iOS crée une bibliothèque privée basée sur des composants

1. Créez un index de bibliothèque privée

L'étape 1 n'est nécessaire que lorsqu'il n'y a pas de bibliothèque d'index ou lors de l'ajout d'un nouvel index (créer une bibliothèque de composants de base).
Tout d'abord, créez un index de bibliothèque privée sur le nuage de code et nommez-le.SYComponentSpec

Insérer la description de l'image ici

2. Ajouter un index de bibliothèque privée localement

Ajouter un index de bibliothèque privée

pod repo add SYComponentSpec https://gitee.com/sun-shiyu/sycomponent-spec

Insérer la description de l'image ici

Insérer la description de l'image ici

3. Créez une bibliothèque de composants de base

Lorsque vous devez créer un nouveau composant, commencez ici. Si vous souhaitez modifier la bibliothèque d'origine, vous pouvez la modifier directement dans l'entrepôt de composants précédent.

1. Créez une bibliothèque de composants sur le nuage de codes
et nommez-la SYBasicComponents, comme indiqué dans la figure :

Insérer la description de l'image ici
2. Créez SYBasicComponentsune bibliothèque locale.
Chemin de création par défaut : /Users/sunshiyu/SYBasicComponents.

pod lib create SYBasicComponents

Insérer la description de l'image ici
Enfin, le projet sera automatiquement ouvert après la création de la bibliothèque de composants locaux du projet.

3. Importez votre propre code dans la bibliothèque privée

Supprimez les fichiers Classesdu dossier ReplaceMe.met remplacez-les par le code que vous souhaitez télécharger dans la bibliothèque privée. Importez deux fichiers de test simples ici :

// SYLog.h
+ (void)logger;
// SYLog.m
+ (void)logger {
    
    
    NSLog(@"-------- Log --------");
}

Insérer la description de l'image ici

4. Mettre à jour la bibliothèque de pods de ce projet

  1. cdAller au Exampledossier
  2. mettre en œuvrepod install
    Insérer la description de l'image ici

5. Lors de la modification .podspecdu fichier
Insérer la description de l'image ici
Insérer la description de l'image ici
, vous devez faire attention à deux attributs :
s.homepage : L'adresse de l'entrepôt de code privé https://gitee.com/sun-shiyu/sybasic-components
s.source: L'adresse source de l'entrepôt de code privéhttps://gitee.com/sun-shiyu/sybasic-components.git

Configurez d'autres propriétés selon vos besoins.

6. Poussez la bibliothèque privée vers l'entrepôt distant

Notez que l'extrémité distante a besoin d'une branche, créez donc masterd'abord une masterbranche :

 cd /Users/sunshiyu/SYBasicComponents 
git branch master
git checkout master

Insérer la description de l'image ici

Validez le code localement et envoyez-le à l'extrémité distante :

 git branch (检查当前所在分支)
git status (查看当前git存了什么文件)
git add . (将所有文件缓存到待提交文件区域)
git commit -m "上传组件"
git remote add origin https://gitee.com/sun-shiyu/sybasic-components.git  (私有库git仓库地址)
git push -f origin master (将代码推送到远程私有库git仓库的master分支上面已经创建了)
git tag 0.1.0 (这里的版本号必须和podspec里面写的版本号一致)
git push -- tags (提交tag)

Insérer la description de l'image ici
7. Vérification locale et à distance

1. Vérification locale, dans le répertoire actuel de la bibliothèque privée, saisissez la commande :

pod lib lint --private --allow-warnings

Insérer la description de l'image ici
Vérification réussie :SYBasicComponents passed validation.

2. Pour une vérification à distance, entrez la commande dans le répertoire actuel de la bibliothèque privée :

pod spec lint --private --allow-warnings

Insérer la description de l'image ici
Vérification réussie :SYBasicComponents.podspec passed validation.

8. Soumettez le fichier d'index à la bibliothèque d'index distante

1. Une fois toutes les vérifications réussies, le fichier de spécifications doit être poussé vers la bibliothèque d'index de bibliothèque privée créée au début.

cd 到私有库项目目录,
pod repo push <本地索引库名称> <索引文件名> --allow-warnings
<本地索引库名称>在 /Users/sunshiyu/.cocoapods/repos 下的私有库索引项目名称
<索引文件名>就是以 podspec 结尾的,注意不要弄错

Par exemple, entrez la commande :

pod repo push SYComponentSpec SYBasicComponents.podspec --allow-warnings

Insérer la description de l'image ici
2. Après avoir poussé, affichez la figure suivante dans la bibliothèque d'index locale :
Insérer la description de l'image ici

geteeAffichez l'image suivante sur l'extrémité distante :

Insérer la description de l'image ici

4. Utilisez la bibliothèque de composants de base

Créez un projet nommé arbitrairement SYSpecDemoet initialisez pod:

 cd /Users/sunshiyu/Desktop/SYSpecDemo
pod init
pod install

Ouvrir podfilele fichier d'édition

open podfile

comme suit:

# Uncomment the next line to define a global platform for your project
platform :ios, '11.0'

# source 添加对应的索引库,否则会pod install失败
source 'https://gitee.com/sun-shiyu/sycomponent-spec.git'

target 'SYSpecDemo' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # Pods for SYSpecDemo
  
  # pod 对应组件,可以对应版本
  pod 'SYBasicComponents'

end

encore:

pod install

Vous pouvez voir cette bibliothèque :
Insérer la description de l'image ici

Importez des fichiers d'en-tête à l'aide de cette bibliothèque :

#import <SYBasicComponents/SYLog.h>

// 打印 log 
[SYLog logger];

5. La bibliothèque de composants s'appuie sur des bibliothèques tierces

Si notre bibliothèque de composants doit s'appuyer sur des bibliothèques tierces, telles que AFNetWorking, YYModeletc., le fonctionnement est le suivant :

1. Modifiez le SYBasicComponents.podspecfichier de bibliothèque de composants et ajoutez des dépendances :
Insérer la description de l'image ici

La bibliothèque de composants effectue ensuite Examplel'exécution du projet pod install.

2. Comme à l'étape 6 ci-dessus, transférez le code modifié par la bibliothèque de composants vers l'extrémité distante. N'oubliez pas de taper , et cela doit être cohérent tagavec la bibliothèque d'index .version

Insérer la description de l'image ici

git tag 0.2.0 (这里的版本号必须和podspec里面写的版本号一致)
git push -- tags (提交tag)

3. Soumettez l'extrémité distante de la base de données d'index, comme à l'étape 8 ci-dessus :

pod repo push SYComponentSpec SYBasicComponents.podspec --allow-warnings

4. Modifiez le podfilefichier du projet principal et ajoutez github CocoaPodsla bibliothèque d'index pour charger githubles bibliothèques tierces :

source 'https://github.com/CocoaPods/Specs.git'

Insérer la description de l'image ici

Puis exécutez pod install.

Ce qui précède est la façon d'utiliser la bibliothèque de composants, c'est-à-dire la méthode à distance. Cette méthode nécessite d'ouvrir et de modifier la pod 'SYBasicComponents'bibliothèque de composants avant la mise à jour , puis de modifier le fichier principal du projet (il peut ne pas être nécessaire de le modifier selon la situation), et enfin le projet principal : Projet re . De cette façon, vous pouvez obtenir le dernier code de la bibliothèque de composants distante.L'inconvénient est que chaque fois que le projet principal souhaite mettre à jour le dernier code de la bibliothèque de composants, il a besoin de la bibliothèque de composants pour mettre à jour la version de la bibliothèque de composants . Comment y parvenir, tant que la bibliothèque de composants dispose de mises à jour de code, le projet principal peut directement extraire le dernier code. La réponse est de référencer la bibliothèque d'index locale. Il suffit de modifier le fichier principal du projet comme suit :tagspecversionpodfilepod installtagpodfile

# Uncomment the next line to define a global platform for your project
platform :ios, '11.0'

# source 添加对应的索引库,否则会 pod install 失败
# source 'https://gitee.com/sun-shiyu/sycomponent-spec.git'
source 'https://github.com/CocoaPods/Specs.git'

target 'SYSpecDemo' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # Pods for SYSpecDemo
  
  # pod 对应组件,可以对应版本
  
  # 方式一、引用远端组件库
  # pod 'SYBasicComponents'
  
  # 方式二:引用本地组件库,不需要 source 'https://gitee.com/sun-shiyu/sycomponent-spec.git'
  pod 'SYBasicComponents', :path => '~/SYBasicComponents/'
 
end

Autrement dit, utilisez pod 'SYBasicComponents', :path => '~/SYBasicComponents/'la méthode pour référencer directement le code de la bibliothèque de composants locale, afin que le code extrait soit le plus récent à chaque fois. Essayons pod install. PodsLa structure des répertoires changera comme indiqué ci-dessous :

Insérer la description de l'image ici
La bibliothèque de composants locale SYBasicComponentscontient le dernier code. Parce que notre bibliothèque de composants en dépend AFNetworking YYModel, Podsces deux bibliothèques apparaissent dans .

Finition! ! !

Référence :
Créer une bibliothèque privée iOS pour créer
une bibliothèque privée basée sur des composants iOS

Je suppose que tu aimes

Origine blog.csdn.net/SSY_1992/article/details/132039577
conseillé
Classement