Giter Club home page Giter Club logo

naveridlogin-sdk-ios's Introduction

Naver ID Login SDK for iOS

iOS용 네이버 ID 로그인 라이브러리 및 예제 프로젝트를 포함하고있습니다.
자세한 내용은 개발자 센터 튜토리얼에서 확인하실 수 있습니다.

샘플앱 실행 방법

pod try naveridlogin-sdk-ios

Podfile 적용

pod 'naveridlogin-sdk-ios'

Installation

Swift Package Manager

To integrate NaverThirdPartyLogin into your Xcode project using Swift Package Manager, follow these steps

License

See LICENSE for full license text.

Copyright 2017 Naver Corp.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

naveridlogin-sdk-ios's People

Contributors

hanbin-kim avatar reflect87 avatar topkim993 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

naveridlogin-sdk-ios's Issues

프로필 조회

샘플앱에 프로필 조회하는 요청url 부분이
https://apis.naver.com/nidlogin/nid/getUserProfile.xml
이걸로 되어있는데, contenttype을 json으로 설정해줘도 xml로 반환되네요?

튜토리얼(https://developers.naver.com/docs/login/profile/ )에서는 요청 url이
https://openapi.naver.com/v1/nid/me
이것으로 되어있는데, 이것은 json으로 반환되구요.

특별히 샘플앱에서 첫번째 url로 작성하신 이유가있나요?
둘중에 하나가 deprecate되서 그런가요?

THIRDPARTYLOGIN_RECEIVE_TYPE.CANCELBYUSER always returned on iOS-running-on-M1-mac

SDK version: 4.1.5;
Host app: iOS app running on M1 mac (Apple Silicon) Ventura 13.4.1;
Xcode version: 14.2;
Reproduce step:

  • call NaverThirdPartyLoginConnection.requestThirdPartyLogin();
  • a popup is presented, displaying: "My App" Wants to use "naver.com" to Sign In;
  • click Continue button;
  • delegate method -oauth20Connection(_ oauthConnection:didFailAuthorizationWithReceive:) get called with receiveType equals to CANCELBYUSER;

This issue only happens on M1 mac. Everything works as expected on iPhone/iPad;

Command PhaseScriptExecution failed with a nonzero exit code

Stripped /Users/jangjinhyeog/Library/Developer/Xcode/DerivedData/beauket-aovymeokscfmzedgudszpmmcpehv/Build/Products/Debug-iphoneos/beauket.app/Frameworks/NaverThirdPartyLogin.framework/NaverThirdPartyLogin of architectures: armv7 i386 x86_64 Code Signing /Users/jangjinhyeog/Library/Developer/Xcode/DerivedData/beauket-aovymeokscfmzedgudszpmmcpehv/Build/Products/Debug-iphoneos/beauket.app/Frameworks/NaverThirdPartyLogin.framework with Identity Apple Development: jungsuk kim (88Y9Z3U74P) /usr/bin/codesign --force --sign CC519E24BEBB1C043AAF86A880DA58A026AFB574 --preserve-metadata=identifier,entitlements ‘/Users/jangjinhyeog/Library/Developer/Xcode/DerivedData/beauket-aovymeokscfmzedgudszpmmcpehv/Build/Products/Debug-iphoneos/beauket.app/Frameworks/NaverThirdPartyLogin.framework’ /Users/jangjinhyeog/Downloads/beauket-ios-main/Pods/Target Support Files/Pods-beauket/Pods-beauket-frameworks.sh: line 42: source: unbound variable Command PhaseScriptExecution failed with a nonzero exit code

빌드시 이런 에러가 뜹니다 어떻게 해결해야할까요...

Support Apple third-party SDK requirements - new privacy manifests and signatures

Hi @reflect87 @HanBin-Kim,

We kindly request your assistance in providing us with an update for the SDK. As you may be aware, Apple introduced new privacy manifests and signatures for SDKs at WWDC23. These changes aim to raise awareness about how third-party SDKs handle user data. Starting in spring 2024, there will be certain commonly used SDKs that will require a privacy manifest and signature when submitting new apps or app updates to the App Store. For more details and the complete list of affected SDKs, please refer to Apple's announcement at the following URL: Apple Announcement - Third-Party SDK Requirements(https://developer.apple.com/support/third-party-SDK-requirements/). We appreciate your prompt attention to this matter. Thank you.

Best regards,
Allen Lee

SPM 미지원 이슈

@HanBin-Kim
#21 이 닫혀서 다시 엽니다.
981b05b 에서 정의된 Package.swift 에 target 만 추가되어있고 products 가 빠져있어 라이브러리 임포트가 불가능합니다.

let package = Package(
    name: "naveridlogin-sdk-ios",
    products: [.library(name: "NaverThirdPartyLogin", targets: ["NaverThirdPartyLogin"]),]
    targets: [
        .binaryTarget(name: "NaverThirdPartyLogin", path: "NaverThirdPartyLogin.xcframework")
    ]
)

이런식으로 정의해주셔야 외부에서도 사용 가능할 것 같네요

Failed to verify bitcode

Xcode 9.1 을 사용하고 있습니다. archive 시에 다음의 오류가 발생합니다. bitcode 활성화가 필요해보입니다. Build Setting 에서 Enable Bitcode 를 YES 로 활성화해도 문제는 해결되지 않습니다.

Failed to verify bitcode in NaverThirdPartyLogin.framework/NaverThirdPartyLogin:
error: Bundle only contains bitcode-marker /var/folders/8g/sc91gmp14s91pxvs98kwp9rh0000gn/T/XcodeDistPipeline.Rw7/Root/Payload/Abc.app/Frameworks/NaverThirdPartyLogin.framework/NaverThirdPartyLogin (armv7)

iOS9.0, NaverSDK 4.0.12 에서 인앱 브라우저로 로그인 시도시 빈페이지 뜨는 이슈

특정 디바이스에서 로그인 시도시 인앱 브라우저에서 빈페이지가 노출되는 이슈가 있습니다.
iPad Air 2, iPad 2 디바이스의 iOS가 9.0 버전일 경우에 네이버 앱이 깔려있지 않아 인앱 브라우저로 로그인 시도시 웹페이지가 빈페이지로 보입니다.
상단의 로딩 바는 제대로 동작하는 것 같으나 실제 페이지는 노출이 되지 않습니다.

해당 이슈에 대해 포럼에 자세히 올려두었으니 확인 부탁드립니다.
https://developers.naver.com/forum/posts/28051

네이버 로그인 iOS SDK에서 로그인 화면에서 취소 버튼 클릭시 콜백없는 이슈

  • 오류 현상:

    • 네이버 로그시에 노출되는 ASWebAuthenticationSession 또는 SFAuthenticationSession의 팝업에서 취소 버튼 클릭 시 콜백이 오지 않는 이슈
    • SafariViewController가 노출되면 좌측 상단에 취소 버튼 클릭 시 콜백 오지 않는 이슈
  • 짐작되는 원인:

self.webAuthenticationSession = [[ASWebAuthenticationSession alloc] initWithURL:[NSURL URLWithString:URL]
                                                                   callbackURLScheme:[self URLScheme]
                                                                   completionHandler:^(NSURL * _Nullable callbackURL, NSError * _Nullable error) {
            if (error == nil) {
             
                
            } else {
                if (error.code == ASWebAuthenticationSessionErrorCodeCanceledLogin) {
**// 여기 부분에서 콜백을 caller한데 넘기지 않는 것으로 예상됨**
                } else {

                }
            }
        }];
        
        if (@available(iOS 13.0, *)) {
            [self.webAuthenticationSession setPresentationContextProvider:self];
        }
        
        [self.webAuthenticationSession start];
				
self.authenticationSession = [[SFAuthenticationSession alloc] initWithURL:[NSURL URLWithString:URL]
                                                                callbackURLScheme:[self URLScheme]
                                                                completionHandler:^(NSURL * _Nullable callbackURL, NSError * _Nullable error) {
            if (error == nil) {
                
                
            } else {
                if (error.code == SFAuthenticationErrorCanceledLogin) {
                    **// 여기 부분에서 콜백을 caller한데 넘기지 않는 것으로 예상됨**
                } else {
                    
                }
            }
        }];
        [self.authenticationSession start];

May provide M1 support SDK?

Hi naver development team,

May provide M1 support SDK? our project is blocked to do development on M1 machine.

Currently naveridlogin-sdk-ios SDK lack of architecture for arm64 simulator, so it's unable to do development with M1 macBook.

Please help to release your SDK with M1 architecture machine, the SDK should auto contain arm64 simulator.

Thanks and regards,
Allen

use NaverThirdPartyLogin.framework can't upload to AppStore

The old SDK contains uiwebview and has system bugs. When we use the naverthirdpartylogin.framework of GitHub, we find that the upload Appstore reports errors, including the unsupported architectures i386 and x86 ʄ. I hope it can be fixed. Thank you.

Need static Framework

Hi, can you generate a static library, because dynamic libraries cannot be placed in the SDK,thank you

iOS 9 in-app browser login issue.

iOS 11 has no problems. but, iOS 9 and 10 can not sign-in(or up).

Does not called any NaverThirdPartyLoginConnectionDelegate methods when I called the func requestThirdPartyLogin method.

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
  //  url -> [APP_SCHEME]://authorize?code=blahblah...
  //  url -> [APP_SCHEME]://thirdPartyLoginResult?code=blahblah...
  //  success and then?
}

Reason: image not found 오류

pod 로 dependency를 설정 후 실행시

dyld: Library not loaded: @rpath/NaverThirdPartyLogin.framework/NaverThirdPartyLogin
Reason: image not found

에러가 뜹니다. 이 문제는 어떻게 해결해야 하나요? 앱 삭제후 재설치 한 뒤 첫 실행시에만 에러가 뜨지 않고 두번째 부터는 이 에러가 뜨고 있습니다.

about UIWebView

"Has the Naver SDK for iOS replaced UIWebView with WKWebView? I am still able to detect references to 'UIWebView' using grep -r 'UIWebView'."

Need a static framework

As the title mentioned, why not provide a static framework? When I optimize App's launch time, I found dynamic had a negative effect. So a static framework is needed, wish you accept that!

redefinition of 'SUCCESS' as different kind of symbol

안녕하세요.

다른 라이브러리에서 이름 값 중복으로 선언 되어 있어 아래와 같은 오류를 보냅니다.
redefinition of 'SUCCESS' as different kind of symbol

사용하는 라이브러리
react-native-appsflyer

충돌하는 부분
appsflyer

static NSString *const SUCCESS  = @"Success";

naver login

typedef enum {
    SUCCESS = 0,  // <-- 여기
    PARAMETERNOTSET = 1,
    CANCELBYUSER = 2,
    NAVERAPPNOTINSTALLED = 3 ,
    NAVERAPPVERSIONINVALID = 4,
    OAUTHMETHODNOTSET = 5,
    INVALIDREQUEST = 6,
    CLIENTNETWORKPROBLEM = 7,
    UNAUTHORIZEDCLIENT = 8,
    UNSUPPORTEDRESPONSETYPE = 9,
    NETWORKERROR = 10,
    UNKNOWNERROR = 11
} THIRDPARTYLOGIN_RECEIVE_TYPE;

in iOS13 work error.

SDKversion:4.4.2
when vc is present viewController.

[[NCSDKManager getSharedInstance] setParentViewController:vc];
will work erorr.

  1. unfounded close-button .
    2.main-view can't again open when close the view.

NaverThirdPartyLoginConnectionDelegate 프로토콜 method 중에 오탈자

  • (void)oauth20Connection:(NaverThirdPartyLoginConnection *)oauthConnection didFailAuthorizationWithRecieveType:(THIRDPARTYLOGIN_RECEIVE_TYPE)recieveType;
  • (void)oauth20Connection:(NaverThirdPartyLoginConnection *)oauthConnection didFinishAuthorizationWithResult:(THIRDPARTYLOGIN_RECEIVE_TYPE)recieveType;

recieveType -> receiveType

SUCCESS가 enum으로 지정되어 있어서 다른 서드파티에서 충돌이납니다.

typedef enum {
    SUCCESS = 0,
    PARAMETERNOTSET = 1,
    CANCELBYUSER = 2,
    NAVERAPPNOTINSTALLED = 3 ,
    NAVERAPPVERSIONINVALID = 4,
    OAUTHMETHODNOTSET = 5,
    INVALIDREQUEST = 6,
    CLIENTNETWORKPROBLEM = 7,
    UNAUTHORIZEDCLIENT = 8,
    UNSUPPORTEDRESPONSETYPE = 9,
    NETWORKERROR = 10,
    UNKNOWNERROR = 11
} THIRDPARTYLOGIN_RECEIVE_TYPE;

NaverThirdPartyConstantsForApp

static NSString *const SUCCESS                      = @"Success";

Another App

redefinition of 'SUCCESS' as different kind of symbol

혹시 좋은 해결방법이 있을까요?

xcframework - MacCatalyst 지원 요청

xcframework - MacCatalyst 지원 요청
드립니다.

mac용 프레임워크가 빠져 있어서 맥 카탈리스트에서 네이버 로그인을 할 수 가 없네요.

Scheme 오류

NaverThirdPartyConstatnsForApp.h 파일에서 kServiceAppUrlScheme 상수값, 즉 scheme 에 대해서 문제가 있는 것 같습니다. 앱에서 네이버 앱으로 인증할 때와 사파리 뷰컨트롤러로 인증할 때에 차이가 있습니다. 등록된 scheme 이 "Abc" 일 때, 사파리 뷰컨트롤러로 인증하면 콜백으로 받는 url 의 scheme 이 "abc" 입니다. 대문자 A 가 소문자 a 로 바뀝니다. 따라서 사파리 뷰컨트롤러에서 네이버 로그인을 한 뒤에 액션(화면 이동)이 이어질 수 없는 문제가 있습니다.

SPM 미지원 이슈

안녕하세요

네아로 SPM 지원해주시면 정말 좋을 것 같은데 별도의 계획이 있으신지 궁금합니다.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.