我正在通过 XCode 7.2.1 构建一个命令行项目,该项目使用 Cocoapods 作为其依赖项。它所依赖的框架是在“DerivedData”文件夹中生成的,并且构建了主项目,但是当我运行应用程序时出现错误:
dyld: Library not loaded: @rpath/Alamofire.framework/Versions/A/Alamofire
Referenced from: /Users/myuser/Library/Developer/Xcode/DerivedData/myproject-aidrwlylcmipvrckcfcztpjjkxab/Build/Products/Debug/myproject
Reason: image not found
框架版本/A下的文件树:
_CodeSignature
CodeDirectory
CodeRequirements
CodeResources
CodeSignature
Frameworks
Headers
Pods-avsubtitleswriter-umbrella.h
Modules
module.modulemap
Pods_avsubtitleswriter
Resources
Info.plist
已尝试使用 Cocoapods 0.39.0 和 1.0.0beta,在 XCode 中我使用的是 .xcworkspace。
查看 Pods 项目,在产品下我看到红色的 Alamofire.framework 和黑色的 Pods_myproject.framework,是否有任何指示?
此外,我们是否需要签署我们依赖的库?
最佳答案
看起来这个问题是由于“每个配置构建产品路径”的默认设置 $PODS_SHARED_BUILD_DIR/Alamofire
引起的,这与项目认为框架应该在的地方发生冲突(框架指向另一条路径)。将值简单地更改为 $PODS_SHARED_BUILD_DIR
解决了构建问题,因为这两个位置最终是相同的。
在此之前,除了 pod install
和构建工作区之外,我没有做任何其他事情。
请注意,一旦我解决了这个问题,我确实需要将以下路径添加到“运行时搜索路径”:
/System/Library/CoreServices/MRT.app/Contents/Frameworks/
似乎被 issue #4963 覆盖了
关于xcode - Cocoapods 依赖和 "Library not loaded ... image not found",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35732773/