NativeScript / ios-jsc

NativeScript for iOS using JavaScriptCore

Home Page:http://docs.nativescript.org/runtimes/ios

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

iOS runtime Marshalling returns NSObject - Objective-C iOS-onfido-sdk

heena-1993 opened this issue · comments

Environment
$ tns info
✔ Getting NativeScript components versions information...
⚠ Update available for component nativescript. Your current version is 6.3.1 and the latest available version is 6.3.3.
✔ Component tns-core-modules has 6.3.2 version and is up to date.
✔ Component tns-android has 6.3.1 version and is up to date.
✔ Component tns-ios has 6.3.0 version and is up to date.

$ ng --version
Angular CLI: 8.3.22
Node: 10.18.0
OS: darwin x64
Angular: 8.2.14
... animations, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router

Package Version

@angular-devkit/architect 0.803.22 (cli-only)
@angular-devkit/core 8.2.2
@angular-devkit/schematics 8.3.22 (cli-only)
@ngtools/webpack 8.2.2
@schematics/angular 8.3.22 (cli-only)
@schematics/update 0.803.22 (cli-only)
rxjs 6.5.4
typescript 3.4.5
webpack 4.27.1

Describe the bug

I'm trying to implement onfido-ios-sdk for mu nativescript-angular app. Here is the repo - hello-onfido

As per ios-sdk guide,
objective-c code

NSError *variantConfigError = NULL;
Builder *variantBuilder = [ONFaceStepVariantConfig builder];
[variantBuilder withPhotoCaptureWithConfig: NULL];
[configBuilder withFaceStepOfVariant: [variantBuilder buildAndReturnError: &variantConfigError]];

Nativesctipt code

this._faceVariantBuilder = ONFaceStepVariantConfig.builder();
 // console.log(this._faceVariantBuilder instanceof Builder);
this._faceVariantBuilder.withPhotoCaptureWithConfig(null);
this._configBuilder.withFaceStepOfVariant(this._faceVariantBuilder.buildAndReturnError(this._faceVariantError));

But _faceVariantBuilder created is NSObject, so I can not found withPhotoCaptureWithConfig method.

To Reproduce

Clone hello-onfido
add ios platform, and run this app.
It says,

file:///src/app/onfido/onfido.ts:80:28: [nativescript-onfido]: ERROR: TypeError: _this._faceVariantBuilder.withPhotoCaptureWithConfig is not a function. (In '_this._faceVariantBuilder.withPhotoCaptureWithConfig(null)', '_this._faceVariantBuilder.withPhotoCaptureWithConfig' is undefined)

Expected behavior

It should generate Builder type of object, instead of NSObject.

Sample project

hello-onfido

Hi @heena-1993, thank you for the excellent report! We've made a fix for the issue and it will be released with version 6.4.1 of tns-ios.

The RC has been published in NPM and you can now try it with tns platform add ios@rc