2016-06-14 3 views
1

내 cn1 앱은 페이스 북과 Google+에서 로그인을 통합합니다. 아이폰에서 doLogn()이 호출되면 사파리 페이지가 열리고 사용자는 페이스 북이나 구글에 대한 자격 증명을 각각 입력 할 수 있습니다. 내가 직면하고있는 문제는 사용자가 앱에서 사파리로 이동하여 페이스 북이나 구글로 로그인했기 때문에 애플에 의해 앱이 거부되었다는 것이다. 애플에 따르면, 이는 사용자 경험이 좋지 않다. Apple은 Safari View Controller API를 사용하여 고객이 웹 페이지 URL 및 SSL 인증서를 확인하여 로그인 자격 증명을 입력했음을 확인할 수 있도록 앱에 포함 된 브라우저의 URL 검사 및 인증서 검사를 허용 할 것을 권장했습니다. 합법적 인 페이지.코드 명 1 Webview 구성 요소를 사용하여 페이스 북으로 로그인

코드 명 하나에 WebView 구성 요소가 있습니다. 그러나 DoLogin()을 호출 할 때 Safari 대신 Webview에서 URL을 열 수 있는지 확실하지 않습니다. 그렇다면. 이를 어떻게 달성하고 웹에서 올바른 구성 요소를 사용할 수 있습니까? 아니면 사파리 뷰 컨트롤러 API를 사용해야 할 것인가? 그렇다면이 API를 내 cn1 프로젝트에 어떻게 추가 할 수 있습니까?

향후 코드 사용자가 앱 스토어에서 거부 당하지 않도록 codenameone을 Facebook 및 Google 로그인 기능에 통합하는 것이 좋습니다.

네이티브 아이폰 앱에서는 Safari web view opening when logging to FB through iOS 9이 자동으로 발생합니다. IOS의 경우 기본 Facebook 로그인을 구현해야합니까? 그렇다면. 어디서부터 시작해야합니까?

final Login fb = FacebookConnect.getInstance(); 
    fb.setClientId("XXXXXXXXXXXXXX"); 
    fb.setClientSecret("XXXXXXXXXXXXX"); 
    fb.setRedirectURI("http://www.mibrandapp.com"); 
    FaceBookAccess.setPermissions(new String[]{"id", "name", "first_name", "last_name"}); 
    fb.setScope("id"); 
    fb.setCallback(new LoginCallback() { 
     @Override 
     public void loginFailed(String errorMessage) { 
      Dialog dg = new Dialog(); 
      dg.setTitle("Login failed"); 
      dg.show(); 
     } 

     @Override 
     public void loginSuccessful() { 
      .... 
     } 
    }); 
    //fb.doLogin(); 
    fb.nativelogin(); 
+0

Facebook SDK를 사용하지 않는 이유는 무엇입니까? – WizKid

+0

@WizKid 코드 명 1에서 어떻게합니까? – Kyri33

답변

1

현재 Codename One 빌드 서버는 Facebook 앱을 여는 기본 동작 (설치된 경우) 및 사파리 앱이 설치되어 있지 않은 경우이를 사용하는 Facebook IOS SDK 4.4를 사용합니다.

"iphone_new"빌드 대상 (곧 표준이 될 것임)으로 전환하면 새로운 Facebook IOS SDK 4.12가 사용됩니다 (기본적으로) 앱의 웹보기에서 인증을 처리합니다.

<key>LSApplicationQueriesSchemes</key><array><string>fbauth2</string></array>

난 그냥이 포함됩니다 변화를 저지른 :

이 방법에 대한 몇 가지 테스트를 실행, 나는 아이폰 OS 9에서, 당신은 당신의 ios.plistInject 빌드 힌트에 다음을 추가 할 필요가 있음을 발견 자동으로 다음 서버 업데이트 후 (아마 금요일),이 빌드 힌트가 없으면 작동합니다. 이 변경하지 않고도이 문제를 해결할 수와 함께 기본적으로 IOS SDK 4.12을 사용할 수 있도록 UPDATE 6월 14일

2016

난 그냥 SVN이 업데이트되었습니다. 서버가 금요일에 업데이트 될 것입니다. 그 후에는 빌드 빌드를 보낼 수 있어야하며 (특별한 빌드 힌트가없는) 작동 할 것입니다.

0

Facebook 이름이 Facebook 앱이 설치되고 활성화 될 때 기본 Facebook 로그인을 사용합니다. the developer guide section에 설명 된대로 Facebook Connect API를 사용해야합니다.

+0

Facebook Connect API를 사용합니다. 위의 코드에서 편집했습니다. Safari에서 여전히 열리 며 여전히 사과에 의해 거부됩니다. 나도 nativeLogin()을 시도했다. 요구. – Kyri33

+0

사용자가 Facebook 앱을 가지고있을 때 앱을 엽니 다. 그러나 사과는 여전히 이것에 만족하지 않습니다. 그들은 Web View 구성 요소에서 모든 것을 내 응용 프로그램에서 수행하기를 원합니다. 여기에 설명 된대로 : http : // stackoverflow.com/questions/32375916/safari-web-view-opening-logging-to-fb-through-ios-9 – Kyri33

+0

기본 IOS Facebook SDK를 다운로드하여 사용해야합니까? cn1에서 그렇게 할 수 있습니까? 그렇다면 어떻게? 아니면 내가 패한 전투를 싸우고 있습니까? 우리는 출시 2 주 밖에 지나지 않아 수정하기 전에는 앱을 업로드 할 수 없습니다. 이것이 cn1에서 수행 될 수 없다면 우리는 코드 네임 1의 페이스 북 로그인 기능을 앱 스토어에서 승인하지 않기 때문에 쓸모 없게 만들 수도 있습니다. 이 문제를 해결할 방법이 있기를 바랍니다. – Kyri33

관련 문제