Я работаю над некоторым поведением SSO в приложении на нативном скрипте.У меня есть следующий код Swift, который работает правильно:
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
var webAuthSession: SFAuthenticationSession?
@IBAction func click(sender: AnyObject)
{
let authURL = URL(string: "http://localhost:5000/redirect.html");
let callbackUrlScheme = "myApp://"
self.webAuthSession = SFAuthenticationSession.init(url: authURL!, callbackURLScheme: callbackUrlScheme, completionHandler: { (callBack:URL?, error:Error?) in
// handle auth response
guard error == nil, let successURL = callBack else {
return
}
print(successURL.absoluteString)
})
self.webAuthSession?.start()
}
}
Из этого я пришел с эквивалентным машинописным кодом (в файле .ios.ts)
function callback(p1: NSURL, p2: NSError) {
console.log('Got into the url callback');
console.log(p1);
console.log(p2);
};
public onTap() {
const session = new SFAuthenticationSession(
{
URL: NSURL.URLWithString('localhost:3500/redirect.html'),
callbackURLScheme: 'myApp://',
completionHandler: callback,
},);
console.log('session created');
console.log('the session is ', session);
console.log('the start method is ', session.start);
console.log('about to call it');
session.start();
console.log('After calling start');
}
Thisвсе компилируется и собирается нормально, но при запуске происходит сбой при вызове session.start () через секунду или около того.Я получаю выходные данные до этого, включая метод «собираюсь вызвать», но ничего после, даже сообщение об ошибке или дамп стека.
Есть ли что-то очевидное, что я здесь не так делаю?Есть ли что-то особенное, что нужно сделать для вызова из машинописного текста в нативных методах общей библиотеки ios?