Cordova PayPal Плагин интеграции iOS выпуск - PullRequest
0 голосов
/ 02 сентября 2018

У меня есть мобильное приложение с com.paypal.cordova.mobilesdk v3.5.0

При создании платежа в iOS появляется следующая ошибка.

Также обратите внимание, что приложение не работает и сразу закрывается, когда не находится в режиме отладки.

2018-09-02 20:48:29.853486+0200 MyHurryApp[631:122102] -[NSNull length]: unrecognized selector sent to instance 0x1b69ef878 2018-09-02 20:48:29.856680+0200 MyHurryApp[631:122102] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSNull length]: unrecognized selector sent to instance 0x1b69ef878' *** First throw call stack: (0x1843bad8c 0x1835745ec 0x1843c8098 0x1843c05c8 0x1842a641c 0x102ad75e8 0x1028c1c20 0x1033211dc 0x10332119c 0x103325d2c 0x184363070 0x184360bc8 0x184280da8 0x186266020 0x18e2a0758 0x1028beb90 0x183d11fc0) libc++abi.dylib: terminating with uncaught exception of type NSException (lldb)

Строка, вызывающая этот сбой, выглядит так: [PayPalMobile preconnectWithEnvironment:environmentToUse];

`` ` - (void) prepareToRender: (CDVInvokedUrlCommand *) команда { [self.commandDelegate runInBackground: ^ { CDVPluginResult * pluginResult = [CDVPluginResult resultWithStatus: CDVCommandStatus_OK]; NSString * environment = [command.arguments objectAtIndex: 0];

NSString *environmentToUse = [self parseEnvironment:environment];
if (environmentToUse) {
  // save configuration
  PayPalConfiguration *configuration = [self getPayPalConfigurationFromDictionary:[command.arguments objectAtIndex:1]];
  self.configuration = configuration;
  // do preconnect
  dispatch_async(dispatch_get_main_queue(), ^{
    [PayPalMobile preconnectWithEnvironment:environmentToUse];
  });
} else {
  pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:@"The provided environment is not supported"];
}

[self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];

}]; } `` `

На других форумах я видел предложения по преобразованию суммы платежа в строку, что я и сделал, однако проблема все еще существует. Нажмите здесь, например,

Любые другие предложения, пожалуйста?

1 Ответ

0 голосов
/ 05 сентября 2018

Ссылаясь на readme :

Важное замечание: PayPal Mobile SDK теперь устарели и поддерживаются только существующие интеграции. Для всех новых интеграций используйте Braintree Direct в поддерживаемых странах. В других странах используйте Express Checkout и выберите вариант интеграции Braintree SDK.

То же предупреждение также отображается на странице разработчика PayPal .

Так что я думаю, что ваше приложение падает при этом:

[PayPalMobile preconnectWithEnvironment:environmentToUse];

, потому что вы пытаетесь подключиться к новой среде, которая больше не поддерживается.

Большинство приложений теперь используют встроенный браузер для осуществления платежей PayPal.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...