发布共享代码,能同时使用pod
和carthage
管理framework
如下:
- 在
podfile
中添加
pod 'DemoPodAndCartLib'
- 或者,在
Cartfile
中添加:
git "https://github.com/KoStudio/DemoPodAndCartLib.git"
- Xcode创建Dynamic Framework工程:
DemoPodAndCartLib
,
- 并设置主framework为
Shared
- Carthage 测试验证 命令:
carthage build --no-skip-current
> 然后查看:Carthage/Build
目录.- _ 提供预编译zip (非必须)_
- 制作*.podspec文件放在根目录下
命令:
pod spec create DemoPodAndCartLib
然后修改相应配置 注意修改版本号要和push到git仓库的tag一致
-
在根目录下创建
Classes
和Assets
子目录用于放源码文件和资源文件 -
在根目录下创建Demo工程,用于写示例 (非必须)
-
上传到git仓库, 打上
tag
...
git commit -a -m"add to git"
git push
git tag 1.8.7
git push --tags
**注意:发布之前要修改版本号:**
- 将
DemoPodAndCartLib.podspec
发布到私有库repo
或公有库trunk
- 验证:
本地验证:
pod lib lint
远程验证:
pod spec lint
- 发布到私有仓库
KoSpec
:
命令:
pod repo push KoSpecs DemoPodAndCartLib.podspec
完成后会在目录:~/.cocoapods/repo/KoSpecs/
下 生成:DemoPodAndCartLib/1.8.7/DemoPodAndCartLib.podspec
同时会自动push到KoSpec服务器仓库,所在的目录结构也会变成:
KoSpecs/DemoPodAndCartLib/1.8.7/DemoPodLib.podspec
├── Specs
└── [SPEC_NAME]
└── [VERSION]
└── [SPEC_NAME].podspec
- 或 发布到
cocoapods
公有仓库:命令:
pod trunk push KoSpecs DemoPodAndCartLib.podspec
git "https://github.com/KoStudio/DemoPodAndCartLib.git"
运行carthage update --platform iOS
-
在
Target
中的 -Embedded Binaries
和 - _Linked Frameworks And Libraries
_中添加编译好的framework
> -
加入以下路径 在 Target 中的 Build Setting 中的 Framework Search Path 项加入以下路径:
$(SRCROOT)/Carthage/Build/iOS
(注意:直接通过鼠标右键_"
Add Exsit Files
"_添加到工程中时,会自动添加路径)
(可能需要运行一次pod repo update KoSpecs
或删除~/Library/Caches/CocoaPods/
下的search_index.json
)
在podfile中添加:pod 'DemoPodAndCartLib'
运行:pod install