2016-12-23 3 views
2

Я использую react-native-oauth и получаю эту ошибку (см. Красное изображение внизу) при попытке авторизации. Я искал и нашел только это similar unanswered question. Я посмотрел на источник и нашел where the error is raised на линии 954 и, кажется, это потому, что moduleIDs.count должна равняться methodIDs.count и paramsArrays.count:RCTBatchedBridge.m Ошибка: неверное сообщение данных - все должно быть длиной:% zd. React Native, iOS simulator

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

Так, еще в the source, я смотрю на эти объекты и найти их определено чуть выше, на линии 943-945, и они используют RCTConvert, чьи функции «... все принимают значение JSON в качестве входных данных и сопоставляют его с собственным классом Objective-C или классом». - React's docs

Похоже, что это ошибка передачи и/или связанная с сетью ошибка. Но у меня есть в основном 0 знаний по этим областям и чувствую, что я попал в барьер для расследования и задавался вопросом, есть ли у кого-нибудь идеи двигаться вперед. Быть новее для Реагента Родной и никогда не сделав какой-либо 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

Edit:

Когда я пытаюсь Предупредить config объекта, я получаю сообщение об ошибке, пожалуйста, не будучи в состоянии stringify это подобъектов. enter image description here

При поиске в консоли в хромированном отладчике, я получаю «Не удается прочитать свойство„configureProvider“неопределенный» и configureProvider() что react-native-oauth использует так это выглядит, как менеджер не установлен прямо так, может быть, я не связываю библиотека хорошо. Проверьте, работает ли ссылка.

Im копается в ошибках немного, и это похоже на проблему с обещанием/обратным вызовом от NativeModules.OAuthManager. Погрешность: TypeError: Cannot read property 'authorize' of undefined. Когда я прыгаю в стек, я нахожу: enter image description here

Любая помощь очень ценится, спасибо.

ответ

1

Вы получите эту ошибку, когда вы отправите неверные данные на родную сторону. Например, если вы должны передать строку, но вы передали объект.

Просьба дополнить консоль переменной config.

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

Я думаю, вы послали некоторые неправильные данные в родной стороне

+0

Также убедитесь, что вы правильно связали библиотеку –

2

Так что для меня все, что идет не так была проблема установки с react-native-oauth, потому что все закрепилась, так как я откатился на точка, в которой у моего кода не было других зависимостей (у меня также был установлен Firestack), и настроился с нуля снова, следуя документам response-native-oauth.Я понял, что был шаг со стороны IOS/XCode, что я пропустил, потому что, когда я первоначально пытался, я не мог найти файл так просто пропустил этот шаг:

От 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.

ошибки Я получал несколько шагов, удаленных от этого, но я уверен, что так или иначе связан. Извлеченные уроки: не пытайтесь делать слишком много вещей одновременно и не пропускать необходимые шаги.

Смежные вопросы