Как сделать Xcode найти файл FacebookSDK.h?
В нем говорится: "Файл FacebookSDK/FacebookSDK.h не найден"
Тем не менее, я могу перейти к определению в #import, и он возвращает меня в файл.
И как только я добавил #import, теперь он знает, что такое FBFriendPickerDelegate, и теперь он не имеет ошибки в этой строке.
У меня есть facebookSDK.framework в моем проекте и в правой папке. Он SDK 3.1.
Я попытался добавить пути поиска в /FacebookSDK и/FacebookSDK.framework и/FacebookSDK/Версии/A/Заголовки и т.д. Я также попробовал #import "FacebookSDK.framework/Versions/A/Headers/FacebookSDK.h", и он все еще говорит, что он может Не находите. Я также попробовал очистить и перезапустить. У меня есть последняя версия Xcode.
//
// FacebookView.h
//
#import <UIKit/UIKit.h>
#import <FacebookSDK/FacebookSDK.h>
@interface FacebookView : UIViewController <FBFriendPickerDelegate>
{
}
Ответы
Ответ 1
Во-первых, вы должны удалить свой файл FacebookSDK.framework из своего проекта. Затем начните сначала с этих 5 шагов. НЕ перегруппируйте фреймворк.
- Перейдите в раздел "Построение фаз в вашей целевой программе".
- В Link Binary With Libraries нажмите кнопку "+".
- Нажмите кнопку "Добавить другое..."
- Найдите свою папку FacebookSDK. Обычно в ~/Documents/FacebookSDK/
- Clik on (выберите) "facebookSDK.framework", а затем ОТКРЫТЬ.
Что это.
Ответ 2
Не нужно ничего удалять.
В своем проекте перейдите к: " Настройки сборки", затем " Пути поиска". Найдите " пути поиска Framework". Вероятно, у вас есть что-то такое:
Пути поиска в Картах:/Пользователи/john/Documents/exampleappxyz
Измените его на:
Пути поиска каркасов: $(PROJECT_DIR)
Voila!.
Ответ 3
Я пробовал это, но это не сработало для меня. Мне нужно было войти в настройки сборки для проекта и вручную исправить FacebookSDK Framework Search Paths
, чтобы найти FacebookSDK.
Ответ 4
Хорошо, ребята, я думаю, что получил ответ. Выполните следующие действия.
- Скопируйте фреймворк в свой проект.
- Убедитесь, что он находится в каком-то каталоге. например
$(PROJECT_DIR)/project_name/Resources/Frameworks
- Нажмите на цель.
- Перейти к фазе построения → Связывание двоичных файлов с библиотеками
- Добавьте пользовательскую структуру, нажав "Добавить другое"
- Проверьте в навигаторе проекта, что инфраструктура существует только один раз.
-
Теперь перейдите в "Настройки сборки" → "Пути поиска" → "Путь поиска по Карте" и убедитесь, что он имеет следующие две функции.
(a) $(inherited)
(b) $(PROJECT_DIR)/project_name/Resources/Frameworks.
Не напоминать фреймворк внутри папки Frameworks
- Убедитесь, что в пути поиска библиотеки ничего нет.
- Теперь нажмите на проект (выше цели) → Сборка настроек и повторите шаги 7 и 8.
- Теперь очистите проект и создайте проект.
Надеюсь, что это сработает.
Не забудьте сохранить имена папок с пробелами. Если вы сохранили их, убедитесь, что вы предоставили правильные escape-символы.
Ответ 5
Как удалить ссылки facebook sdk:
Для тех, кто, как и я, неправильно добавил facebook sdk. для удаления SDK facebook из вашего проекта,
проверьте ссылку внутри вашей папки фреймворков, удалите любую ссылку на sdk facebook там
перейти в фазу сборки → Связать двоичные файлы с библиотеками и удалить любой фейсбук sdk там
Щелкните правой кнопкой мыши по папке фреймворков и выберите "show in finder" и удалите любую фразу facebook sdk там
Теперь выполните шаги "Fede Cugliandolo" и добавьте facebook sdk
Ответ 6
У меня сегодня проблема.
Оказалось, что мне нужно иметь путь поиска Framework во всех трех местах:
1) Project Build Settings
2) App Target Build Settings
3) UnitTests Target Build Settings
Мой путь поиска:
/Users/myusername/Documents/FacebookSDK
После этого убедитесь, что ошибка исчезла для меня.
Ответ 7
Я использую 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
Ответ 8
Вы должны изменить свойство "путь поиска Framework" в своих настройках сборки и указать, где находится файл FacebookSDK.framework(затем вы можете использовать переменную SRCROOT, чтобы указать на корень вашего каталога проекта, и, таким образом, избегать использования абсолютных путей;)) например
$(SRCROOT)/SampleProject/src/Utils/Facebook/
это обычно выполняется автоматически с помощью Xcode при импорте фреймворка третьей части, но иногда он беспорядочен (например: когда вы изменяете дерево директорий проекта...)
Надеюсь, что это поможет...
Ответ 9
помимо добавления пути поиска мне также пришлось установить пути к рекурсивным и удалить "*.framework" из опции "Sub Directories to Exclude", чтобы это работало.
Ответ 10
Это происходит, если вы дважды импортировали facebookSDK и после удаления некоторых файлов.
Например, я импортировал facebookSDK в $project/framework, но по некоторым причинам я удалил его. Затем я импортировал его через ~/Documents/FacebookSDK, но Xcode по умолчанию сохранил старую папку и выполнил поиск по ней.
Мне нужно удалить все ссылки и файлы старого импорта, чтобы решить мою проблему.
Ответ 11
Я закончил проверку каталога проекта, удалил старые ссылки на файл фреймворка. Затем удалите его из путей сборки/поиска. Также удалите связанную структуру. Перезагрузите Xcode и выполните этот процесс заново: перетащите Framework в Framework, не копируйте. Проверьте пути сборки/Поиск. включить "#import". Наконец работал. Уф.
Ответ 12
Следуйте инструкциям
На шаге 4 Настройте проект Xcode
Я думаю, что тебе что-то не хватает. Удалите файл Facebook.sdk в своем проекте и повторите попытку.
Ответ 13
У меня была такая же проблема, когда я обновил XCode, но в моем случае я не хотел вносить какие-либо изменения вручную в настройки проекта, поскольку я использую CMake для его создания. Вы можете найти способ, которым я исправил его здесь: fooobar.com/questions/114692/...
Ответ 14
это просто, вам нужно удалить свою версию FacebookSDK.framework из своего проекта.
Перейдите к разделу "Фазы построения" в вашей целевой программе.
В Link Binary With Libraries нажмите кнопку "+".
Нажмите кнопку "Добавить другое..."
Просмотрите свою папку FacebookSDK.
Обычно в ~/mohit/Documents/FacebookSDK/
Clik on (выберите) "facebookSDK.framework", а затем OPEN.
Теперь скопируйте эти целевые настройки > путь поиска каркаса в настройку проектa > путь поиска каркаса.
Ответ 15
Ни один из вышеперечисленных ответов не работал у меня.
Что в итоге получило трюк для меня, чтобы изменить структуру папки плагина:
-
Создать папку: 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"
Ответ 16
Единственное решение, которое я нашел, было:
-
Удалите плагин phonegap: ионный плагин rm phonegap-facebook-plugin
-
Клонировать следующий плагин git clone: https://github.com/jeduan/cordova-plugin-facebook4.git
-
Добавить плагин вручную: плагин cordova -d добавить PATH/cordova-plugin-facebook4 - переменный APP_ID = "*****" - переменный APP_NAME = "*****"
Перед этим попытался добавить файл FacebookSDK.framework и установить facebook facebook через локальную клонирование, но ошибка продолжается.
Ответ 17
Выполните следующие действия:
- Откройте вкладку "Настройки сборки Xcode" в вашем проекте.
- Добавить ~/Documents/FacebookSDK в настройку Path Path Path.