美文网首页
修改工程名,pod报错ld: library not found

修改工程名,pod报错ld: library not found

作者: LX2014 | 来源:发表于2017-02-15 12:44 被阅读140次

工程原名为CloudMall->XXX后

ld: library not found for -lPods-CloudMall

clang: error: linker command failed with exit code 1 (use -v to see invocation)

这样需要在Build Phases -> Link Binary With Libraries里删除libPods-CloudMall.a.

报错:xxx target has frameworks with conflicting names:xx.framework

在podfile中删除xx.framework的引用  pod install ,此时会removing掉原来的xx.framework,再重新添加,然后install。就可以了。

cocoapod私有库:

参考:http://www.jianshu.com/p/d6a592d6fced

在gitlab上创建了LXPodSpec仓库

1, pod repo add LXSpecs http://10.20.101.5/leix/LXPodSpec.git

执行后repos中多了LXSpecs文件夹(pod repo查看)

2,在桌面或文档中执行 pod lib create NCKFoundation(生成文件夹,包含demo,这个文件夹和远程code仓库匹配)

3,验证本地 pod lib lint --allow-warnings --verbose 本地验证成功

4,上传(pod lib create NCKFoundation创建的)工程文件到gitlab上的仓库中。并打tag与Specs文件中相同,修改source 为gitlab路径。

5,远程验证:pod spec lint --allow-warnings --verbose

6,在podspec所在目录执行: pod repo push LXSpecs NCKFoundation.podspec  --allow-warnings --verbose 本地文件夹和远程都有了NCKFoundation.podspec文件(注意pod中用了第三方,包含.a文件会报错:- ERROR | [iOS] Encountered an unknown error (The 'Pods' target has transitive dependencies that include static binaries: 需要添加参数--use-libraries)。

7,测试Example时要用pod install Example中的Podfile。

20170330更新(任意目录)自定义的指定仓库:pod repo update OkdeerSpecs(注意OkdeerSpecs本地的cocoaPods下repos中的自定义仓库)

如果某个库版本冲突,如友盟分析库,先在podfile中删掉,install后再添加重新install

自制pod库同事更新后,到了1.0.1版本,而自己本地还是1.0.0版本,那么更新项目工程代码后,podfile本地还是1.0.0。修改为1.0.1后,更新会因本地的repos中的自己仓库没有1.0.1版本,会报None of your spec sources contain a spec satisfying the dependency: `Okdeer-CommonLibrary (~> 0.0.17)`错误。在任意目录里执行:pod repo update OkdeerSpecs  就会更新OkdeerSpecs中的版本库,cd ~/.cocoapods/repos/OkdeerSpecs/ 查看就会有1.0.1版本了.

相关文章

网友评论

      本文标题:修改工程名,pod报错ld: library not found

      本文链接:https://www.haomeiwen.com/subject/mukqwttx.html