2017-03-27 1 views
1

저는 스위프트 패키지 관리자와 함께 새로운 프로그램입니다. 실행 파일을 만들고 있는데, REST API에서 작업해야합니다. Alamofire를 사용하고 있기 때문에, 어떻게 추가 했나요? 내 패키지 파일Alamofire 라이브러리가 Swift Package Manager로 응답하지 않습니다.

let package = Package(
name: "CreateMenuTool", 
dependencies: [ 
    .Package(url: "https://github.com/Alamofire/Alamofire.git", majorVersion: 4) 
]) 

이제 요청을 만들면 응답이 없습니다. 그러나이 메서드는 내 XCode 프로젝트에서 사용할 때 응답합니다.

Alamofire.request(urlString, method: .post, parameters: requestParams, encoding: JSONEncoding.default, headers: ["X-Key" : webKey]).responseJSON { response in 
    print(response) 
} 

디버깅 할 때 오류가 발생하지 않고 응답이 없다는 것을 의미하는 메소드 내부에 절대 들어 가지 않습니다. 내가 잘못하고있는 곳을 알려주시겠습니까?

+0

나는이 문제를 다루고 있습니다. 어떤 답을 찾았습니까? –

답변

1

Alamofire는 비동기 요청을 사용합니다. RunLoop을 만들지 않으면 응답이 서버에서 도착하기 훨씬 전에 코드가 종료됩니다.

RunLoop.main.run() 

이 메인 RunLoop를 시작합니다 : 스크립트의 종료 전에이 줄을 추가합니다. 지정된 시간 동안 실행하려면 run에 인수를 전달할 수도 있습니다.

RunLoop.main.run(until: Date(timeIntervalSinceNow: 10)) 
관련 문제