2016-12-23 6 views
2

인증을 시도 할 때 react-native-oauth을 사용 중이며이 오류가 발생합니다 (하단의 빨간색 이미지 참조). 나는 이것을 찾아서 발견 한 사람이 similar unanswered question 일뿐입니다. 나는 소스로보고 라인 954에 where the error is raised을 발견하고는 moduleIDs.countmethodIDs.countparamsArrays.count 동일해야하기 때문에 그것의 것 : 나는 이러한 개체를 찾아 그들 라인에 바로 위의 정의 찾아 the source 여전히, 그래서RCTBatchedBridge.m 오류 : 유효하지 않은 데이터 메시지 - 모두 길이 : % zd 여야합니다. React Native, iOS 시뮬레이터

if (RCT_DEBUG && (moduleIDs.count != methodIDs.count || moduleIDs.count != paramsArrays.count)) { 
RCTLogError(@"Invalid data message - all must be length: %zd", moduleIDs.count); 

을 943-945에서 RCTConvert를 사용하고 있습니다.이 함수의 기능은 "모두 JSON 값을 입력으로 받아서 원시 Objective-C 유형 또는 클래스에 매핑합니다." - React's docs

그래서 이것은 transpilating 및/또는 네트워킹 관련 오류 인 것 같습니다. 그러나 나는 기본적으로 그 분야에 대한 지식이 없으며 조사에 대한 장벽을 맞았으며 앞으로 나아갈 생각이 있는지 궁금해했습니다. React Native에 익숙하지 않고 Objective-C를 해본 적이 없다면 나를 도와 줄 수 없습니다.

또한 오류를 생성하는 코드는 다음과 같습니다.

import OAuthManager from 'react-native-oauth'; 
import { 
Alert 
} from 'react-native' 
var env = require('../environment.js') 
const config = { 
    facebook: { 
    client_id: env.getKey("FB_ID"), 
    client_Secret: env.getKey("FB_SECRET") 
    } 
} 
const manager = new OAuthManager('myAppName') 
manager.configure(config); 
exports.authWithFb =() => { 
    manager.authorize('facebook') 
    .then(resp => Alert.alert('response!' + resp)) 
    .catch(err => Alert.alert('error msg here: ' + err)); 
} 

이 미확인 오류는 RCTBridge 오류와 관련이 있지만 확실하지 않다고 생각합니다. manager.authorize의 catch 오류를 알리는 경우 아래에 있습니다. TypeError: undefined is not an object (evaluating 'fn') :

enter image description herethis error

편집 : 나는 config 객체를 경고 할 때

, 나는 그것이 하위 오브젝트의 캐릭터 라인 화 할 수 없다는 대한 오류가 발생합니다. enter image description here

크롬 디버거에서 콘솔을보고, 나는 "정의의 'configureProvider을'속성을 읽을 수 없습니다"얻을 configureProvider()react-native-oauth은 관리자가 어쩌면 내가 연결하지 못했습니다 그렇게 설정되어 있지 않은 것 같습니다 그래서 사용하는 것입니다 도서관 잘. 연결이 작동하는지 점검했습니다.

임에 조금 파고 있는데 약속/콜백 관련 문제 인 것 같습니다 (NativeModules.OAuthManager). 걸린 오류는 TypeError: Cannot read property 'authorize' of undefined입니다. 스택 트레이스에 뛰어 들면 다음과 같이 나타납니다. enter image description here

감사합니다.

답변

1

잘못된 데이터를 네이티브쪽에 보낼 때이 오류가 발생합니다. 예를 들어 string을 전달해야하지만 객체를 전달한 경우입니다.

변수를 config 개로 console.log하십시오.

https://www.npmjs.com/package/react-native-oauth

난 당신이 내가 롤백 한 이후 모든 것이 자신을 고정했기 때문에 잘못가는 것은 react-native-oauth와 설치 문제였다 무엇이든 나를 위해

+0

또한 라이브러리를 올바르게 연결했는지 확인하십시오. –

2

그래서 네이티브 측에 일부 잘못된 데이터를 전송하고 추측 내 코드에는 다른 종속성이 없었던 지점 (Firestack이 설치되어 있음)과 반응 원시 oauth의 문서에 따라 다시 처음부터 설정합니다.react-native-oauth readme

Next, navigate to the neighboring "Build Phases" section of project settings, find the "Link Binary with Library" drop down, expand it, and click the "+" to add libOAuthManager.a to the list.

오류에서

: 나는 원래 내가 파일을 찾을 수 없습니다 시도 할 때, 그래서 그냥 그 단계를 생략하기 때문에 밖으로 놓쳤다 아이폰 OS/엑스 코드의 측면에 단계가 있다고 실현 나는 약간의 단계가 이것에서 제거되었지만 어떻게 든 연결되어있을 것이라고 확신한다. 교훈 : 한 번에 너무 많은 일을 시도하지 말고 필요한 단계를 건너 뛰지 마십시오.