Комментарии 15
Раньше считал, что синхронизация с фейсбуком это хорошая штука, но после того как узнал, как легко фейсбук блокирует аккаунты и как сложно их восстанавливать, понял, что лучше регистрировать на e-mail или Apple ID. Отдельный привет Google+.
Что не так с google id? Часто игнорирую приложения/сайты без авторизации через гугл кнопку, ибо не хочу помнить 100500 логинов и паролей. Особенно люблю сайты где требуют спецзнак, цифры и два кейса в пароле. Пароль lkbyysqgfjkmkexitrjhjnrjujbyafcjnrf считается не безопасным.
Объясните, пожалуйста. Во всех этих крутых модных приложениях не было обертки вокруг вызовов сторонней библиотеки, и если вдруг она не работает — не работает все остальное? Как это возможно?
Там в статье про это есть: "It turns out that by just including the SDK with your app, Facebook runs hidden code on launch. " Вот собственно и все. Единственный способ этого избежать — не использовать FacebookSDK.
Это я понимаю, но почему падение этого кода приводит к падению всего приложения вместо "oops FB auth crashed, continue"?
Ну, судя по состоянию стеков, приведённых в issue на github, потому, что библиотека при инициализации запускает некие асинхронные процессы, и ошибка происходит уже внутри библиотечных обработчиков событий, участвующих в этих процессах, а не в каком-то коде, который вызывается напрямую из приложения, и который можно обернуть в try.
Хм, а нельзя подключать sdk, только при попытке пользователя выбрать логин через FB?
Или это все прежде всего чтобы больше личной инфы натрэкать сразу после клика по иконке.
Ну и вообще, когда идёт попытка соединения с посторонним сервисом, надо эксепшены и проверки делать, что оттуда выгружается… Неужели все настолько неподконтрольно?
Ответ аккурат над вашим сообщением. "Вы выбрали логин через FB, установите другую версию приложения, с подключенным SDK" — такое себе решение.
мне кажется, это просто религиозное доверие: "Но это же великий Фейсбук, он не может ошибаться!"
Хм, а нельзя подключать sdk, только при попытке пользователя выбрать логин через FB?
Проблема не в вызове методов SDK. В Objective-C если реализовать особые методы класса (load и initialize ), то они будут вызваны когда поднимается runtime приложения, вроде даже еще до вызова application функции main(). На этапе запуска приложения, система загружает бинарники в память процесса и класс лоадер загружает классы и на этом этапе вызываются эти методы класса. Вот тут Facebook и начудил — полез что-то делать с конфигами своей сдк). Даже если полностью выпилить из кода работу с SDK, то проблема не решится так как всё равно их бинарник слинкован с приложением. Видимо для решения проблемы нужно лениво подгружать их SDK через функцию dlopen для динамической загрузки бинарей.
Ошибка в SDK Facebook «сломала» Spotify, Tinder, TikTok и другие iOS-приложения