不确定它是否与Xcode 6.1.1或Cocoapods 0.35.0有关。
我用Xcode 6.1.1生成了新的静态iOS库。
成功(不含椰子荚)
- 生成模拟器和设备库
- Lipo 到两者并生成 FAT MyLib.a 静态最终库
- 创建新的视图应用程序项目。(我没有更改任何默认设置,例如基本SDK,有效架构。
- 手动将 MyLib.a 和必要的头文件添加到应用程序项目中。
- 构建应用程序项目,它工作正常! 没有错误没有警告。
错误
- 将相同的MyLib.a和标头(上面生成)上传到HTTP直接下载服务器(一种工件服务器)。
- 生成规范和 podfile。
- 从我之前手动完成的应用程序项目中删除所有依赖项(lib 和标头)。
- 添加 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"命令时
它胖文件中的架构:/Users/admin/Cocoapods/Project/Library/Libs/Final/MyLib.a 是: armv7 armv7s i386 x86_64 arm64
不是真正的架构问题,否则它应该在我第一次尝试没有cocoapods时失败。Cocoapods 会进行一些构建配置更改,这会产生此问题。
帮助我解决此问题。
在花了 2 天时间找出确切的问题后,我发现了非常愚蠢的修复。它基本上是静态库命名约定问题的问题。如果您在 artifact/media http 服务器中有静态库,并希望与 Cococapods 集成,请确保库名称应为 lib(您的名称).a 以及标头。
就我而言,我保留了MyLib,并且目前在"pod安装"时将其下载,但在应用程序构建过程中失败了。重命名为 libMyLib.a 后,一切都对我有用。:)
非常容易应用,但很难找到这样的解决方案]
不确定cocoapods是否在任何指南中记录了这一点。