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

Как сделать 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>
{
}
4b9b3361

Ответ 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.