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
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
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 :
2. Créez SYBasicComponents
une bibliothèque locale.
Chemin de création par défaut : /Users/sunshiyu/SYBasicComponents
.
pod lib create SYBasicComponents
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 Classes
du dossier ReplaceMe.m
et 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 --------");
}
4. Mettre à jour la bibliothèque de pods de ce projet
cd
Aller auExample
dossier- mettre en œuvre
pod install
5. Lors de la modification .podspec
du fichier
, 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 master
d'abord une master
branche :
cd /Users/sunshiyu/SYBasicComponents
git branch master
git checkout master
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)
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
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
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
2. Après avoir poussé, affichez la figure suivante dans la bibliothèque d'index locale :
getee
Affichez l'image suivante sur l'extrémité distante :
4. Utilisez la bibliothèque de composants de base
Créez un projet nommé arbitrairement SYSpecDemo
et initialisez pod
:
cd /Users/sunshiyu/Desktop/SYSpecDemo
pod init
pod install
Ouvrir podfile
le 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 :
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
, YYModel
etc., le fonctionnement est le suivant :
1. Modifiez le SYBasicComponents.podspec
fichier de bibliothèque de composants et ajoutez des dépendances :
La bibliothèque de composants effectue ensuite Example
l'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 tag
avec la bibliothèque d'index .version
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 podfile
fichier du projet principal et ajoutez github CocoaPods
la bibliothèque d'index pour charger github
les bibliothèques tierces :
source 'https://github.com/CocoaPods/Specs.git'
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 :tag
spec
version
podfile
pod install
tag
podfile
# 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
. Pods
La structure des répertoires changera comme indiqué ci-dessous :
La bibliothèque de composants locale SYBasicComponents
contient le dernier code. Parce que notre bibliothèque de composants en dépend AFNetworking
YYModel
, Pods
ces 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