IOS 创建CocoaPods远程私有代码库和公开库

CocoaPods出现错误[!] CDN: trunk URL couldn‘t be downloaded: 好久没有写问题章了,得有几年了吧,最近在做flutter的混合开发项目,在做flutter的iOS插件的时候碰到的问题,比较初级,记录下来。 1、问题描述: CocoaPods出现错误[!] CDN: trunk Repo update failed与[!] CDN: trunk URL couldn't be downloaded: 或者:CDN: trunk Redirect... 阅读详情

https://guides.cocoapods.org官网
有些时候我们的项目太过于庞大,需要进行组建化开发,可以将每个模块开发成一个组件。或者是我们的一些自己库,想用pod导入,又不想使用本地路径的方式。这时候我们就可以做一个远程的私有代码仓库,这样我们开发的库就可以满足我们自己用pod进行导入,又不用让别人看到;
因为索引库中之存放框架的描述信息,真正的框架是存放在描述信息制定的地址之中,所有我们要想把自己的代码放到pods索引库中,我们首先应该是给自己的远程仓库的框架添加一个描述文件,将描述文件上传到远程框架的索引库当中,1开发框架->2添加spec文件->3上传spec到索引库
进入github索引cocoapods可以看到一个Cocoapods/spec文件

首先我们可以现在远程代码仓库创建一个新的仓库用来存放我们自己框架的源码;然后在我们电脑上面床架一个git仓库,然后将我们本地的git仓库和远程的代码仓库建立连接,可以使用clone也可以
手动连接git remote add origin 连接地址;
使用 git remote测试是否添加;
使用 git push origin master将本地代码推送远程仓库;
使用终端cd到git同级目录创建spec文件 pod spec create TestLib,一般名称和代码的文件名一致;
创建好spec文件就可以修改里面的信息了:
里面有homepage

spec.name         = 'Reachability' 框架名
  spec.version      = '3.1.0' 版本号
  spec.license      = { :type => 'BSD' }
  spec.homepage     = 'https://github.com/tonymillion/Reachability' 主页
  spec.authors      = { 'Tony Million' => 'tonymillion@gmail.com' } 作者
  spec.summary      = 'ARC and GCD Compatible Reachability Class for iOS and OS X.' 描述
spec.description = <<-DESC
                     Computes the meaning of life.
                     Features:
                     1. Is self aware
                     ...
                     42. Likes candies.
                   DESC 详细描述这个字数要比上面summary长并且不可以为空
  spec.source       = { :git => 'https://github.com/tonymillion/Reachability.git', :tag => 'v3.1.0' } 远程仓库的地址,发布的本号,一般
  spec.source_files = 'Reachability.{h,m}'
  spec.framework    = 'SystemConfiguration'
spec.source_files  = "Classes", "Classes/**/*.{h,m}" 需要添加到仓库的文件
 spec.exclude_files = "Classes/Exclude"
 spec.source_files       = 'Reachability/common/*.swift' 需要下载的文件,放到项目里面的,这个路径是spec文件对应的相对路径,

接下里需要给git设置tag这里面的tag钥匙spec的tag保持一致,因为他检索的时候需要根据这个tag去远程仓库查找
添加taggit tag 0.1.1 -m'描述文字'
把tag推送到远程代码仓库git push --tags
这时候刷新远程代码仓库,就可以看到这个0.0.1的新版本了
接下来要把我们的spec上传到远程框架的索引库中了,首先注册一下trunk,这个trunk就是允许我们将自己本地的sdk上传到官方的spec索引库中pod trunk register 759542164@qq.com 'SLL' --description='苏'
验证完成之后 就可提交了pod trunk push TestLib.podspec,直接提交可能因为警告不能成功。使用命令pod trunk push TestLib.podspec --allow-warnings这里的文件名要注意别写错
提交成功之后,远程索引库会自动同步本地的索引库,如果提交成功本地还是索引不到,可能是本地索引没有更新
使用命令pod install --no-repo-update下载不需要检查更新pod install --repo-update 检查本地更新
如果想搜索的话可以使用 pod search XXX

创建远程私有代码仓库,

只有我们自己可以使用将代码放到远程代码仓库,共自己项目组使用

  1. 在代码托管平台创建我们的代码仓库,因为GitHub上面私有的要钱,所以我们可以其他的比如码云,coding都可以,这里我使用的是coding ,先在网上创建好我们的代码仓库。复制url连接
    原理:
    创建远程代码仓库->生成spec文件->上传spec到代码仓库
    生成我们自己的远程代码库,将我们远程代码仓库的spec上传到我们自己的私有的索引库,然后在本地生成我们的本地索引库。
    我们自己的授权的用户可以使用

私有库的划分,主要骨架做成私有库而不是所有的文件都是一个库,根据不同功能和模块划分。
基础组件(分类)、功能组件、业务组件(骨架);业务组件依赖基础组件
创建组件库文件夹testLib->FMBases->Classes->文件

创建本地私有库FMBases->git init-> git add.-> git commit -m 初始化
添加podpod init->pod install
创建podspec文件pod spec create FMBases在描述文件里面写这个信息

将本地库集成到宿主项目里面pod init->pod install生成podfile文件配置库的信息

target 'XMGFM' do
frameworks
  use_frameworks!
  pod 'XMGFMBase', :path=>'../localLib/XMGFMBase'相对路径
end

然后执行pod install

生成私有的索引库

在远程创建我们代码仓库XMGFMSpecs,复制仓库的url或者使用ssh公钥匙和私钥匙,私钥匙留着,公钥匙给外界
如何生成一个公钥
终端ssh-keygen
存放目录在 /Users/luosu/.ssh/id_rsa.pub

  1. 添加自己的本地索引库pod repo add 库名 urlpod repo add 库名 ssh
    可以在终端执行pod repo查看当前存在的索引库
    添加成功之后,我们就有了自己的索引库了。
    将开发代码上传到远程仓库,这个需要新建一个仓库,不是刚刚的索引仓库

cd到本地创建一个remoteLib文件夹

  1. 创建一个我们需要开发的组件,创建一个模版库pod lib create XMGFMBase
What platform do you want to use?? [ iOS / macOS ]
 > iOS
What language do you want to use?? [ Swift / ObjC ]
 > ObjC
Would you like to include a demo application with your library? [ Yes / No ]
 > Yes
Which testing frameworks will you use? [ Specta / Kiwi / None ]
 > None
Would you like to do view based testing? [ Yes / No ]
 > No
What is your class prefix?
 > XMG

然后终端就会执行一些基本让我选择的基本选项,执行完之后就创建了一个带有基础组件和demo案例的项目,用来测试的项目,这是后我们需要把我们的组件放到XMGFMBase/Classes/
然后 安装一下pod 文件 pod install
修改了podspec文件相关配置,因为别人下载是根据podspec里面的信息找远程代码仓库。主要是source等内容
然后回到XMGFMBase文件夹
使用pod lib lint它自动检索当前文件夹下的spec文件,进行本地验证,他不会验证source里面的tag。但是如果远程验证pod spec lint的话会发现没有tag会报错,因为他会去验证我们的代码仓库,这时候我们创建好的代码还没有提交到远程代码仓库呢,git init->git add .->git commit -m xxx->git remote add origin https://gitee.com/stop_and_stop/xmgfmbase.git->git push -u origin "master"然后代码提交到远程代码仓库
这时候还有创建tag,远程验证依然不通过
添加tag,这里面的tag要跟.podspec里面的version保持一致git tag -a 0.1.0 -m '描述文字'
把tag推送到远程代码仓库git push --tags
一旦验证成功,就说明私有库索引没有问题,然后把索引文件传到自己的XMGFMBase私有索引库当中,pod repo push XMGFMBase XMGFMBase.podspec --allow-warnings这句会自动上传到远程私有索引库里面

然后我们再使用的时候需要在podFile文件里面添加私有库的sourcesource 'https://e.coding.net/shllearn/shlprivatestore/shlprivatestore.git'
这样设置之后可以加载自己远程私有库了,但是还不能加载共有的远程私有库,所以还要添加公共的索引库sourcesource 'https://cdn.cocoapods.org/'
Podfile文件具体配置

source 'git@gitee.com:stop_and_stop/xmgfmspecs.git'
source 'https://cdn.cocoapods.org/'
use_frameworks!
platform :ios, '9.0'

target 'XMGFMBase_Example' do
  pod 'XMGFMBase'
  pod 'MJExtension'
end

远程私有索引库的升级

cd到模版库文件,将需要增加的代码,copy到Classes文件,
修改podspec文件,
pod install
更改版本号,git add .-> git commit -m xxx->git push
添加taggit tag -a 0.2.0 -m xxx->git push --tag
验证文件本地pod lib lint 远程pod spec lint
更新新本地索引库pod repo push XMGFMBase XMGFMBase.podspec --allow-warnings

如果出现奇怪的错误,可以把原来下载的pod 用命令 pod installs清理一下
然后 Example里面pod install一下,
不更新索引库 pod update --no-repo-update更新框架不更新索引库

远程私有库依赖+升级

把需要使用第三方库的组件拖入Classes
执行pod install example里面可以看到新的组件
如果自己的组件库中使用了第三方的库就需要添加依赖,
修改spec文件s.dependency 'AFNetworking's.dependency 'SDWebImage'
这样在下载私有库的库时候会检测哪些依赖的库,如果有就会把依赖库一起下载过来。pod install
编译一下看是否成功,成功之后提交远程代码仓库git add .->git commit -m xxx->git pushgit tag 0.3.1->git push --tags
验证sepc文件是合法pod spec lint
成功就提交到本地索引库pod repo push XMGFMSpecs XMGFMBase.podspec --allow-warnings
用另外的工程引入第三方可以使用就可以

远程仓库私分支

因为我们有时候字需要仓库的一部分组件的功能,所以要实现分支功能SubSpecs
修改podspec文件

s.subspec 'Base自控名称' do |b别名|
  b.source_files = 'XMGFMBase/Classes/Base/**/*'
end

将主库的s.source_files注释
如果有的库需要依赖第三方的框架,不能直接写在外面了,

s.subspec 'Network自控名称' do |n|
  n.source_files = 'XMGFMBase/Classes/Network/**/*'
  n.denpendency = 'AFNetworking'
end

修改完成测试没有错误以后,上传代码到远程仓库git add .-> git commit -m xxxx->git push
添加taggit tag 0.2.2 ->git push --tags
验证spec文件是否符合格式pod spec lint --allow-warnings
上传到本地私有索引库pod repo push XMGFMSpecs XMGFMBase.podspec --allow-warnings
成功之后 使用pod search XMGFMBase测试有没有
在宿主工程测试一下可以用了么

source 'git@gitee.com:stop_and_stop/xmgfmspecs.git'
source 'https://github.com/CocoaPods/Specs.git' 
platform :ios, '8.0'

target 'XMGFM' do
  use_frameworks!

pod 'XMGFMBase/Category'
#pod 'XMGFMBase/Base'
#pod 'XMGFMBase', :subspecs => ['Base', 'Category']
#pod 'MJExtension'
end

主骨架组件化

创建一个新的框架pod lib create XMGFMMain

填写框架的信息
What platform do you want to use?? [ iOS / macOS ]
 > iOS
What language do you want to use?? [ Swift / ObjC ]
 > ObjC
Would you like to include a demo application with your library? [ Yes / No ]
 > Yes
Which testing frameworks will you use? [ Specta / Kiwi / None ]
 > None
Would you like to do view based testing? [ Yes / No ]
 > No
What is your class prefix?
 > XMG

这样创建的工程里面Example对框架是引用的关系,不是copy所以才可以边开发边调试
将main里面的Controller,View代码copy到当前框架XMGFMMain文件夹里面,Example pod install就可以了
显build一下看是否需要依赖,如果需要记得修改podspec文件s.dependency 'XMGFMBase/Category'
然后因为加载的是私有库的框架,所以记得修改podfiles的source

source 'git@gitee.com:stop_and_stop/xmgfmspecs.git'
source 'https://github.com/CocoaPods/Specs.git'

然后pod install加载组件库
到这步运行还是有错误,因为加载不了NIB等资源,因为使用加载这些资源使用时mainbundle来加载的,而现在资源不在mainBundle里面
查询当前的bundle路径

NSBundle *currentBundle = [NSBundle bundleForClass:self];
当前类的路径

添加图片资源,应该放到组件内部
先把assert里面的图片拿出来,github上面cartool放入输入和输出路径来破解出来;放到开发组件Classes同级的asserts里面
修改podspec文件。描述

s.resource_bundles = {
     'XMGFMMain' => ['XMGFMMain/Assets/*']
   }

这样还不能直接使用,因为放到这个文件夹里面之后,最终打包成一个资源包。这个放到项目名.framework里面
使用图片的时候xib里面用 项目名.framework/图片名
代码里面加载,不能直接使用imageNamed方法,要使用

// 设置tabbar 背景图片
    // car, mainBundle
    NSBundle *currentBundle = [NSBundle bundleForClass:[self class]];  
    NSString *imagePath = [currentBundle pathForResource:@"tabbar_bg@2x.png" ofType:nil inDirectory:@"XMGFMMain.bundle"];
    UIImage *image = [UIImage imageWithContentsOfFile:imagePath];
    self.backgroundImage = image;

私有库资源依赖

有时候我们自己写的库需要依赖图片、xib、 storyboard等资源
我们最终要达到目的是 宿主工程里面只集成业务组件

添加开发的库.png
添加完之后项目结构

然后在终端,执行一下 pod install 就把本地库引入了我们的项目,因为我们引入的时候没有选择,copy item if needed。所以项目中只是对文件的引用,我们这样就可以边开发边测试了,等开发功能差不多的时候,就可以进行下一步了。

在代码托管平台创建我们的托管项目

创建的时候注意,不要勾选,readeMe和gitignore,因为我们上一步创建出来的项目里面自带这两个文件。如果远程又创建了会产生冲突,

创建远程代码管理

创建完之后,会有一个url用来cloning的
然后找到url更改我们本地代码的.podspec文件的里面一些配置

#核心代码所在的位置
  s.source_files = 'HomeKit/Classes/**/*'

默认当前文件在哪里,他就是找到当前文件的目录下面,因为 HomeKit跟。podspec文件在同一级目录,所以不需要,跳转文件夹
/**他会找当前文件夹里面的所有文件,不写的话他只会查找一层

之后开发更新,版本号也是需要更改的。每次更新版本都需要更改,注意跟tag保持一致

s.version          = '0.1.0'

因为Cocoapod是根据tag去索引代码的,git的tag。如果没有写的话是不能下载的,
创建好远程的代码库,然后将.podspec里面source改成创建好的远程地址

s.source   = { :git => '创建好的远程代码托管url', :tag => s.version.to_s }
  • 当我们的代码运行没有错误之后,我们就可以添加到远程代码仓库了
  • 总体来讲的话,使用终端操作git管理代码有这么几个主要步骤
    先查看文件的状态git status
  1. 把文件添加到本地暂缓区git add .
  2. 把文件添加到本地代码仓库git commit 文件名
  3. 建立本地仓库与远程代码仓库之间的连接
    先查看是不是有远程的代码仓库git remote
    如果没有的话手动添加关联git remote add origin 远程仓库url
  4. 把本地代码提交到远程代码仓库git push origin master
  5. 添加tag,这里面的tag要跟.podspec里面的version保持一致git tag -a 0.1.0 -m '描述文字'
  6. 把tag推送到远程代码仓库git push --tags
  • 将我们的组建添加到pod库里面,这里需要穿我们自己私有的库名还有组建的podspec文件全称
pod repo push  HLPrivateStore  HomeKit.podspec

执行这句可能会产生警告,这时候我们可以忽略警告,可以在后面加上 一句

pod repo push  HLPrivateStore  HomeKit.podspec --allow-warnings

当执行完这部我们用pod search来搜索一下看看有没有我们的库,如果有就可以使用了。注意,要在podfile文件里面加上一句

source '本地库的url '

因为他默认会从公有库里寻找,

  • 注意以后我们更新我们的库的话 需要更改podspec。里面的version
    还要重新设置git的tag

划分子组件

如果我们的组件中用到了太了文件和一些共有的工具类,我们可以将它们划分成一个个子组件,这样当我们使用的时候,在工程里面就可以很清晰的辨别文件的类型

s.subspec   'Frame' do |frame|  
#两个frame的名字不能一样不然会出错,第二个只是一个变量名字,用来在在这个区间使用
frame.source_files = 'HomeKit/Classes/Frame/*.{h, m}'
end

因为我们没有改代码,所有子需要重新覆盖一下本地的podspec文件就好了

pod repo push  HLPrivateStore  HomeKit.podspec --allow-warnings

因为我们刚刚更新了spec的文件,划分了文件结构,所以我们引用的项目,重新pod update一下

这时候我们引用的地方可能会出现,划分的文件夹,但是里面没有文件,文件还是在外面,这是因为我们那有引用全部文件s.source_files = 'HomeKit/Classes/**/*'这句代码,所以我们要把这句话注释掉,就可以了

组件加载资源文件(图片 xib storybord)

在 .podspec文件里面更改

s.resource_bundles = {
    'HLCategory' => ['HLCategory/Assets/*.png', 'HLCategory/Classes/**/*.xib']
   }

 s.resource_bundles = {
    'SHLLiveKit' => ['SHLLiveKit/Classes/**/*.{storyboard,xib}']
  }

当我们在使用 我们框架里面的图片资源的时候,要记得加上bundle的名字,因为Xcode会将我们的资源压缩到我们框架的bundle里面,它本身不是mainBundle里面的资源,所以不能直接使用,图片名字

使用非cocoaPods库

iOS 发布CocoaPods私有库 需要做的工作包括以下几点 创建一个本地的仓库,将自己的代码搞进去 将自己的代码上传到远程私有仓库中去 创建一个pods 的描述文件 .podspec 修改.podspec描述文件中的相关的描述信息 创建远程内部私有Spec Repo仓库 向私有的Spec Repo仓库中提交.podspec 在个人项目中的Podfile中增加刚刚制作的好的Pod并使用 后期的升级维护 具体详细的步骤如下 ... 阅读详情

相关推荐

无线控制的隐形桥梁:深入解析NRF24L01在电机控制中的数据传输艺术

本文深入解析NRF24L01无线模块在电机控制中的数据传输技术,涵盖通信机制优化、抗干扰策略及实时性保障。通过舵机和无刷电机的实战案例,展示如何构建稳定高效的无线控制系统,为嵌入式开发提供完整解决方案。

j7k8l的博客 332

关于cocoapod使用的一点记录

# 下面是指明依赖库的来源地址 source 'https://github.com/CocoaPods/Specs.git' source 'https://github.com/Artsy/Specs.git' source 'https://cdn.cocoapods.org' # 说明平台是ios,版本是9.0 platform :ios, '9.0' # 忽略引入库的所有警告(强迫症者的福音啊) inhibit_all_warnings! # 针对MyApp target引入AFNetwo.

Sunshine586983的博客 743

第三篇:AMD 和 Intel

它像“乐高积木”一样,可以通过标准化的接口与其他部分组合,构建复杂系统。理解组件后,你会发现从操作系统到微服务,现代软件本质上都是组件的组合!

u013089100的博客 1030

cocoapods安装后pod install出现​Couldn‘t determine repo type for URL: `https://cdn.cocoapods.org/​解决方案

​ [!] Couldn't determine repo type for URL: `https://cdn.cocoapods.org/ ​

jinsiryan的专栏 1874

海康威视HiTools实战:5分钟搞定工业镜头选型(附避坑指南)

本文详细解析了海康威视HiTools在工业镜头选型中的应用,通过五步操作流程帮助用户快速匹配适合的镜头型号。文章深入探讨了工业视觉系统的核心参数,包括焦距、视野、景深和畸变控制,并提供了光源搭配和系统集成的实战指南,助力提升机器视觉检测精度与效率。

u0v1w2x3的博客 1056

计算机技术发展5大阶段,现阶段计算机技术应用及发展

【摘要】现代计算机科学技术的发展和普及运用,为世界各国民众基础性生产生活实践活动的组织开展路径造成了深刻影响,本文围绕现阶段计算机技术应用及发展,择取两个具体方面,展开了简要分析。【关键词】计算机技术;应用;发展改革开放以来,计算机设备的广泛运用,促进了计算机科学技术的逐步发展成熟。计算机科学技术是具备新兴表现特征的尖端应用技术,其在现代工业生产和社会生活实践活动过程中的广泛引入运用,给世界各国基...

weixin_42126677的博客 2637

iOS组件化,私有库搭建

摘要 iOS 中,我们经常使用pod ,同时也可以使用组件化开发的方式对代码进行物理隔离,让工程底层彻底解耦,当然自己的工程代码肯定不能上传到公共库上,所以本篇文章描述如何搭建一个自己的私有库 准备工作: 创建远程私有库的索引库 https://gitee.com/L63C/l63Specs.git git@gitee.com:L63C/l63Specs.git 开始创建 创建远程私有库 https://gitee.com/L63C/owt_ios.git git@

wutao63的博客 1624

x86架构学习之中断

外部中断,一般是由CPU的外部引脚电信号触发,这些引脚留给硬件厂商去定义中断,例如主板厂商可以将USB中断挂载70号中断引脚上,MCU厂商可以将片上外设(SPI、I2C等)的中断挂载在指定中断线上。中断描述符主要用于说明该中断的入口地址,中断描述符表则是将中断描述符一项一项管理在一个数组中,每一项中断描述符占用8个字节(64位模式下,占用16字节),其。简称中断,后文如果没特别说明,中断都指外部中断,由外部IO事件触发,由于时钟源来自CPU外部,与CPU时钟不同源,因此是异步事件。

qq_26962739的博客 1570

iOS开发,自己的cocoaPods库中隐藏源码,只上传编译好的framework文件

在iOS的模块化编程中,我们通常使用cocoaPods来开发一个单独模块(通过pod lib create ***来创建),然后提交到git上,让其他人使用,但是这样别人也能看到源代码。如果不想让别人看到源代码,可以只提交编译好的framework文件,具体方法如下: podspec文件如下: 文件目录如下: podspec中的“s.vendored_frameworks = 'SDK/...

海阔天空的专栏 1983

COMSOL有限元仿真深度指南:连接薄结构与实体结构(I)

COMSOL有限元仿真深度指南:如何在结构力学仿真中连接薄结构与实体结构?

忘了面孔的Batou 1万+

Open3D KD-tree的使用【2025最新版】

Open3d使用FLANN构建KDTree以便进行快速最近邻检索。博客长期更新,本文最近一次更新时间为:2025年1月1日,代码已同步更新至Open3D 0.18.0版本。

点云侠的博客 40万+

CocoaPods创建自己的公开库和私有库

相信大家对cocoaPods都很了解,大家也经常使用cocoaPods,那么我们经常使用的AFN、SDwebImage 等等,他们是怎么公开出来的呢?这样做有什么好处呢?我们可不可以自己公开一个库呢?下面就说一下我们建立自己的公开和私有库。 为什么要使用Cocoapods来管理第三方库呢? 传统使用第三方库的劣势 1、使用一个第三方SDK,需要在工程里面添加一堆配置,少添加一步配置就会...

andy_jiangbin的专栏 619

创龙 瑞芯微 RK3588 国产2.4GHz八核 工业开发板—ISP图像处理开发案例

创龙科技研发的 TL3588-EVM 评估板具备强大视频处理能力,可满足多场景视频开发需求。为助力开发者快速上手,本文整理 7 个实用视频开发案例,涵盖从采集到显示的全流程,详细说明各案例的硬件连接、参数配置与代码解析,帮助开发者高效实现评估板视频相关功能开发与调试。

创龙,嵌入式一体化解决方案商 206

使用CocoaPods创建公开、私有pod

使用CocoaPods创建公开、私有pod pro648 edited this page on 1 Jul 2018 · 1 revision CocoaPods是Swift和Objective-C项目依赖管理器,使用CocoaPods可以优雅的扩展你的项目。尽管在iOS、macOS项目中使用CocoaPods是非常常见的,但创建pod却很少见。通过这篇文章,你将学会如何创建pod,以及优质pod都有哪些共同点。 1. 安装CocoaPods 必须安装CocoaPods才可以创建pod。CocoaPods

王者之气 660

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

CocoaPods远程私有库

上一篇(让自己的开源项目支持CocoaPods集成)介绍了将自己开发的框架代码发布到Cocoapods,全球的开发者都可以通过pod search搜索到我们的框架代码以及通过pod install进行安装。但有时候我们希望只有我们项目内部的人才可以集成和修改,此时就可以创建远程的私有库。 通过pod search命令,Cocoapods会在官方索引库中进行搜索,通过pod repo可以查看本机添加...

dolacmeng的专栏 722

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

CocoaPods私有库创建遇到的问题

一、前言在iOS开发中,为了满足企业内部的一些组件化需求,往往需要创建一些公用的代码,这些公用代码往往是不希望被公开的,此时一般可以选择submodule或者CocoaPods库的形式。如果选用submodule,直接上传到自己的私有远程代码仓库就能达到目的。对于CocoaPods库的使用,则需要创建自己的私有库。二、创建私有库遇到的问题私有库的创建这里不再赘述,在互联网上已经有许多博客你可以进行参

wentianen的博客 1万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

[iOS]使用CocoaPods发布公开库

在 podspec 文件中使用标签,通常意味着你指定了一个稳定的、用于发布的版本。这是最常见的用法,因为这确保了项目的依赖是固定且可预测的。这通常用于开发阶段,当你想要使用最新的尚未发布的代码时。标签是静态的,指向特定的提交,不会随着更多的提交而变化。选择库名时,尽量选择具有描述性并且独特的名字,这不仅可以避免命名冲突,还可以帮助用户更好地理解库的用途和功能。文件,在编辑器中进行修改,以符合你的库的具体情况。将你的项目推送到一个 Git 仓库(如 GitHub),确保为发布的版本创建相应的分支或者标签。

Gamin 2493

CocoaPods公有库和私有库制作

认识公有库和私有库 公有库:开源自己封装的库供别人使用,且往cocoaPods的官方Repo仓库(即CocoaPods Master Repo)中新增自己库的索引,该库索引是以*.podspec.json文件形式存在。 私有库:私有库不在cocoaPods的官方Repo仓库中,而是在自建的spec repo中,库索引是以*.podspec文件形式存在,自建的spec repo放在路径~/.cocoapods/repos下,与master同级,其链接的远程仓库可以是公开的,也可以是私有的。 私有库链接私有

Johncahong的博客 1471

Cocoapods 本地私有库和远程私有库的使用

Cocoapods 本地私有库和远程私有库的使用

goodswifter 893

iOS 组件化的创建 -创建 cocoapods 库

iOS 组件化创建

优快云博客 1833

CocoaPods 远程公开库的基本创建

一直认为搞Pods库都是一件很高大上的事情,一直有这方面的想法,但是因为本人拖延癌晚期就一直搁置了。这次正好有需求索性就搞一下并记录下来。 #简述一下创建流程: 1.创建.podspec 2.编辑.podspec 3.将代码上传至:码云/Github 4.验证podspec合法性 5.注册CocoaPods 6.发布 再上一个我自己制作的图,根据我的理解标出来关系指向图:云端Pods库、本地仓库、码云/Github代码库的关系。他们之间主要关联的媒介就是**.podspec**文件,按照度娘来说,它叫做.

TheLazyCode的博客 419

CocoaPods创建公有和私有Pod库方法总结

Github地址zhangxiaomeng1 (ZXM) · GitHub正文目录一. 创建公有Pod库1、注册CocoaPods账户信息2、创建共享库文件并上传到公有仓库3、编辑.podspec文件4、打tag, 发布一个release版本5、发布自己的库描述文件podspec给cocoapods6、关于查找和使用新创建的库7、更新维护podspec二. 创建私有Pod库,整体思路:1.创建一...

科技区软件类AI博主 🔍 专注 AI 工具测评 / 前沿产品深度拆解 / 行业趋势预判 🚫 拒绝科技玄学,只讲人话干货 —— 从工具使用到商业落地,搭建可复用的 AI 应用框架 191

【iOS】Cocoapods的安装以及使用

最近笔者在仿写天气预报App时用到了api调用数据,一般的基本数据类型我们用Xcode中自带的框架就可以转换得到。但是在和风天气api中的图标的格式为svg格式。似乎iOS13之后Xcode中可以直接使用svg格式的图片,但笔者没有查到对应的资料。笔者就调用了第三方库来使用svg格式的图片,这花了读者一天的时间才安装完成集成第三方库的Cocoapods并对其进行使用,特此写博客记录,如有不足请不吝指出至此Cocoapods的安装以及使用大概也讲的七七八八了,本博客仅供交流学习,如有不足或错误请不吝指出。

weixin_72437555的博客 9397

iOS库依赖工具CocoaPods 解析

前言 : 这篇文章将从以下几个方面去解析下Pods 这是一个技术分享的文字整理 CocoaPods是什么 CocoaPods的构成 相关文件的理解 Pod命令的理解 CocoaPods幕后发生了什么 使用小技巧 如何制作公开库 如何制作私有库 其他 1. CocoaPods 是什么 概述:  CocoaPods 是开发 OS X 和 iOS 应用程序的一个第三方库的依赖管理工具,使...

夏天然后的技术专栏 1154

iOS创建本地私有CocoaPods库

前两篇文章介绍了如何创建一个公有的CocoaPods库,并且更新版本。但有时公司的一些核心代码不想公开出去,就可以创建一个本地私有的CocoaPods库。直接进入主题,创建步骤如下:1.首先创建一个DemoProject工程,用于测试后面生成的私有库2.使用命令创建私有库,并且按照提示回答几个问题:pod lib create LTFramework 私有库使用什么语言? 私有库中是否需要包含一个d

坚持自己! 6120

iOS制作cocoaPods库

iOS制作cocoaPods库,静态库和动态库制作cocoaPods Ld .../Build/Intermediates.noindex/App.build/Release-iphonesimulator/App.build/Objects-normal/arm64/Binary/App normal arm64

wuwuFQ的博客 770
上一篇: UISplitViewController 的使用
下一篇: IOS 蓝牙技术之CoreBluetooth
I微微一笑I
博客等级 码龄11年 0粉丝 86原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值