尝试Alamofire时找不到迦太基符号

时间:2019-09-25 13:44:18

标签: swift alamofire carthage alamofireimage

我正在尝试Carthage,并且认为raywenderlich博客文章非常好。因此,我下载了入门项目,然后设置了Carthage设置,然后将Alamofire.frameworkAlamofireImage.framework文件拖放到Frameworks, Libraries and Embedded Content中。然后,我添加run script,即/usr/local/bin/carthage copy-frameworks,然后将输入文件添加为框架的路径。

$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework
$(SRCROOT)/Carthage/Build/iOS/AlamofireImage.framework

当我清理并运行项目时,它将显示在

dyld: Symbol not found: _$s9Alamofire14SessionManagerCN
  Referenced from: /Users/fiyuu/Library/Developer/CoreSimulator/Devices/E42E9DED-5A99-44C8-A0EB-0FF765CB8FB3/data/Containers/Bundle/Application/C102F9B5-402A-40F3-A450-B0D420A7722D/DuckDuckDefine.app/Frameworks/AlamofireImage.framework/AlamofireImage
  Expected in: /Users/fiyuu/Library/Developer/CoreSimulator/Devices/E42E9DED-5A99-44C8-A0EB-0FF765CB8FB3/data/Containers/Bundle/Application/C102F9B5-402A-40F3-A450-B0D420A7722D/DuckDuckDefine.app/Frameworks/Alamofire.framework/Alamofire
 in /Users/fiyuu/Library/Developer/CoreSimulator/Devices/E42E9DED-5A99-44C8-A0EB-0FF765CB8FB3/data/Containers/Bundle/Application/C102F9B5-402A-40F3-A450-B0D420A7722D/DuckDuckDefine.app/Frameworks/AlamofireImage.framework/AlamofireImage

即使我不导入也不使用Alamofire,它也会失败。

然后我尝试通过其他问题解决此问题,并且在this link中,它认为必须添加Foundation.framework。所以我尝试了一下,但是对这个问题没有影响。

Xcode Version: Version 11.0 (11A420a)

那么您对这个问题有任何想法吗?也许我必须添加额外的标记以进行构建还是其他? Referenced from库和Expected in似乎安装不成功,是否可以通过重新构建框架来解决?

谢谢

1 个答案:

答案 0 :(得分:0)

我通过使用Alamofire依赖关系解决了我的问题,而没有在Cartfile中指定任何目标或版本。

该错误从github "Alamofire/Alamofire" "5.0.0-rc.2"行开始,在新的Alamofire中,您可以将其与AF.request(...)一起使用,并且此版本无法为我成功生成框架。

因此,我仅用github "Alamofire/Alamofire"更改行,然后更新了Carthage,因此对我来说效果很好。