Skip to content


조회 수 45 추천 수 0 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

안녕하세요.

 

제목처럼 비동기 네트워크 통신과 oauth토큰 리프레시 관련하여 문의드립니다.

현재 구현된 부분은 아래와 같습니다.

UrlSessionUtil.m

- (void) callRequest:(NSstring*)url {

NSURLSession *urlSession = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration] delegate:self delegateQueue:[NSOperationQueue mainQueue]];

NSURLSessionDataTask *dataTask = [urlSession dataTaskWithRequest:req completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {

// check response or token

}];

[dataTask resume];

}

 

-------------------------------------------------------------

viewController.m

UrlSessionUtil *call1 = [UrlSessionUtil new];

[call1 callRequest:url];

2

3

4

.

.

n-2

n-1

[UrlSessionUtil new] callRequest:url];

 

api통신시 위처럼 사용중에 있습니다.

oauth정책 추가로 accessToken만료시 에러코드 받아서, 갱신 처리를 해야하는데

위와 같은 비동기 통신시 처리가 너무 난해하여 문의드립니다.

 

현재 변경한 부분은 UrlSessionUtil을 singleton으로 변경 및 callRequest에서

reqeust저장 후 발송 -> accessToken 만료시 갱신 -> 갱신 성공 후 저장된 request모두 발송인데

queue에 쌓고 빼는 과정에서 뭔가 자꾸 누락된다거나 남는일이 발생하더라구요.

 

혹시 좀 더 수월한 처리 방법이 있을지요???

 

  • ?

    싱글톤 여부와는 상관 없습니다.

    request를 별도 저장해서 관리하기 보다는

    // check response or token

    부분에서 처리하는게 편합니다.

     

    // check response or token 부분의 로직

    if(invalidToken == YES) {

      [requestTokenRefresh:refreshToken completionHandler:^(....) {

        if(tokenRefreshed == YES) {

          // save accessToken

          [callRequest:url];

        } else {

          // logout or alert or ....

        }

      }];

    } else {

        // response logic

    }

  • ?
    mori 2022.10.05 16:34
    늦었지만 답변 감사합니다!

  1. iOS개발질문방 이용안내 (등록포인트:300, 답변:500, 추천: 500)

    아이폰, 아이패드 관련 개발에 대한 질문을 남겨주세요. 이게시판에 질문 등록시 300 포인트, 답변등록시 500 포인트, 추천 500 포인트 적립됩니다. 좋은 질문이나 좋은답변이라고 생각되시면 꼭! 추천해서 답변자에게 추천포인트를 전달해주세요~ 코드입력방...
    Date2015.03.01 By아이폰데브 Reply1 Views1884 Votes8
    read more
  2. 시스템 폰트 크기나 설정값을 가져올 수 있나요?

    안녕하세요. 앱 개발을 하다 검색이 잘 안되는 부분이 있어서 질문드립니다.   사용자가 설정한 OS 글꼴의 크기나 정보를 가져올 수 있는 방법이 있을까요?   카카오톡을 보니까 OS 설정을 따라가는 기능이 있더라구요. 그걸 보고 고객이 요청한 것 같은데 몇...
    Date2022.10.05 CategorySwift문법 By늦은모험 Reply1 Views26 Votes0 new
    Read More
  3. SwiftUI 맥에서 모달창띄웠을때 네비게이션 이전화면 복귀

    스유로 맥앱 개발중인데 .sheet로 모달뷰을 띄우고 그 뷰에서 navigationDestination 이나  navigationLink로 다른뷰로 이동하면 이전으로 가는 버튼이 안생기는데 해결방법이 있을까요? 타이틀바 생기는 부분에 화살표방향의 버튼이 메인뷰에는 있는데 sheet...
    Date2022.10.05 CategorySwiftUI By올레~ Reply3 Views32 Votes0 new
    Read More
  4. Swift로 만들어진 라이브러리 연동하여 사용하는 방법에 대해 질문 드립니다.

    안녕하세요    Swift로 만든 라이브러리를 연동하여 사용하고자 하는데요    빌드에는 성공했으나 실질적으로 import해서 사용하는 방법을 모르겠어서요   구글링을 해도 잘 나오지 않네요...;;   lib.a (static library) arm64-apple.ios.swiftsourceinfo arm...
    Date2022.10.04 CategoryiOS 일반 By딸기맛케익 Reply1 Views38 Votes0 new
    Read More
  5. 파이어베이스에서 데이터받아서 실시간 업데이트..

    파이어베이스에 addsnapshot리스너를 달고 업데이트 될때마다 실시간으로 컬렉션뷰에 반영해서 업데이트 하려고하는데 데이터를 받아서 리로드를 하면 꼭 저렇게 뜹니다. 데이터자체는 업데이트가 반영된걸로 나오는데 컬렉션뷰에 표시되는것만 저렇게 되네요...
    Date2022.10.03 CategoryiOS 일반 Byumtaeng Reply3 Views36 Votes0 newfile
    Read More
  6. 메인 뷰에 있는 스크롤뷰나 이미지뷰에 다른뷰의 화면을 올리고 싶습니다.

    이런식으로 화면을 불러와서 호출하고 싶은데 뷰컨트롤러가 올라가지 않습니다.
    Date2022.10.02 CategoryiOS 일반 Bywagrano0o Reply5 Views40 Votes0 updatefile
    Read More
  7. 스크롤뷰에 가로로 뷰를 3~4장 정도 호출하려 하는데 막힙니다.

    뷰에서 다른 뷰는 호출이 불가능한가요??   뷰를 이미지화 시켜도 불러와 지지 않습니다.   아니면 다른 방법 있을까요?    
    Date2022.09.30 CategoryiOS 일반 Bywagrano0o Reply3 Views47 Votes0 update
    Read More
  8. 스토리보드 Safe Area와 View 크기에 대한 질문 드립니다

       안녕하세요 신입 개발자 입니다.    전임자가 만들던 iOS 데모 프로젝트를 받아서 수정하고 있는데 스토리보드에서 오토레이아웃이 제대로 설정되지 않아 일부 디스플레이에서 화면 상단 혹은 하단 창이 깨지는 현상이 발생하고 있습니다.    특히 일부 뷰...
    Date2022.09.29 CategorySwiftUI BySpencer Reply4 Views48 Votes0 file
    Read More
  9. 환율 인상 관련 구독 서비스 중인 앱 운용 고충

    안녕하세요.  이번 환율 인상으로 티어가 전반적으로 변경이 되는 것에 대응하고 있는데,  문의를 해봐도 시원하게 답변이 돌아오지를 않아서,  혹시나 저와 같은 고민을 하실 개발자님들, 혹시 계실까 하여 질문/공유 글을 올립니다. 인앱결제에 관한 사항은 ...
    Date2022.09.29 CategoryiOS 일반 By라임허브 Reply0 Views44 Votes2
    Read More
  10. 푸쉬알람 수신시 동작하는 이벤트 핸들러가 궁금합니다

    안녕하세요  푸쉬 수신하면 뱃지를 증가시켜야 하는데 계속 1 로만 뜹니다   {     "Simulator Target Bundle" : "",     "aps" : {         "alert" : {             "title" : "",             "body" : "",         },         "badge" : 1,     }, }   aps...
    Date2022.09.28 CategoryObjective-C By애플아 Reply1 Views45 Votes0 update
    Read More
  11. iCloud 자동삭제 CKRecord 옵션에 대해 궁금한점이 있습니다.

      There is a hard limit to the number of references with a CKRecord.ReferenceAction.deleteSelf action that any one record can have. This limit is 750 references, and any attempt to exceed it results in an error from the server.   여기서 참조...
    Date2022.09.27 Category데이타베이스 By올레~ Reply0 Views19 Votes0
    Read More
  12. Plist 다국어설정 질문입니다.

    안녕하세요. 다국어 관련해서 설정을 하고있는데요.   InfoPlist 파일에 Localization은 되어있는 상태입니다.   그리고 앱스토어에 설정되어있는 국가별로 분기는 잘 타져서 띄워지는것 같은데요.   언어프리셋을 앱 재부팅이나 재설치없이 바꿀수 있는 방법...
    Date2022.09.27 CategorySwift문법 By늦은모험 Reply0 Views45 Votes0
    Read More
  13. Lottie 저작권 관련 질문

    Lottie에 있던 작품을 프로젝트에 적용하여 개발하다 AppStore에 배포하고 싶어졌는데 Public으로 올라와 있던 작품이었는데 저작권 위반인가요? 원작자에게 물어보고 싶은데 연락을 할 방법이 없어서요 ㅠ
    Date2022.09.25 CategoryiOS 일반 By김봉밥 Reply1 Views96 Votes0
    Read More
  14. 뒤로가기 버튼 관련 문의

    안녕하세요.   navigation에 있는 뒤로가기 버튼을 webview의 뒤로가기 기능으로 넣고, webview의 처음화면일 경우 navigation 뒤로가기 기능을 구현하려고 합니다. UIBarButtonItem으로 구현을 했는데요, 뒤로가기 이미지가 navigation 뒤로가기와 동일하게 ...
    Date2022.09.22 CategoryiOS 일반 By유태훈 Reply0 Views64 Votes0
    Read More
  15. 유지보수 위해 폴더를 받았습니다.

    workspace폴더 안에 프레임워크가 빨간색이던데    프레임워크 폴더만 다시 받으면 되는건가요?   파일 어디에도 없습니다.
    Date2022.09.20 CategoryXcode Bywagrano0o Reply2 Views43 Votes0
    Read More
  16. 비동기 통신 중 oauth토큰 리프레시 관련 문의드립니다.

    안녕하세요.   제목처럼 비동기 네트워크 통신과 oauth토큰 리프레시 관련하여 문의드립니다. 현재 구현된 부분은 아래와 같습니다. UrlSessionUtil.m - (void) callRequest:(NSstring*)url { NSURLSession *urlSession = [NSURLSession sessionWithConfigurat...
    Date2022.09.20 Category네트워크 Bymori Reply2 Views45 Votes0 update
    Read More
  17. WKWebView에 로컬 비디오 파일 전송 또는 재생

    안녕하세요.     웹뷰에 움직이는 배경화면을 css로 구성하고, 영상은 디바이스에 있는 파일을 불러오려고합니다.     일단.. 네트워크를 통해 비디오를 받아오지않는게 핵심인데요.     구글에 검색해도 마땅히 나오는게 없네요.. 혹시 키워드를 어떻게 잡아...
    Date2022.09.20 CategorySwift문법 By김정훈 Reply2 Views57 Votes0
    Read More
  18. 로그인 된 애플 계정의 국가를 알 수 있나요?

    앱을 설치하고 열었을때 로그인된 애플 계정의 국가를 알 수 있나요? 있다면 방법 알려주세요!   디바이스의 시스템 언어가 아닌 애플아이디의 국가 설정 입니다!
    Date2022.09.19 CategoryiOS 일반 By여러가지개발 Reply0 Views57 Votes0
    Read More
  19. DateFormatter() 관련 문의 드립니다.

    안녕하세요.   DateFormatter()를 이용해서 날짜형식을 출력하려고 합니다. "yyyy. MM. dd hh:mm a" 형식으로 출력을 해야 하는데요,  아래 이미지처럼 구현하면 출력이 잘 됩니다.   그런데 아래 이미지처럼 하면 원하지 않는 형태로 출력이 됩니다. hh가 24...
    Date2022.09.19 CategorySwift문법 By유태훈 Reply5 Views57 Votes0 file
    Read More
  20. dismiss all view controllers

    안녕하세요.  현재 UITabBarController - mainVC(storyboard:main) -> present -> secondVC(storyboard:popUP) -> present                -> ThirdVC(storyboard:main)된 상황입니다. 여기서 메인화면으로 돌아가려고 하는데, 모든 뷰 컨트롤러를 해제하는 방...
    Date2022.09.19 CategoryiOS 일반 ByDev_Kim Reply2 Views66 Votes0
    Read More
  21. ATT권한 메시지 안나오는 이유

    안녕하세요  앱에 광고를 추가하려면 ATT 권한을 추가해야 한다고 해서 추가를 했습니다.     근데 메시지가 안나오네요  혹시 왜 그러는지 아시는 분 계신가요?   다른 프로젝트를 새로 파서 똑같이 했을땐 아래와 같이 메시지가 잘 뜹니다.    
    Date2022.09.18 CategoryiOS 일반 ByDeque Reply1 Views55 Votes0 file
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 130 Next
/ 130

미답변질문들

아이폰데브 미답변질문들

운영진홈페이지

미노웍스 홈페이지

불편사항접수

아이폰데브 불편사항접수

오픈채팅방

후원하기

아이폰데브 후원명단
아이폰데브 후원하기

메일링리스트

아이폰데브 뉴스레터

아이폰데브 모바일앱

아이폰데브 모바일앱

Socail Media

 
© 2010 ~ 2022 아이폰데브. All Rights Reserved.

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소