制作CocoaPods过程(四)问题汇总

在开发过程中,经常会使用到第三框架,我们通过一个pod install命令,很方便的就将第三方框架加到我们自己的项目中。

如果我们也想将自己写的组件或库开源出去,让别人也可以通过pod install命令安装自己的框架该怎么做呢?下面,我就教大家一步一步的将自己的pods发布到CocoaPods 中。如果你现在对CocoaPods还不太了解,推荐你看一看这篇文章:用CocoaPods做iOS程序的依赖管理 

近期研究CocoPods的制作,本文章为记录其制作过程以及本人所遇到的问题,以及解决方法。本文章记录本人制作的过程,如有可以修正之处,欢迎留言指教。

制作过程参考:

1.如何发布自己的开源框架到 CocoaPod 

2.CocoaPods 1.1.0上传遇到swift问题 

3.CocoaPods详解之 -- 制作篇 

主要过程如下:

一、创建自己的git仓库 

二、clone仓库到本地

三、向本地git仓库中添加创建Pods依赖库所需文件

四、提交修改文件到github

五、上传podspec文件到CocoaPods官方仓库中

六、查看我们自己创建的Pods依赖库

七、删除提交到cocoapods上的框架



篇章较长,本次介绍制作过程遇到问题以及解决办法,全部篇章如下:

制作CocoaPods过程(一)

制作CocoaPods过程(二)

制作CocoaPods过程(三)

制作CocoaPods过程(四)问题汇总


问题以及解决办法如下:

在执行pod spec lint PodName.podspec 命令时候遇到报错

也许有些地方是多余的,也贴出来给大家参考。

1.缺乏证书,新建的GitHub仓库没有选择许可证。没法,只能删了重新建(参考本文步骤一)

2.没有打tag(我也出现同样问题,暂时使用以下的示例说明发布CocoaPods组件碰到的坑与心得体会 

Validating podspec

-> XLPhotoBrowser (1.0.0)

- ERROR | [iOS] unknown: Encountered an unknown error ([!] /Applications/Xcode.app/Contents/Developer/usr/bin/git clone https://github.com/xiaoL0204/XLPhotoBrowser.git /var/folders/w1/95fypdq96l92t55frcn0yhyh0000gn/T/d20161206-1790-put1kd --template= --single-branch --depth 1 --branch 1.0.0

Cloning into '/var/folders/w1/95fypdq96l92t55frcn0yhyh0000gn/T/d20161206-1790-put1kd'...

warning: Could not find remote branch 1.0.0 to clone.

fatal: Remote branch 1.0.0 not found in upstream origin

) during validation.

[!] The spec did not pass validation, due to 1 error.

解决方式:

我是在git上面还有SourceTree上面都打了Tag,保持一致

3.swift版本不对

[!] The validator for Swift projects uses Swift 2.3 by default, if you are using a different version of swift you can use a `.swift-version` file to set the version for your Pod. For example to use Swift 3.0, run:

`echo "3.0" > .swift-version`.

或者

[!] The spec did not pass validation, due to 1 errorand 1 warning.[!] The validator for Swift projects uses Swift 3.0by default, if you are using a different version of swift you can use a`.swift-version` file to set the version for your Pod. For example to use Swift2.3, run:     `echo "2.3" > .swift-version`.

解决:

echo "3.0" > .swift-version   cd到对应文件夹路径下执行该命令

或 echo"2.3" > .swift-version

4.podspec文件配置不对。

4.1. 

 - ERROR | File Patterns: File patterns must be relative and cannot start with a slash (source_files).

解决

检查 s.source_files 对应文件地址是否正确

4.2.   有别的说法是 s.description需要这样写(我也照做了),如下

s.description = <<-DESC

          这里写你的描述内容

DESC

不能写为

s.description = <<-DESC这里写你的描述内容DESC

5. description is shorter 短于 summary.

    - WARN  | description: The description is shorter than the summary.

    - ERROR | [iOS] unknown: Encountered an unknown error (/usr/bin/xcrun

simctl list -j devices

解决:

修改  .podspec文件,把description编辑内容多于summary

6. 找不到Xcode

xcode-select: note: no developer tools were found at

'/Applications/Xcode.app', requesting install. Choose an option in the dialog

to download the command line developer tools.

) during validation.

原因:由于我的Xcode没放在Applications中造成的错误

解决:将Xcode工具拖到Applications 并确保它的名字为Xcode.app(有时候有beta版本的Xcode,记得改文件名)

7.CocoaPods  Updating

Updating spec repo `master`

[!] CocoaPods was not able to update the `master`

repo. If this is an unexpected issue and persists you can inspect it running

`pod repo update --verbose`

解决:

终端执行 pod repo update --verbose

8.cocopods加载xib文件显示不出来

我提交的代码有:  XX.h 、XX.m 、 XX.xib;通过项目podfile获取的文件都有下来,其中.xib是在Resources里面

但是运行程序,不能加载到.xib文件

这是由于bundle没找到;于是在XX.m文件中,viewDidLoad方法重新加载XX.xib文件,代码如下(同时兼容git的代码):

NSString  *Bundle_Name =@"XX.bundle";

    NSString *Bundle_Path = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:Bundle_Name];

    NSBundle* Bundle = [NSBundlebundleWithPath:Bundle_Path];

    if(Bundle)

   {

        self.view = [Bundle loadNibNamed:@"XX" owner:self options:nil].lastObject;

    }

暂时是以上的内容,后续如果有其他问题,我继续补充。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 221,576评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,515评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,017评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,626评论 1 296
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,625评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,255评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,825评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,729评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,271评论 1 320
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,363评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,498评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,183评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,867评论 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,338评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,458评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,906评论 3 376
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,507评论 2 359

推荐阅读更多精彩内容