2016-09-17 4 views
0

AFNetworking 3.0을 사용하여 서버 측 이벤트를 수신하고 그에 따라 업데이트하고 싶습니다. 여기에 정보가 있습니다. nshipster.com/afnetworking-2AFNetworking 3.0이 포함 된 서버 측 이벤트

이것은 AFNetworking 2.0입니다.

이 코드는 2.0 버전에 대한 모습입니다은

NSURL *URL = [NSURL URLWithString:@"http://example.com"]; 
AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] initWithBaseURL:URL]; 
[manager GET:@"/resources" parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) { 
    [resources addObjectsFromArray:responseObject[@"resources"]]; 

    [manager SUBSCRIBE:@"/resources" usingBlock:^(NSArray *operations, NSError *error) { 
     for (AFJSONPatchOperation *operation in operations) { 
      switch (operation.type) { 
       case AFJSONAddOperationType: 
        [resources addObject:operation.value]; 
        break; 
       default: 
        break; 
      } 
     } 
    } error:nil]; 
} failure:nil]; 

위의 코드는 I가 있지만 AFN 3.0을 사용하여 무엇을 찾고 될 것으로 보인다.

누구든지 아이디어가 있습니까?

답변

0

Server-Sent 이벤트에 대한 지원이 AFNetworking 코어에서 AFRocketClient라는 별도의 라이브러리로 먼저 이동 된 후 결국 취소되었습니다.

두 가지 가능한 솔루션 : the original AFRocketClient source repo 비록

  1. 이 닦아되었습니다, 여전히 소스를 포함 a mirror here있다. AFNetworking 3에서 그 작업을 시도 할 수 있습니다.

  2. 또는 Swift에서 SSE를 구현 한 EventSource을 살펴볼 수 있습니다.

iOS 앱에서 SSE를 너무 많이 사용하지는 않았습니다. 애플 푸시 알림 서비스는 서버 간 알림에 대한보다 일반적인 접근 방법이라고 생각합니다.

+0

도움 주셔서 감사합니다. 나는 지금 내가 조금 혼란스러워하고 내가 정확히 찾고있는 것을 설명하지 않았을지도 모른다고 생각하고 있습니다. 나는 "1"= 값 "a"키와 같은 json에 대한 이벤트 변경을 청취하고, 값이 서버 측을 "1"= 값 "b"로 변경하면 내 데이터가 app 측을 변경하고 그에 따라 업데이트합니다. – Ro4ch

+1

예, 서버가 서버 보낸 이벤트를 지원하는 경우 제공 한 솔루션 중 하나를 사용할 수 있습니다. –

+0

나는 이것들을 시험해보고 결과를 되돌려 보냅니다. 감사 – Ro4ch