模块'Alamofire'没有名为'request'的成员。

90

我是iOS开发的新手,按照README所说安装了Alamofire,但像其他用户一样出现了这个错误,不知道如何解决。

一只忙碌的猫


Alamofire 以不保留向后兼容版本而闻名。 - JBarros35
6个回答

398

2019年更新

如果您遇到此错误并且使用 'alamofire5' 分支,请将 Alamofire.request 更改为 AF.request


1
不错,升级到Xcode 10/swift 4.2后,AF出了问题,但这似乎已经解决了。 - GordonW
你好,你是否使用过Alamofire 5的SSL Pinning功能? - Abhishek
你有任何想法吗?如何使用Alamofire5实现它? - Abhishek
9
一份拯救生命的答案 - Yusuf Kamil AK
21
谢谢!- 多傻啊,他们需要在自述文件里写个注释,真是麻烦。 - Woodstock
显示剩余6条评论

38

如果你正在使用新的Alamofire 5.xxx,那么你将使用AF代替Almofire,就像这样。

AF.upload(multipartFormData: <#T##(MultipartFormData) -> Void#>, to: <#T##URLConvertible#>)

AF.request(<#T##url: URLConvertible##URLConvertible#>)

AF.download(<#T##url: URLConvertible##URLConvertible#>)

12

我通过更改“仅构建活动架构”设置解决了这个问题。

在Project Explorer中单击您的项目,选择“Build Settings”,找到 Architecture 部分,并将 Build Active Architecture Only 设置为 Debug 为 Yes,Release为 No。

希望这对您有用。


2
Alamofire.xcodeproj -> 构建设置 -> 仅构建活动架构:否 ... 自从我切换到调试模式后,这对我很有用。谢谢,你救了我的一天! - Fox5150
1
我不知道为什么,但经过数小时尝试不同的方法后,这个方法奏效了,谢谢啊。 - Julio_oa
@Fox5150 在将Alamofire版本从4.8.2更改为5.1.0后遇到了这个问题,那么在发布时或API的工作中它会不会出现问题呢? - raavan199

4

Alamofire.xcodeproj -> Build Phases -> Complie Sources

如果显示(0个项目),则添加 "[+] Alamofire.swift"。

一切正常 :)


19
你能否详细阐述一下你的回答,并对你提供的解决方案进行更多描述? - abarisone

0

我找到了这个答案,它对我有用:

在从cocoapods安装后,我遇到了同样的问题。 选择Product | Clean然后Product | Build解决了它。 enter image description here 我选择了我的项目名称,然后是项目。 - 清理 Cmd+shit+K - 构建 Cmd+B 奇怪的是这对我起作用了。祝好运!


-1

没有实际的项目,很难确定问题所在。但是,您编写的代码存在问题。这段代码无法编译,因为声明了 data/string/JSON 变量。这可能是实际问题所在。请尝试以下方法,看看是否有帮助。

Alamofire.request(.GET, "http://httpbin.org/get", parameters: ["foo": "bar"])
         .response { request, response, data, error in
             println(request)
             println(response)
             println(data)
             println(error)
         }

嗨,@user3579107,你最终解决了你的问题吗?如果这个答案对你有帮助,你能标记一下吗,成为一个好的社区用户?干杯。 - cnoon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接