运用组件化时,一些注意事项

1,689 阅读1分钟

1.加载图片资源

+ (UIImage *)FT_imageWithName:(NSString *)name {
    
    return [UIImage imageNamed:name inBundle:[NSBundle bundleWithURL: [[NSBundle bundleForClass:[self class]] URLForResource:@"FTCommon" withExtension:@"bundle"]] compatibleWithTraitCollection:nil];
}

2.如果项目中添加了静态库或者dependency用了静态库

执行pod lib lint还有pod spec lint时候需要加上—user-libraries选项

3.私有库之间引用是可能会出现的问题

https://stackoverflow.com/questions/27303475/cocoapods-unable-to-find-a-specification-for-privatespec-depended-upon-by-pr

4.制作swift私有库时,出现无法引用私有库代码的情况,是因为私有库的代码没有足够大的权限让你访问,需要在私有库的代码前用 public 修饰

5.更新私有库版本时,出现 [!] The repo MySpecs at ../../../../.cocoapods/repos/MySpecs is not clean, 需要更新一下我们的索引库: pod repo update MyRepo

  • pod repo push MySpecs mytool.podspec过程:
    • 验证 mytool.podspec 文件
    • 拉取远程索引库 MySpecs
    • 添加 mytool.podspec 到版本库中
    • push 到远程
  • 之后就可以检索到了

6.私有库依赖第三方库的问题(swift版本引起的)

  • 在做私有库的时候,做了依赖: s.dependency 'SnapKit'
  • 然后在验证 .podspec 文件的时候,一直SnapKit报错
  • 最后发现是swift版本的问题,最新的Snapkit是已swift4.0写的,所以修改了当前文件夹中 .swift version文件,内容由3.2修改为了4.0,就不报错了.(或者: 执行echo "4.0" > .swift-version, 会在当前文件夹中生成.swift version文件,内容是4.0)

7.在 执行pod lib lint,pod spec lint, pod repo push MySpecs MyTool.podspec 时,如果有依赖的库,可以在命令的后面加上 --sources=‘私有specs仓库地址,https://github.com/CocoaPods/Specs.git’

8.加载私有库里面的.xib文件

loading_xib

** 持续更新 **