分享一个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

 

posted @ 2019-06-03 17:25  One Piece,我来了!  阅读(309)  评论(0)    收藏  举报