Alamofire 库 request.swift 文件中发生错误 - 更新到 xcode 8.1 后“任务使用不明确”

Posted

技术标签:

【中文标题】Alamofire 库 request.swift 文件中发生错误 - 更新到 xcode 8.1 后“任务使用不明确”【英文标题】:error occured in Alamofire librarys request.swift file - "Ambiguous use of Task" after updating to xcode 8.1 【发布时间】:2016-11-08 10:02:59 【问题描述】:

在升级之前我已经将我的 Xcode 更新到 Xcode 8.1,它工作正常,但是在升级之后我已经将 swift 2.3 转换为 swift 3.0 并添加了更新的 alamofire 库。但是它在 Alamofire 的request.swift 文件中给出了错误。

【问题讨论】:

您应该将 alamofire 更新到最新版本 我已将 alamofire 更新到最新的 4.0 但它不起作用 【参考方案1】:

我找到了。

Request.swift >>

    NotificationCenter.default.post(
        //name: Notification.Name.Task.DidSuspend,
        name: Notification.Name(rawValue: "org.alamofire.notification.name.task.didSuspend"),
        object: self,
        //userInfo: [Notification.Keys.Tasks: task]
        userInfo: ["org.alamofire.notification.key.task": task]
    )

    NotificationCenter.default.post(
        //name: Notification.Name.Task.DidCancel,
        name: Notification.Name(rawValue: "org.alamofire.notification.name.task.didCancel"),
        object: self,
        //userInfo: [Notification.Keys.Tasks: task]
        userInfo: ["org.alamofire.notification.key.task": task]
    )

SessionDelegate.swift >>

        NotificationCenter.default.post(
            //name: Notification.Name.Task.DidComplete,
            name: Notification.Name(rawValue: "org.alamofire.notification.name.task.didComplete"),
            object: strongSelf,
            //userInfo: [Notification.Keys.Tasks: task]
            userInfo: ["org.alamofire.notification.key.task": task]
        )

编辑另一个相同的代码。可能有 4 ~ 5 个函数。

祝你好运

【讨论】:

【参考方案2】:

在我的例子中,我使用了“import Alamofire”。注释掉导入,构建,然后取消注释导入。然后重试编译。

【讨论】:

是的,对我来说,这个技巧也有效,但我还必须注释 Alamfire 代码,然后取消注释。 (因为它必须编译成功)。对我来说,当我第二天关闭并打开项目时,问题就开始了。有人解释一下为什么会这样吗?

以上是关于Alamofire 库 request.swift 文件中发生错误 - 更新到 xcode 8.1 后“任务使用不明确”的主要内容,如果未能解决你的问题,请参考以下文章

安装库 Alamofire 可能出现错误

Alamofire 库没有响应 Swift 包管理器

Cocoapods:制作 Cocoapod - 导入 Alamofire 和其他库

支持 swift 3.0 和 iOS 8.0+ 的等效 Alamofire 库

Alamofire swift 库版本 4.4 未安装在 swift 3.0.2 项目中

Alamofire 库 Void 不能转换为 Response<AnyObject, NSError> -> Void