티스토리 뷰

NHN에서는 네이버 아이디로 로그인하는 API를 제공한다.

https://nid.naver.com/devcenter/main.nhn


내가만드는 앱은 네이버 채널링 로그인을 지원해야하기 때문에 반드시 네이버 연동이 필요했다.


내가 했던 뻘짓을 생각하니 분노가 치밀어올라서 미리 적어두기로 한다.

친절하게 설명하겠다.


1. https://nid.naver.com/devcenter/docs.nhn?menu=IOS 여기 들어가서 iOS용 라이브러리를 받는다

본인은 4.1.4 버전과 4.1.4-sample을 다운로드 받았다.



라이브러리를 까보면 ThirdpartyModule 폴더가 있다.여기있는걸 내 프로젝트에 넣어야한다.




여기있는것들은 하나빼고 다 폴더 있던것들이다.

그 뭐냐 넣을때 필요하면 복사하기 체크박스 있는데 그거 꼭 체크한다.


제일밑에 askerMagicbox-Bridging-Header.h 가 보이는데


여기서 내 고통이 시작된다.


Swift에서 오브젝티브 씨를 사용하려면 적당히 알아먹도록 설정을 해줘야하는데 그게 브릿징 헤더라는거다.


요거를 만들어서



저렇게 임포트 해주면 저 네이버 써드파티 로그인 라이브러리를 사용할 수 있는거다.


근데 저파일을 만드는법을 배워야되는데

좀 짱난다



새파일 만들기를 하면서 오브젝티브 씨 파일을 하나 만들면 브릿징 헤더를 만들겠냐고 물어볼텐데 그때 잽싸게 오케 눌르면 저 파일을 만들어준다.


뭐 구글링해보니 뭐 이래저래 만드는법이 있으니 뭐 맘대로 만들면 된다. 여튼 저게 있어야된다.


'생각해보니 코드는 걍 써줘야 긁어가기 편하겠지?

 func naverLogin(viewController:UIViewController){

        

        var thirdConn = NaverThirdPartyLoginConnection.getSharedInstance()

        thirdConn.setOnlyPortraitSupportInIphone(true)

        thirdConn.isNaverAppOauthEnable = false

        thirdConn.isInAppOauthEnable = true

        thirdConn.appName = kServiceAppName

        thirdConn.serviceUrlScheme = kServiceAppUrlScheme

        thirdConn.consumerKey = kConsumerKey

        thirdConn.consumerSecret = kConsumerSecret

        thirdConn.delegate = self

        

        loginViewController = viewController

        let preferences = NSUserDefaults.standardUserDefaults()


        preferences.setBool(true, forKey: "isNaverLogin")

        preferences.synchronize()

        

        

        let tlogin = NaverThirdPartyLoginConnection.getSharedInstance()

        tlogin.requestThirdPartyLogin()


    }


사용설명서를 보면 인스턴스를 만들어서 몇가지 설정을 해주라고 써있다.

근데 내가  오브젝티브  씨 신텍스를 알턱이 있나.


저렇게 인스턴스 만들고 하면 된다.


그밖에 설명서보면 인앱브라우저 확인버튼 뭐 어쩌구 설정하는거 있는데


그건 대충 해보면 된다.



댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함