我正在通过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,如果有什么表明的话?
此外,我们是否需要签署我们依赖的库?
答案 0 :(得分:3)
看起来这个问题是由于“每个配置构建产品路径”的默认设置是$PODS_SHARED_BUILD_DIR/Alamofire
,这与项目认为框架应该在哪里相矛盾(框架指向另一条路径) 。将值更改为简单为$PODS_SHARED_BUILD_DIR
解决了构建问题,因为这两个位置最终相同。
在此之前,除了pod install
和工作区的构建之外,我没有做任何其他事情。
注意,一旦我解决了这个问题,我确实需要将以下路径添加到“运行时搜索路径”中:
/System/Library/CoreServices/MRT.app/Contents/Frameworks/
似乎由issue #4963
涵盖答案 1 :(得分:0)