2016-08-31 74 views
0

使用导入,我可以使用这个模块的iPhone,但不适用于苹果手表app.I也想用这个库来编写苹果手表应用程序。可能吗?如果可能的话,如何? 如果不可能,请您提供替代方案吗? HTTP请求为iPhone苹果手表http请求

在苹果手表
import Alamofire 
Alamofire.request(.GET, requestUrl, headers: self.headers(), encoding:.JSON).responseJSON 
{ 
    (rJ) -> Void in 

    let data = rJ.result.value 

    let err = rJ.result.error 

} 

回答

2

样品Http请求

由于事先

简单的例子。

包括以下关键的iPhone应用程序的Info.plist和watchkit延伸的Info.plist

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
</dict> 

在你荚文件,添加Alamofire这两个目标,即iPhone和watchkit扩展

source 'https://github.com/CocoaPods/Specs.git' 
use_frameworks! 

target 'MyApp' do 
    platform :ios, '9.0' 
     pod 'Alamofire', '~> 3.4' 
end 

target 'MyApp WatchKit Extension' do 
    platform :watchos, '2.0' 
    pod 'Alamofire', '~> 3.4' 
end 

创建你的Network.swift文件,并将“Target Membership”添加到iPhone目标和watchkit扩展目标。

样品Network.swift会,

import Foundation 
import Alamofire 

struct NetworkService 
{ 
    func executeRequest(method: Alamofire.Method,parameters:String:AnyObject]?, URLString:URLStringConvertible, completionHandler: Response<AnyObject, NSError> -> Void) 
    { 
    Alamofire.request(method, URLString, parameters: parameters,encoding: .JSON, headers: nil) .responseJSON { response in 
     completionHandler(response) 
    } 
    } 
} 

现在在你的代码什么地方可以调用此方法,

var sampleNWRequest:NetworkService = NetworkService() 
sampleNWRequest.executeRequest(.GET, parameters: nil, URLString:"your url", completionHandler: { response in 
    print(response.result.value) 
) 

希望这有助于!

+0

非常感谢! –

+0

欢迎! 但请记住,苹果正在强制使用HTTPS请求。 ATS将于2017年1月1日强制执行,适用于所有Apple平台,包括watchOS – vkhemnar

+0

为扩大上述评论,Apple已撤销授权ATS的决定,直至另行通知:https://developer.apple.com/news/?id = 12212016b –