Модуль React Native не работает только на iOS

Недавно я обновил свой реактивный проект до версии 0.60. После обновления собственный модуль, с которым я работал, перестал работать на iOS с ошибкой TypeError: Cannot read property 'show' of undefined.

Я модифицировал этот собственный модуль, но единственный код, который я изменил после обновления до RN 0.60, был кодом Android. Мой измененный код модуля находится в https://github.com/BradyShober/react-native-braintree-dropin-ui

Файл, вызывающий модуль,

import BraintreeDropIn from 'react-native-braintree-dropin-ui';

const showBraintreeUI = async (token, amount) => {
    BraintreeDropIn.show({
        clientToken: token,
        countryCode: 'US',
        currencyCode: 'USD',
        orderTotal: amount,
        googlePay: true,
        googleMerchantId: 'merchantID',
        applePay: true,
        merchantName: "Name",
        merchantIdentifier: "ID",
        vaultManager: true
    })
    .then(async (result) => {
        console.info(result)
        }
        catch(error){
            console.info(error);
        }
    })
    .catch((error) => {
        if (error.code === 'USER_CANCELLATION') {
            console.info("User cancelled payment");
        }
        else {
            console.info(error);
        }
    });
}

export { getBraintreeToken, showBraintreeUI };

Ожидаемый результат — открытие пользовательского интерфейса Braintree Drop In, который работает на Android, но на iOS выдает ошибку TypeError: Cannot read property 'show' of undefined.

Я считаю, что это проблема с автосвязыванием, мне удалось заставить его работать, если я щелкну правой кнопкой мыши «Библиотеки» в Xcode, затем «Добавить файлы» и выберу модуль .xcodeproject, а затем добавлю библиотеку в «Связать двоичные файлы с библиотеками». Мне не удалось легко найти, что мне нужно изменить в модуле, чтобы не выполнять эти шаги в качестве обходного пути.

Умерло ли Create-React-App?
Умерло ли Create-React-App?
В этом документальном фильме React.dev мы исследуем, мертв ли Create React App (CRA) и какое будущее ждет этот популярный фреймворк React.
Освоение React Native: Пошаговое руководство для начинающих
Освоение React Native: Пошаговое руководство для начинающих
React Native - это популярный фреймворк с открытым исходным кодом, используемый для разработки мобильных приложений. Он был разработан компанией...
В чем разница между react native и react ?
В чем разница между react native и react ?
React и React Native - два популярных фреймворка для создания пользовательских интерфейсов, но они предназначены для разных платформ. React - это...
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
Если вы уже умеете работать с React, создание мобильных приложений для iOS и Android - это новое приключение, в котором вы сможете применить свои...
Хуки React: что это такое и как их использовать
Хуки React: что это такое и как их использовать
Хуки React - это мощная функция библиотеки React, которая позволяет разработчикам использовать состояние и другие возможности React без написания...
1
0
972
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я смог заставить его работать благодаря некоторой помощи, которую я получил на сервере разногласий Reactiflux. Проблема возникла из-за проблемы в Podspec модуля, из-за которой не обнаруживался ни один из исходных файлов модуля. Для s.source_files было установлено значение s.source_files = "RNBraintreeDropIn/**/*.{h,m}" вместо s.source_files = "*.{h,m}"

Не могли бы вы предоставить больше информации? Ваш ответ совершенно бесполезен. Что теперь должны делать другие люди, присоединяться к серверам Discord?

Maxim Zubarev 01.08.2019 10:11

@MaximZubarev Я добавил конкретную проблему и исправил

Brady Shober 03.08.2019 00:11

Другие вопросы по теме