Как заставить Xcode найти файл FacebookSDK.h?
Там написано "Файл FacebookSDK / FacebookSDK.h не найден"
Тем не менее, я могу перейти к определению в #import, и это приведет меня к файлу.
И как только я добавил #import, он теперь знает, что такое FBFriendPickerDelegate, и теперь у него нет ошибки в этой строке.
У меня есть facebookSDK.framework в моем проекте и в нужной папке. Это SDK 3.1. Я попытался добавить пути поиска в / FacebookSDK и /FacebookSDK.framework и /FacebookSDK/Versions/A/Headers и т. Д. Я также попытался #import "FacebookSDK.framework/Versions/A/Headers/FacebookSDK.h", и он все еще говорит, что может не найти это. Я также попытался очистить и перезапустить. У меня последняя версия Xcode.
//
// FacebookView.h
//
#import <UIKit/UIKit.h>
#import <FacebookSDK/FacebookSDK.h>
@interface FacebookView : UIViewController <FBFriendPickerDelegate>
{
}
17 ответов
Во-первых, вы должны удалить свою FacebookSDK.framework из вашего проекта. Затем начните снова с этих 5 шагов. НЕ переподключайте рамки.
- Перейдите к этапам сборки в вашей цели проекта.
- В Link Binary With Libraries нажмите кнопку "+".
- Нажмите на кнопку "Добавить другое..."
- Просмотрите папку FacebookSDK. Обычно в ~/Documents/FacebookSDK/
- Нажмите (выберите) "facebookSDK.framework" и затем ОТКРЫТЬ.
Вот и все.
Не нужно ничего удалять.
В вашем проекте перейдите: "Настройки сборки", затем "Пути поиска". Ищите "Пути поиска фреймворка". Вы, вероятно, что-то исправили, как это:
Пути поиска фреймворков: /Users/john/Documents/exampleappxyz
Измените это на:
Пути поиска фреймворков: $ (PROJECT_DIR)
Voila!.
Я попробовал это, но у меня не получилось. Мне пришлось зайти в настройки сборки для проекта и вручную исправить FacebookSDK Framework Search Paths
найти FacebookSDK.
Хорошо, ребята, я думаю, что получил ответ. Следуйте инструкциям ниже.
- Скопируйте ваш фреймворк в ваш проект.
- Убедитесь, что он находится в каком-то каталоге. например
$(PROJECT_DIR)/project_name/Resources/Frameworks
- Нажмите на цель.
- Перейти к этапам сборки → Связать бинарный файл с библиотеками
- Добавьте пользовательский фреймворк, нажав "Добавить другое"
- Проверьте в навигаторе проекта, что фреймворк существует только один раз.
Теперь перейдите в "Настройки сборки" → "Пути поиска" → "Путь поиска инфраструктуры" и убедитесь, что в нем есть следующие две вещи.
(А)
$(inherited)
(Б)$(PROJECT_DIR)/project_name/Resources/Frameworks.
Не напоминать, что рамки существуют внутри
Frameworks
папка- Убедитесь, что в пути поиска библиотеки ничего нет.
- Теперь нажмите на проект (над целью)→ Построить настройки и повторите шаги 7 и 8.
- Теперь очистите проект и постройте проект.
Надеюсь, что это работает. Пожалуйста, помните, чтобы не оставлять имена папок с пробелами. Если вы сохранили их, убедитесь, что вы указали правильные escape-символы.
Я получил эту проблему сегодня.
Оказывается, мне нужен мой путь поиска Framework во всех трех местах:
1) Project Build Settings
2) App Target Build Settings
3) UnitTests Target Build Settings
Мой путь поиска:
/Users/myusername/Documents/FacebookSDK
После этого ошибка исчезла для меня.
Как удалить ссылки SDK facebook:
Для тех, кто любит меня, ненадлежащим образом добавлен фейсбук sdk. удалить SDK facebook из вашего проекта,
проверьте ссылку в вашей папке фреймворков, удалите любую ссылку на SDK facebook там
перейдите к этапам сборки -> Link Binary With Libraries и удалите там любой SDK facebook
Щелкните правой кнопкой мыши папку фреймворков и выберите "Показать в Finder" и удалите там любой SDK facebook
Теперь следуйте инструкциям "Fede Cugliandolo" и повторно добавьте SDK на Facebook.
Я использую xcode 5, и при добавлении SDK это не правильно написать собственный адрес в "project.pbxproj".
Вместо локального адреса для SDK это сохранить глобальный адрес.
Я открываю "project.pbxproj" и нахожу его места и оставляю адрес только для sdk в проекте.
<project name>/src/external/facebook
<project name>/src/external/testflight
редактировать запись было следующим
/Users/<user Name>/myProjects/.../ios/<project name>/src/external/facebook
В итоге я проверил каталог моего проекта, удалил все старые ссылки на файл фреймворка. Затем удалите его из фаз сборки / путей поиска. Также удалите связанный Framework. Перезапустите XCode и повторите процесс заново: перетащите Framework на Frameworks, не копируйте в него. Проверьте этапы сборки / пути поиска. включите "#import ". Наконец-то сработало. Уф.
Это просто, вы должны удалить вашу FacebookSDK.framework из вашего проекта.
Перейдите к этапам сборки в вашей цели проекта. В Link Binary With Libraries нажмите кнопку "+". Нажмите кнопку "Добавить другое...". Просмотрите папку FacebookSDK. Обычно в ~/mohit/Documents/FacebookSDK/ Clik на (выберите) "facebookSDK.framework", а затем ОТКРЫТЬ.
Теперь скопируйте настройки Target> путь поиска фреймворка в настройки проекта> путь поиска фреймворка.
Просто следуйте этим шагам:
- Откройте вкладку Настройки сборки XCode в вашем проекте.
- Добавьте ~/Documents/FacebookSDK в настройку пути поиска платформы.
Помимо добавления пути поиска мне также пришлось установить пути к рекурсивным и удалить "*.framework" из опции "Подкаталоги для исключения", чтобы это работало.
Это происходит, если вы дважды импортировали facebookSDK и после удаления некоторых файлов.
Например, я импортировал facebookSDK в $project/framework, но по некоторым причинам удалил его. Затем я импортировал его через ~/Documents/FacebookSDK, но XCode сохранил старую папку и по ней осуществлял поиск по умолчанию.
Я должен удалить все ссылки и файлы старого импорта, чтобы решить мою проблему.
Вы должны изменить свойство "Путь поиска платформы" в настройках сборки и указать, где находится файл FacebookSDK.framework (затем вы можете использовать переменную SRCROOT, чтобы указать на корень каталога вашего проекта, и, таким образом, избегать использования абсолютного дорожки;)) например:
$(SRCROOT)/SampleProject/src/Utils/Facebook/
это обычно делается автоматически XCode, когда вы импортируете фреймворк третьей части, но иногда это портится (например, когда вы изменяете дерево каталогов вашего проекта...)
Надеюсь, это поможет...
У меня была та же проблема, когда я обновлял XCode, но в моем случае я не хотел вносить какие-либо изменения в настройки проекта вручную, так как я использую CMake для его создания. Вы можете найти способ, которым я исправил это здесь: /questions/12731481/kak-dobavit-facebooksdk-v-proekt-xcode-s-pomoschyu-cmake/12731492#12731492
Единственное решение, которое я нашел, было:
Удалить плагин phonegap: плагин ionic rm phonegap-facebook-plugin
Клонировать следующий плагин git clone: https://github.com/jeduan/cordova-plugin-facebook4.git
Добавить плагин вручную: cordova -d plugin add PATH/cordova-plugin-facebook4 --variable APP_ID="*****" --variable APP_NAME="*****"
Перед этим попытался повторно добавить FacebookSDK.framework и установил плагин phonegap facebook через локально клонированного, но ошибка не исчезла.
Следуйте инструкциям на шаге 4 Настройка вашего проекта Xcode. Я думаю, что вы что-то упустили. Удалите Facebook.sdk в вашем проекте и попробуйте снова.
Ни один из всех ответов выше не работал для меня.
Наконец, мне удалось изменить структуру папки плагинов:
Создать папку:
com.phonegap.plugins.facebookconnect/FacebookSDK
Скопируйте весь контент из:
com.phonegap.plugins.facebookconnect/FacebookSDK.framework/Headers
вcom.phonegap.plugins.facebookconnect/FacebookSDK
копия
com.phonegap.plugins.facebookconnect/Facebook.framework
вcom.phonegap.plugins.facebookconnect/FacebookSDK
И наконец, изменить
#import <FacebookSDK/FacebookSDK.h>
в
#import "FacebookSDK/FacebookSDK.h"