苹果手表http请求

Rom*_*ish 2 swift apple-watch watchkit watchos-2

使用导入,我可以将此模块用于iPhone,但不能用于Apple Watch应用程序。我也想使用此库编写Apple Watch应用程序。可能吗?如果可能的话,怎么办?如果无法解决,您能否提供替代方法?

预先感谢

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

}
Run Code Online (Sandbox Code Playgroud)

vkh*_*nar 6

Apple Watch中的示例Http请求。

在关键的iPhone应用程序的info.plist和watchkit扩展程序的info.plist下面包括

    <key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>
Run Code Online (Sandbox Code Playgroud)

在您的pod文件中,将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
Run Code Online (Sandbox Code Playgroud)

创建您的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)
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

现在,您可以在代码中的某处调用此方法,

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

希望这可以帮助 !!!