이번에 server통신 관련 공부를 하다가 유용하게 사용한 라이브러리가 있어서 공유합니다.
Alamofire git주소 - GitHub - Alamofire/Alamofire: Elegant HTTP Networking in Swift
sudo gem install cocoapods
cd 프로젝트폴더
pod init
여기까지 하면 podfile이 생기는데, 첨부한 Alamofire github의 readme에 보시면 설치 방법중, podfile수정 방법이 나와있습니다. 그걸 참고 하셔서, podfile을 수정하신다음
pod install
하시면, xcode프로젝트 파일 외에, workspace파일이 생깁니다. xcode로 workspace파일을 열면 Alamofire 라이브러리를 import하여 사용할 수 있습니다.
###예제코드###
import Alamofire
func get_time()->String{
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
return formatter.string(from: Date())
}
func get_test() {
AF.request("http://127.0.0.1:8000/get/").responseJSON { response in
let responseJSON = response.value as! [String:AnyObject]
let message = responseJSON["message"] as! String
print(message + " : " + get_time())
}
}
저는 우선 django로, http://127.0.0.1:8000/get/ 로 get요청이 들어오면 json파일을 보내는 서버를 켜놨습니다. get_test()함수는 Alamofire모듈의 함수를 사용하여 get 요청을 보내고, 결과로 받은 json파일을 형변환하여, message 속성에 해당하는 데이터를 프린트 하여 통신이 잘 되고 있는지 확인하였습니다. 참고하시면 좋을 것 같습니다.
+a) 실제 ios앱 개발자 분들은 http통신을 할 때 어떠한 방법으로 구현하시나요? 처음 서버통신을 구현해 보아서, 다른 방법은 무엇이 있는지 궁금합니다.