一、推送私有库时候忽略警告
// pod repo push 私有索引库名称 spec名称.podspec
pod repo push xxx spec xxx.podspec --allow-warnings --verbose
// --allow-warnings : 允许 警告,有一些警告是代码自身带的。
// --use-libraries : 私有库、静态库引用的时候加上
// —verbose : lint显示详情
二、框架中如果使用Xib加载crash的情况
出现通过mainBundle加载不了,无法获取Xib
[NSBundle bundleForClass:[self class] 获取bundle
// 这样之后,无论是通过copy文件夹方式还是CocoaPods下载安装的方式,都能正常使用xib进行初始化了
三、图片无法正常显示通过ImageName
通过CocoaPods下载安装,如果xib中直接填写好的图片,则图片资源能直接显示,如果通过代码"[UIImage imageNamed:@""]"去设置的话,则图片资源根本显示不了
//改变代码图片路径
// 图片路径
#define WMCommonSrcName(file) [@"WMCommon.bundle" stringByAppendingPathComponent:file]
#define WMCommonFrameworkSrcName(file) [@"Frameworks/WMCommon.framework/WMCommon.bundle" stringByAppendingPathComponent:file]
WMCommonSrcName(file) 为通过copy文件夹方式获取图片路径的宏
WMCommonFrameworkSrcName(file) 为通过cocoapods下载安装获取图片路径的宏
之后修改代码中设置图片的方式如下:
UIImage *img = [UIImage imageNamed:WMCommonSrcName(@"image.png")]?:[UIImage imageNamed:WMCommonFrameworkSrcName(@"image.png")];
四、资源文件修改后需要clean一下,比如xib,html文件等
In Xcode, go to File->Project/Workspace settings.
Change the build system to Legacy Build system.
这样可以解决 ,改成xcode旧的构建系统。
五、error: include of non-modular header inside framework module
这个问题倒是好解决,在代码语句后面添加上 --use-libraries
pod lib lint --use-libraries
#或者
pod spec lint --use-libraries
#当然,在提交的时候也要加上
pod repo push <repoName> <podspec> --use-libraries
#此方法好像能一并解决xxx.h找不到的问题
六、MySpecs is not clean
这是pod lib lint验证通过货,提交时报的问题,可在我访问这个文件~/.cocoapods/repos/MySpecs,并把里面唯一一个license文件删干净后都还是有这个错误,然后发现好像删干净后要提交一下才行
有个解决办法是
$ pod repo update MyRepo
不过还是not clean;有效的朋友下面这段应该可以省略了~~
cd ~/.cocoapods/repos/MySpecs
#如果你没有手动删,也可以用命令删 先 ls 列出这个目录所有文件 然后执行rm -Rf 文件名
#删完后提交
git add --all .
git commit -m "remove useless files"
git push origin master
执行完后再执行提交语句就成功啦
pod push repo Myspecs xxx.podspec --use-libraries --allow-warnings
Note:这里添加了一个options就是--allow-warnings,
就是如果你的库依赖的第三方库有警告的话 终端会提示你要把这个加进去哒~
网友评论