Nativescript-auth0 | java.lang.NullPointerException

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

Я пытаюсь использовать nativescript-auth0 для входа в приложение nativescript для Android.

Во-первых, моя версия TNS 4.1.2. Версия tns-android - 4.1.3. Версия nativescript-auth0 - 2.0.0.

Я перешел по этой ссылке: https://github.com/sitefinitysteve/nativescript-auth0

Как они сказали, я добавил в Манифест Android:

<activity
            android:name="com.auth0.android.provider.RedirectActivity"
            tools:node="replace">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data
                    android:host="jarggon.eu.auth0.com"
                    android:pathPrefix="/android/org.nativescript.JarggonTranslatorApp/callback"
                    android:scheme="https" />
            </intent-filter>
        </activity>

В моем компоненте у меня есть:

 lock.show().then((res) => {
  console.log('success');
}, function (error) {
  console.log(error);
}); 

С моим экземпляром блокировки все отлично.

Но когда я запускаю приложение " tns run android ", я получаю это:

JS: Ошибка: java.lang.NullPointerException: попытка вызвать виртуальный метод 'android.content.Context android.content.Context.getApplicationContext()' для ссылки на пустой объект JS: android.support.v4.content.LocalBroadcastManager.getInstance(LocalBroadcastManager.java:102) JS: com.auth0.android.lock.Lock.initialize(Lock.java:144) JS: com.auth0.android.lock.Lock.access$200(Lock.java:56) JS: com.auth0.android.lock.Lock$Builder.build(Lock.java:236) JS: com.tns.Runtime.callJSMethodNative(собственный метод) JS: com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:1101) JS: com.tns.Runtime.callJSMethodImpl(Runtime.java:983) JS: com.tns.Runtime.callJSMethod(Runtime.java:970) JS: com.tns.Runtime.callJSMethod(Runtime.java:954) JS: com.tns.Runtime.callJSMethod(Runtime.java:946) JS: com.tns.NativeScriptActivity.onCreate(NativeScriptActivity.java:18) JS: android.app.Activity.performCreate(Activity.java:7041) JS: android.app.Activity.performCreate(Activity.java:7032) JS: android.app.Instrumentation.callActivityOnCre...

Я знаю, что это из console.log об ошибке в функции lock.show(), но я не понимаю, почему..

Я также попытался добавить файл reference.d.ts в корень и вставить в него:

/// <reference path="./node_modules/nativescript-auth0/typings/Auth0.ios.d.ts" />
/// <reference path="./node_modules/nativescript-auth0/typings/Lock.ios.d.ts" />

Но я получаю около 30 ошибок во время выполнения, как:

node_modules / nativescript-auth0 / typings / Auth0.ios.d.ts (2,43): ошибка TS2552: не удается найти имя 'NSObject'. Вы имели в виду "объект"? node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(8,42): ошибка TS2304: не удается найти имя 'NSURL'. node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(10,42): ошибка TS2304: не удается найти имя 'NSURL'. node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(10,58): ошибка TS2304: не удается найти имя "NSURLSession". node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(12,153): ошибка TS2304: не удается найти имя "NSDictionary". node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(12,195): ошибка TS2304: не удается найти имя 'NSError'. node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(12,208): ошибка TS2304: не удается найти имя "NSDictionary". node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(14,45): ошибка TS2304: не удается найти имя 'NSURL'. node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(16,52): ошибка TS2304: не удается найти имя 'NSURL'. node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(16,68): ошибка TS2304: не удается найти имя "NSURLSession". node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(18,118): ошибка TS2304: не удается найти имя "NSDictionary". node_modules / nativescript-auth0 / typings / Auth0.ios.d.ts (18 160): ошибка TS2304: не удается найти имя 'NSError'. node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(20,151): ошибка TS2304: не удается найти имя "NSDictionary". node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(20,193): ошибка TS2304: не удается найти имя 'NSError'. node_modules/nativescript-auth0/typings/Auth0.ios.d.ts(22,93): ошибка TS2304: не удается найти имя 'NSError'.

Я не знаю, что еще я могу сделать.. спасибо за вашу помощь, если вам нужна какая-либо информация, скажите мне..

1 ответ

Решение

Это решено. Если кому-то нужно знать, я должен был использовать загруженное событие GridLayout . Потому что представление не было готово до того, как я сделал экземпляр блокировки, даже если я использовал ngAfterViewInit .

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