我在swift类中初始化AFHTTPSessionManager时遇到问题。我在项目中使用pod添加了AFNetworking。它显示未声明类型的错误使用。但是当我按下CMD +点击AFHTTPSessionManager时,它会把我带到正确的班级。
我在其中添加了桥接头和导入的AFNetworking.h类。我试图通过多种方式添加桥接头来解决此问题。 1-我自己通过创建新的头文件创建了桥接头类2.我在swift项目中创建了目标c测试类,并在它要求在项目中添加桥接头时添加了桥接头。
当我尝试在我的swift类中初始化它时,桥接头也无法与我自己创建的测试类一起工作。
任何人都可以帮我解决这个问题吗?
我知道痛苦......我遇到了同样的问题,试图让AFN在游乐场工作。我没有在这方面取得成功。但它确实在项目中起作用,我在此过程中学到了一些东西。
首先,我在Project的构建设置中配置桥接头(正如您所做的那样)并导入AFN,如下所示:
#import <AFNetworking/AFNetworking.h>
其次,我将Pods Project构建设置“Defines Module”设置为Yes。
然后我执行了一个普通的构建(Product - > Build或Option + B)来查看它是否花了。然后我启动了模拟器。
除了你所做的一切,添加“use_frameworks!”标记到您的Podfile,如下所示:
target 'appName' do
use_frameworks!
pod 'AFNetworking'
end
再次运行“pod install”命令
我能够通过this链接得到它。
然后在桥接头文件中,我使用任何框架导入AFNetworking框架。我还导入了BButton.h,这是一个第三方库,它不是一个pod框架,而是我直接放入我的项目中的东西
#import "BButton.h"
#import <AFNetworking/AFNetworking.h>
然后在调用AFNetworking代码的Swift文件中,我必须导入AFNetworking而不是BButton
import UIKit
import AFNetworking
class RootViewController: UIViewController {
@IBOutlet weak var emailButton: BButton!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
// Set the icon for the email signup button
self.emailButton!.setTitle(NSLocalizedString("", comment: ""), forState: UIControlState.Normal)
self.emailButton!.setType(BButtonType.Primary)
self.emailButton!.addAwesomeIcon(FAIcon.FAEnvelope, beforeTitle: true)
let manager = AFHTTPRequestOperationManager()
manager.GET(
"http://headers.jsontest.com",
parameters: nil,
success: { (operation: AFHTTPRequestOperation!,
responseObject: AnyObject!) in
println("JSON: " + responseObject.description)
},
failure: { (operation: AFHTTPRequestOperation!,
error: NSError!) in
println("Error: " + error.localizedDescription)
}
)
}
}
希望有所帮助