2016-12-23 11 views
2

私はreact-native-oauthを使用しており、このエラー(下の赤い画像を参照)を取得しようとしています。私は検索してこれだけを見つけましたsimilar unanswered question。私はソースの中に見て、ライン954上where the error is raisedを発見し、moduleIDs.countmethodIDs.countparamsArrays.countに等しくなければならないからだと思わ: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); 

、まだthe sourceで、私はこれらのオブジェクトを探して、彼らはすぐ上に定義見つけ、ライン上RCTConvertを使用しています。これらの関数は "...すべてがJSON値を入力として受け入れ、それをネイティブのObjective-Cタイプまたはクラスにマッピングします。" - React's docs

このように、これはトランジスターリングやネットワーキング関連のエラーのようです。しかし、私は基本的にはそれらの分野についての知識はありません。私は調査の障壁にぶつかったと感じ、誰かが前進するためのアイデアを持っているかどうか疑問に思っています。 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のキャッチエラーを通知すると、下に表示されます。 TypeError: undefined is not an object (evaluating 'fn')

enter image description herethis error

編集:私はconfigオブジェクトに警告しようとすると

、私はそれがサブオブジェクトの文字列化できないというエラーが出ます。 「未定義のプロパティを読み取ることができません 『configureProvider』」enter image description here

クロムデバッガでコンソールに見たとき、私が取得し、configureProvider()は管理者がそのように多分私はリンクされませんでした右設定されていないように見えますので、react-native-oauthが使用するものですライブラリーリンクが機能していることを確認しました。

私はエラーに少し掘り下げて、NativeModules.OAuthManagerから約束/コールバック関連の問題のようです。キャッチされたエラーはTypeError: Cannot read property 'authorize' of undefinedです。私がスタックトレースにジャンプすると、私は見つける:enter image description here

何か助けてくれてありがとう、ありがとう。

答えて

1

誤ったデータをネイティブ側に送信すると、このエラーが発生します。たとえば、文字列を渡す必要がある場合は、オブジェクトを渡します。

console.logにconfig変数を入力してください。

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.

エラーから

:私はもともと私は、ファイルを見つけることができませんでししようとしたときに、ちょうどそのステップをスキップしたので、私は逃したのiOS/XCodeの側のステップがあったことに気づきました私はこれからいくつかのステップを削除していたが、何とか接続されていると確信しています。教訓:一度にたくさんのことをやろうとせず、必要なステップをスキップしないでください。

関連する問題