我在swift类中初始化AFHTTPSessionManager时遇到问题。我在项目中使用pod添加了AFNetworking。它显示未声明类型的错误使用。但是当我按下CMD +点击AFHTTPSessionManager时,它会把我带到正确的班级。
我在其中添加了桥接头和导入的AFNetworking.h类。我试图通过多种方式添加桥接头来解决此问题。 1-我通过创建新的头文件自己创建了桥接头类 2-我在swift项目中创建了目标c测试类,并在它要求在项目中添加桥接头时添加了桥接头。
当我尝试在我的swift类中初始化时,桥接标题也不能与我自己创建的测试类一起使用。
有人可以帮我解决这个问题吗?
答案 0 :(得分:6)
我知道痛苦......我遇到了同样的问题,试图让AFN在游乐场工作。我没有在这方面取得成功。但它确实在项目中起作用,我在此过程中学到了一些东西。
首先,我在Project的构建设置中配置桥接标头(正如您所做的那样)并导入AFN,如下所示:
#import <AFNetworking/AFNetworking.h>
其次,我设置了Pods项目构建设置&#34;定义模块&#34;是的。
然后我执行了一个简单的构建(Product - &gt; Build或Option + B)来查看它是否花了。然后我启动了模拟器。
答案 1 :(得分:0)
我能够通过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)
}
)
}
}
希望有所帮助
答案 2 :(得分:0)
除了你所做的一切,添加“use_frameworks!”标记到您的Podfile,如下所示:
target 'appName' do
use_frameworks!
pod 'AFNetworking'
end
再次运行“pod install”命令