Подтвердить что ты не робот

Facebook SDK 3.1 для iOS - работает на iOS6, но падает на iOS 5.x

Мы только что обновили наш Facebook SDK для iOS до 3.1. Facebook SDK 3.0.8 не запускался на iOS6, теперь, когда мы обновили до 3.1, он работает на iOS 6, но падает под iOS 5.x.

из-за сбоя приложения AdSupport.framework в iOS 5.x после запуска со следующей ошибкой:

dyld: Library not loaded: /System/Library/Frameworks/AdSupport.framework/AdSupport

Referenced from: /Volumes/Macintosh HD/Users/dmitrybaranov/Library/Application Support/iPhone Simulator/5.0/Applications/D6A93996-1E58-48A5-A457-DBC4FCCEE0EB/app.app/app
        
Reason: image not found
(lldb)

Кто-нибудь сталкивался с этой проблемой? Есть ли проблема на стороне Facebook, и там ребята работают над исправлением этого?

Или мы делаем что-то неправильно?

4b9b3361

Ответ 1

Вы установили рамки как необязательные? Когда вы добавляете AdSupport.framework, Social.framework и Accounts.framework, в правом нижнем меню вы можете выбрать "Обязательный" и "Необязательный". См. Пример рисунка здесь: Link

Еще одна вещь, которую нужно проверить, - это ваш проект "Настройки сборки", который "Base SDK" равен 6.0, а "Цель развертывания iOS" - это iOS 4.3.

Я могу создать FB SDK 3.1 на моем iOS 5.1 с этими настройками.

Ответ 2

Если вы ориентируетесь на версии iOS менее 6.0, вам нужно сделать AdSupport.framework, Social.framework и Accounts.framework необязательно связанный.

Пожалуйста, посмотрите прилагаемый скриншот. enter image description here

Ура!!!...

Ответ 3

Для тех, кто читает это и использует Facebook SDK 3.6+ для iOS, вам больше не нужно включать эти библиотеки или необязательно связывать их. См. Документы Facebook для обновления с 3.5 до 3.6:

"Удалите связанные с картой зависимости, добавленные в ваше приложение, когда вы установили SDK для Facebook. SDK все еще зависит от них, но теперь загружает их автоматически, упрощая настройку. Удалите эти фреймворки/библиотеки:

Accounts.framework

AdSupport.framework

Security.framework

Social.framework

libsqlite3.dylib [или удалить флаг компоновщика -lsqite3.0]

[Примечание: если ваше приложение использует любой из API-интерфейсов непосредственно из этих фреймворков/библиотек, ваш проект должен по-прежнему включать фреймворк явно] "