EDIT: ДОРОГОЙ ЛЮДЕЙ ИЗ БУДУЩЕГО, trey-jones исправил эту проблему, реализовав setLoginBehavior, FBSDKLoginNative, похоже, имеет проблемы с FB, а не с модулем.Ti.Facebook не открывается с помощью установленного приложения FB
Окружающая среда:
MacOS X 10.10.5
Ti SDK 5.1.1.GA - 5.1.2.GA
iOS 9.2
Ti.Facebook 5.0.0 - 5.0.1
настройки моего проекта (tiapp.xml) отлично (она работает на любом другом случае на обоих прошивкой и Android).
код я использую для вызова логин:
var fb = require('facebook');
fb.initialize();
fb.authorize();
Если приложение Facebook установлена в коммуникаторе fb.authorize() не открывает. Когда это произошло, я не видел сообщений на уровне системы iOS.
Кому-то еще повезло с помощью fb.authorize с новым sdk на устройствах iOS. С установленным приложением. Без приложения fb в системе он правильно открывает браузерный вид.
EDIT: Мне удалось обходное решение для этого (это не так), основанный на том, что логин работает с KitchenSink от AppC.
Обходной путь заключается в том, чтобы добавить код входа Ti.FB в код, неважно, не будет ли его невидимым, инициализируя это, будет исправлено все, что заставляет пользовательский вход .authorize() не работать.
//Workaround button:
if(OS_IOS){
var fbHaxBtn = fb.createLoginButton({
readPermissions: ['email'],
visible: false
});
}
//It needs to be added to the window/doesn't need to be visible though
$.login_window.add(fbHaxBtn);
//Then in our custom button's code, we can fire as normal:
function doLoginClick{
fb.initialize(); //I was having unexpected issues dropping this line on Android, although the docs say its deprecated.
fb.authorize();
}
Сохранит этот билет, если/когда эта вещь получит официальное исправление.
Отличная находка, боролись с этим в течение многих дней! Также стоит упомянуть, что на Android fb.initialize() не работает для меня, если я не добавлю к нему тайм-аут: i.fb.initialize (5000); –
Благодарим за сообщение об этом. Если есть одна вещь, которую мне напомнили, пытаясь использовать модуль FB, это не должно доверять документам appc. У меня была такая же ситуация, но мне не нужно было добавлять кнопку. Я не вызывал 'initialize' и добавлял, что строка разрешала авторизоваться, как и раньше. Более странно, как только я удалил вызов 'initialize', он продолжал функционировать. В последнее время мне интересно, развивается ли титан на самом деле быстрее, чем родной ... – threeve