分享一个CocoaPods私有库
分享一个CocoaPods私有库
之前主导开发一个SDK项目的时候,有遇到一些客户需要使用CocoaPods库进行进入接入,自己在做App的时候,也用过CocoaPods引入AFN,SDWebImage等第三方库,SDK项目组件化也有用到,现在给客户的CocoaPods库是不能提供源码的,都是一些.framework,.a,.bundle之类的文件还有一些接入配置,由于开发的SDK需要引入很多第三方SDK,这些第三方SDK也有一些自己的文件和接入配置,这时候就需要研究下CocoaPods的官方文档,查看相关配置如何设置了。
下面给出代码实例说明什么参数配置解决什么问题, 如果还没有解决自己SDK的接入问题,可以参照官方文档https://guides.cocoapods.org去一一设置和测试了
# # Be sure to run `pod lib lint PodSpecTest.podspec' to ensure this is a # valid spec before submitting. # # Any lines starting with a # are optional, but their use is encouraged # To learn more about a Podspec see https://guides.cocoapods.org/syntax/podspec.html # Pod::Spec.new do |s| s.name = '您的SDK名字,例如LDebugFramewok,自行定义' s.version = '您的SDK当前版本' s.summary = 'SDK基本描述' # This description is used to generate tags and improve search results. # * Think: What does it do? Why did you write it? What is the focus? # * Try to keep it short, snappy and to the point. # * Write the description between the DESC delimiters below. # * Finally, don't worry about the indent, CocoaPods strips it! s.description = 'SDK详细说明.' s.homepage = '您的主页' # s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2' s.license = { :type => '协议,例如MIT', :file => 'LICENSE' } s.author = { '作者' => '作者邮箱' } s.source = { :git => 'SDK的git地址', :tag => s.version.to_s } # s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>' s.ios.deployment_target = 'SDK支持的iOS最低版本号,例如8.0' s.source_files = '路径/SDK对外接口文件1.h','路径/SDK对外接口文件2.h' s.public_header_files = '路径/SDK对外接口文件1.h','路径/SDK对外接口文件2.h' # 下面这段是SDK提供的.framework s.vendored_frameworks ='路径/SDK的framework名字1.framework','路径/SDK的framework名字2.framework' # 下面这段是需要引用的系统框架名(weak) s.weak_frameworks='Foundation','UIKit','AVKit','WebKit','AdSupport','StoreKit','CoreTelephony','Passkit','Social' # # 下面这段是需要引用的系统.dylib s.library = 'resolv', 'sqlite3', 'xml2', 'z','c++','sqlite3.0','xml2.2','stdc++','stdc++.6','stdc++.6.0.9' # 下面这段是需要引用的系统框架名 s.frameworks = 'Accelerate', 'AdSupport', 'AudioToolbox', 'AVFoundation', 'CFNetwork', 'CoreGraphics', 'CoreLocation', 'CoreTelephony', 'CoreMedia', 'CoreMotion', 'EventKit', 'Foundation', 'GameController', 'GLKit', 'iAd', 'ImageIO', 'MediaPlayer', 'MessageUI', 'MobileCoreServices', 'QuartzCore', 'Security', 'Social', 'StoreKit', 'SystemConfiguration','WatchConnectivity','WebKit','JavaScriptCore','UIKit','AVKit','Passkit','CoreVideo','CoreData','CoreMotion','EventKitUI','Mapkit','Twitter','CoreFoundation','CoreBluetooth' # 下面这段是SDK提供的.a库文件 s.vendored_libraries='路径/SDK的a名字1.a','路径/SDK的a名字2.a' # 下面这段是SDK需要引用的资源文件,例如.bundle,.png s.resources = '路径/XXXX.bundle','路径/XXXX.png' end
由于涉及到公司项目隐私,都是用私有仓库的方式管理,源码就不分享出来,分享一个自己去年做过的一个CocoaPods库,功能是从之前项目中抽离出来的功能组件,没有相关业务功能,大家安装即可测试使用。
主要功能: 辅助iOS开发者进行调试,浏览器查看日志,查看沙盒文件以及NSUserDefault配置信息。
https://github.com/12star9/LDebugFramework
使用步骤:
1.首先将 LDebugFramework 私有的 Spes 库加入到 CocoaPods,执行命令如下
pod repo add LDebug https://github.com/12star9/LDebugSpecs.git
验证本地索引是否创建成功:
方法1 前往 - 个人 - .cocoapods - repos 如有看到LDebug说明成功
方法2 终端输入 pod repo 回车,如果有看到LDebug分支说明成功
2.然后将 LDebugFramework 作为依赖引入你的项目
platform :ios, '8.0'
use_frameworks!
target 'MyApp' do
source 'https://github.com/12star9/LDebugFramework.git'
pod 'LDebugFramework'
end
开发步骤,由于该组件去年已经完成发布,之前没有把步骤书写下来,可参考转载的一个博客: https://blog.csdn.net/jike_yangyujing/article/details/84991450
LDebugSpecs对应MDSpecs, LDebugFramework对应MeiShopUIKit
-------------------------------------------
个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

浙公网安备 33010602011771号