Tag: alamofire

swift 2.1 alamofire timeout方法

我有问题关于alamofire超时的方法,首先,我的英语可能不够好,让你们明白我说什么…但我会厌倦解释我的问题 在我的项目中,我使用alamofire,出于某种原因,我需要确保我的应用程序工作的连接区域不佳。 所以我想使用超时的方法。 我看到有一些人说,使用解决scheme1: let configuration = NSURLSessionConfiguration.defaultSessionConfiguration() configuration.timeoutIntervalForRequest = 2 // seconds self.alamofireManager = Alamofire.Manager(configuration: configuration) self.alamofireManager!.request(.GET, "http://example.com/") .response { (request, response, data, error) in 将解决这个问题,但在我的情况下,我看到debugging区域说我的要求是“取消” 所以我尝试了另一个我在这里看到的解决scheme(stackoverflow)解决scheme2: let manager = Alamofire.Manager.sharedInstance manager.session.configuration.timeoutIntervalForRequest = 5 manager.request(.POST, url, parameters: params, encoding: .JSON, headers: nil).response(queue: dispatch_get_main_queue()) { (Request, res, data, error) -> Void in{} 这种方法似乎应该工作,但只有当我让我的应用程序去背景和反应我的应用程序,debugging区域显示请求“超时”,否则debugging区域没有显示任何东西,除非我切换到背景和反应的应用程序。 我使用Xcode 7.1和ios […]

types不符合协议“URLRequestConvertible”与Alamofire

代码如下: enum Router: URLRequestConvertible { //Error: Type 'Five100px.Router' does not conform to protocol 'URLRequestConvertible' static let baseURLString = "https://api.500px.com/v1" static let consumerKey = "MY_KEY" case PopularPhotos(Int) case PhotoInfo(Int, ImageSize) case Comments(Int, Int) var URLRequest: NSURLRequest { let (path, parameters) : (String, [String: AnyObject]) = { switch self { case .PopularPhotos(let page): let params = ["consumer_key": […]

等待asynchronous请求结果

我想以某种方式asynchronousvalidation在ABPadLockScreen引脚,因为引脚没有保存在设备上。 我使用Alamofire和PromiseKit一起提供http请求来承诺。 我试图使用AwaitKit但问题是,我陷入僵局。 我也试图使用semaphore ,但结果是一样的。 因为我不能改变ABPadLock方法来容纳像完成处理程序这样的东西,所以我需要一些解决scheme,不pipe它是否阻塞主线程,只要它工作。 Alamofire请求方法: public func loginAsync(pinCode: String?, apiPath: String?) -> Promise<LoginResult>{ return Promise { fullfil, reject in let params = [ "Pin": pinCode! ] Alamofire.request(.POST, "\(baseUrl!)/\(apiPath!)", parameters: params).responseObject{(response: Response<LoginResult, NSError>) in let serverResponse = response.response if serverResponse!.statusCode != 200 { reject(NSError(domain: "http", code: serverResponse!.statusCode, userInfo: nil)) } if let loginResult = […]

我是否需要在dispatch_async中包装我的Alamofire调用?

func authenticate(completion:(success: Bool) -> Void) { let qos = Int(QOS_CLASS_USER_INITIATED.value) dispatch_async(dispatch_get_global_queue(qos, 0)){ () -> Void in Alamofire.request(.POST, CONSTANTS.Domain+"/accounts", parameters: ["" : ""]).responseJSON { (req, res, json, error) in dispatch_async(dispatch_get_main_queue()){ completion(success: true) } } } } 或者,我可以忽略调度并保持简单的代码吗?

Alamofire 4和JSON中的特殊字符

Alamofire 4有特殊字符的问题。 JSON包含æ,ø和å,浏览器可以很好地显示它们,我之前使用SwiftyJSON的解决scheme也是如此。 Alamofire 4展示了这样的东西: U00e6 使用此调用: Alamofire.request(specificURL, method: .get, parameters: param, encoding: URLEncoding.default, headers: nil).responseJSON { (response: DataResponse<Any>) in print(response) } 该怎么做才能解决这个问题?

如何与Alamofire 4和Swift 3一起使用代理服务器

请不要标记为重复,我还没有能够解决与现有的线程我的问题。 我试图使用我的代理服务器需要一个指定的IP的API请求。 为了debugging我的问题,我正在从web服务请求IP。 这是我现在的代码: import UIKit import Alamofire class ViewController: UIViewController { var requestManager = Alamofire.SessionManager.default override func viewDidLoad() { super.viewDidLoad() } override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(true) var proxyConfiguration = [NSObject: AnyObject]() proxyConfiguration[kCFNetworkProxiesHTTPProxy] = "http://xxx@eu-west-static-01.quotaguard.com" as AnyObject? proxyConfiguration[kCFNetworkProxiesHTTPPort] = "9293" as AnyObject? proxyConfiguration[kCFNetworkProxiesHTTPEnable] = 1 as AnyObject? let cfg = Alamofire.SessionManager.default.session.configuration cfg.connectionProxyDictionary = […]

无法从IPv6连接到IPv4错误域= NSURLErrorDomain代码= -1003“无法find具有指定主机名的服务器

我从iOS应用程序(设备)调用API到服务器时,出现以下错误。 我的设备连接到IPv6networking和API,我打电话是与IPv4networking。 我使用swift创build了应用程序,并且使用Alamofire来调用API和Reachability来检查Internet连接。 我应该怎么做呢。 请build议在下面的错误。 Request failed with error: Error Domain=NSURLErrorDomain Code=-1003 "A server with the specified hostname could not be found." UserInfo= {NSErrorFailingURLStringKey=, _kCFStreamErrorCodeKey=8, NSErrorFailingURLKey=, NSLocalizedDescription=A server with the specified hostname could not be found., _kCFStreamErrorDomainKey=12, NSUnderlyingError=0x7a08c530 {Error Domain=kCFErrorDomainCFNetwork Code=-1003 "(null)" UserInfo= {_kCFStreamErrorDomainKey=12, _kCFStreamErrorCodeKey=8}}}

在子项目(框架项目)中使用第三方窗格

我正在使用XCode 8 + Swift 3。 我创build了一个名为“ MyApp ”的新的iOS项目。 然后,我创build一个名为“MySubProject”的Cocoa touch 框架项目。 (这个想法是让MyApp项目访问MySubProject代码。) 他们在同一级别的文件夹中: – MyApp/ – MySubProject/ 我将MySubProject添加到MyApp项目中,链接了MySubProject框架。 一切工作正常。 我的项目结构如下所示: 所有作品,直到这里! (MyApp代码可以访问MyService代码) 现在,我需要MySubProject使用Alamofire与后端进行通信。 所以,在MySubProject/我设置Alamofire与CocoaPod,创buildMySubProject.xcworkspace 。 我想我需要删除以前的MySubProject.xcodeproj并使用MySubProject.xcworkspace ,所以我删除了MySubProject.xcodeproj的引用MySubProject.xcodeproj添加到MyApp ,它看起来像这样: 正如你所看到的,我现在看不到MySubProject的源代码。 在Framework子项目中通过CocoaPod使用Alamofire或任何第三方库的正确方法是什么? =====更新======我需要将Alamofire添加到MySubProject ,而不是MyApp 。 我按照Alamofire官方网站的指示手动添加Alamofire到MySubProject ,项目结构如下所示: – MyApp – MySubProject.xcodeproj -Alamofire.xcodeproj 之后,我可以访问MySubProject中的Alamofire,没有编译错误。 但是,当我在模拟器中运行我的应用程序,我得到运行时错误: Referenced from: /Users/myname/Library/Developer/Xcode/DerivedData/MyApp-hezjlyvzxnavccenabxdepgftbrg/Build/Products/Debug-iphonesimulator/Alamofire.framework/Alamofire Reason: image not found 如何解决?

API JSON&UIPageViewController可选无

好吧,我正在试图找出一个pageview滑块,它使用本教程作为基础从API中检索图像url。 我已经编码图像的asynchronous下载并将其附加到pageImages数组。 这部分工作正常。 但是,当我尝试在模拟器中运行应用程序时,收到错误消息: 致命错误:意外地发现零,而解包一个可选值 出于某种原因,在调用我的帮助器方法viewControllerAtIndex后,获取JSON对象并填充pageImages数组。 我的代码 class ViewController: UIViewController, UIPageViewControllerDataSource { var pageViewController: UIPageViewController! var pageImages = NSArray() var jsonData = NSArray() override func viewDidLoad() { super.viewDidLoad() ###THIS EXECUTES AFTER MY HELPER METHOD viewControllerAtIndex self.fetchPublishers() self.pageViewController = self.storyboard?.instantiateViewControllerWithIdentifier("PageViewController") as! UIPageViewController self.pageViewController.dataSource = self var startVC = self.viewControllerAtIndex(0) as ContentViewController var viewControllers = NSArray(object: startVC) […]

iOS:(Swift)如何显示当前位置的距离,并在注解字幕上存在注释

我目前正在使用Swift语言在iOS上开发地图应用程序。 我想build议,因为我在地图视图上绘制所有的针脚后 (我使用JSON框架从我的服务器接收数据,调用Alamofire) 我想在地图上的所有注释的副标题显示距用户当前位置的距离。 现在它可以在地图视图上添加注释,但只能根据从我的服务器接收的信息显示标题和字幕。 谢谢。