Нераспознанный селектор отправляется в класс при запуске реактивного приложения в качестве контроллера представления в другом приложении - PullRequest
1 голос
/ 14 января 2020

У нас есть собственное приложение, которое мы разрабатываем как отдельное приложение, а затем у нас есть модуль, который экспортирует приложение с собственной точкой входа. Часть нашего приложения использует react-native-awesome-card-io, что прекрасно работает, когда мы запускаем приложение как отдельный компонент (metro bundler). Мы используем какао-бобы для управления зависимостями, которые обычно дает нам реакция-нативная ссылка. Мы использовали react-native: 57.8, но пришлось обновить до 59.0, чтобы иметь возможность интегрировать наш плагин в android приложения без необходимости добавления фильтрации для 32/64 бит. В любом случае у нас есть пример приложения, в котором есть только кнопка, и когда кнопка нажата, действие берет созданный нами контроллер представления и запускается presentModalViewController. Эта проблема возникла после того, как мы обновили реактив-родной, когда мы вызываем функцию scanCard на прессе в нашем реактиве-родном js, появляется следующая ошибка

Ранее она работала нормально и работает, если мы запускать приложение как автономное реагирующее приложение, но когда мы его интегрируем, возникает проблема. Вот как мы instantiate реагируем на родной плагин.

ПРИМЕЧАНИЕ: он не работает как для наших целевых приложений - c, так и для быстрых примеров пользовательских приложений. В сети я ничего не нашел.

Как мы загружаем наш viewcontroller в нашем примере приложения

- (IBAction)launchPaciolanSDKAction:(UIButton *)sender {
printf("Launching PaciolanSDK ...");
UIViewController *viewController = nil;
viewController = [[PaciolanSDKViewController alloc] initWithString::""];
[self presentModalViewController:viewController animated:YES];

}

Ошибка:

Exception 'Please add -ObjC to 'Other Linker Flags' in your project settings. (+[NSObject testForObjCLinkerFlag]: unrecognized selector sent to class 0x1dbbd7eb0)' was thrown while invoking scanCard on target CardIOModule with params (
        {
        hideCardIOLogo = 1;
        requireCardholderName = 1;
        suppressManualEntry = 1;
        usePaypalActionbarIcon = 0;
    },
    3544,
    3545
)
callstack: (
    0   CoreFoundation                      0x00000001a1cf5ebc <redacted> + 252
    1   libobjc.A.dylib                     0x00000001a0ec5a50 objc_exception_throw + 56
    2   CoreFoundation                      0x00000001a1bfc484 <redacted> + 0
    3   RNAwesomeCardIO                     0x000000010385bf6c -[CardIOPaymentViewController initWithPaymentDelegate:scanningEnabled:] + 660
    4   RNAwesomeCardIO                     0x00000001038598bc -[RCTCardIOModule scanCard:resolver:rejecter:] + 236
    5   CoreFoundation                      0x00000001a1cfd610 <redacted> + 144
    6   CoreFoundation                      0x00000001a1bdb340 <redacted> + 292
    7   CoreFoundation                      0x00000001a1bdbf24 <redacted> + 60
    8   React                               0x0000000103ec3d10 -[RCTModuleMethod invokeWithBridge:module:arguments:] + 2064
    9   React                               0x0000000103ecfe2c _ZN8facebook5reactL11invokeInnerEP9RCTBridgeP13RCTModuleDatajRKN5folly7dynamicE + 664
    10  React                               0x0000000103ecf99c _ZZN8facebook5react15RCTNativeModule6invokeEjON5folly7dynamicEiENK3$_0clEv + 144
    11  React                               0x0000000103ecf900 ___ZN8facebook5react15RCTNativeModule6invokeEjON5folly7dynamicEi_block_invoke + 28
    12  libdispatch.dylib                   0x000000010494f824 _dispatch_call_block_and_release + 24
    13  libdispatch.dylib                   0x0000000104950dc8 _dispatch_client_callout + 16
    14  libdispatch.dylib                   0x000000010495ea78 _dispatch_main_queue_callback_4CF + 1360
    15  CoreFoundation                      0x00000001a1c85ce4 <redacted> + 12
    16  CoreFoundation                      0x00000001a1c80bac <redacted> + 1964
    17  CoreFoundation                      0x00000001a1c800e0 CFRunLoopRunSpecific + 436
    18  GraphicsServices                    0x00000001a3ef9584 GSEventRunModal + 100
    19  UIKitCore                           0x00000001cefe0c00 UIApplicationMain + 212
    20  sample                              0x0000000102f0e1fc main + 124
    21  libdyld.dylib                       0x00000001a173ebb4 <redacted> + 4
)

1 Ответ

0 голосов
/ 14 января 2020

Проверьте ваши параметры и заголовки, которые вы отправляете в api. Эта ошибка чаще всего возникает, когда мы отправляем неправильные параметры.

...