ios – 使用Xcode 6.1.1的静态库和cocoapods – ld:找不到库错误

前端之家收集整理的这篇文章主要介绍了ios – 使用Xcode 6.1.1的静态库和cocoapods – ld:找不到库错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
不确定它与 Xcode 6.1.1或Cocoapods 0.35.0有关.

我用Xcode 6.1.1生成了新的静态iOS库.

成功(没有cocoapods)

>生成模拟器和设备库
> Lipo到两者并生成FAT MyLib.a静态最终lib
>创建新的View Application项目. (我没有更改任何默认设置.例如Base SDK,Valid Architecture.)
>手动将MyLib.a和必要的头文件添加到应用程序项目中.
>构建应用程序项目,IT工作精细!没有错误没有警告.

错误

>上传相同的MyLib.a&标头(上面生成)到HTTP直接下载服务器(工件服务器的种类).
>生成规格& podfile.
>从我之前手动完成的app项目中删除所有依赖项(lib和header).
>添加pod文件和本地规格
>“Pod install”命令在/ Pods文件夹中正确拉出MyLib.a和标题.

但是在构建应用程序项目时给了我

Ld Build/Products/Debug-iphonesimulator/LibTest.app/LibTest normal x86_64
    cd /Users/admin/Cocoapods/Project/Library/TestProject/LibTest
    export IPHONEOS_DEPLOYMENT_TARGET=8.1

 ld: library not found for -lMyLib
 clang: error: linker command Failed with exit code 1 (use -v to see invocation)

当我在MyLib.a上发出“lipo”命令时

Architectures in the fat file: /Users/admin/Cocoapods/Project/Library/Libs/Final/MyLib.a are: armv7 armv7s i386 x86_64 arm64

它不是真正的架构问题,否则它应该在我没有cocoapods的第一次尝试失败. Cocoapods做了一些构建配置更改,这就产生了这个问题.

帮我解决这个问题.

解决方法

在花了两天时间找出确切的问题后,我发现非常愚蠢的修复.它基本上与静态库命名约定问题有关.
如果您在artifact / media http服务器中有静态库并想与Cococapods集成,请确保库名称应为lib(您的名字).a以及标题.

在我的情况下,我保留了MyLib,当“pod安装”时它已经下载,但在应用程序构建期间它失败了.
重命名为libMyLib.a后,每件事都适合我.

猜你在找的Xcode相关文章