Внешний файл File/File.h(Parse/Parse.h) не найден

Поэтому каждый раз, когда я обновляю свое приложение, Xcode утверждает, что не может найти определенную внешнюю инфраструктуру, даже если она есть. Это случилось снова с Xcode 6 и моими обычными методами (я довольно неопытен, поэтому они в основном включают в себя щелчок и ввод текста, пока что-то не произойдет (я преувеличиваю, но не сильно)) не работают.

Я получаю ошибку Lexical or Preprocessor Issue, которая говорит 'Parse/Parse.h' file not found.' Но вот скриншоты из этого в проекте и добавлены в библиотеку:

enter image description here

enter image description here

Я также выполнил шаги в самом верхнем ответе в 'ld: warning: каталог не найден для опции, но все равно ничего.

Любая идея, что делать? Любая идея вообще? Я отрываю свои волосы здесь.

Ответ 1

На самом деле я столкнулся с одной и той же проблемой, но после выполнения большого количества (удаления/добавления параметров анализа) я понял, что parse.framework уже добавлен, и ошибка все еще там.

Реальная проблема не была в ссылке Binary для основного проекта, но это было связано с Binary. Допустим, что название вашего проекта - "project1", а Xcode создает еще одну папку с названием "project1Tests". Поэтому выберите "project1Tests" и добавьте parse.framework в ссылку Binary.

Проверьте иерархию:

Проект
project1

ЦЕЛЕВЫЕ
project1
project1Tests (вам нужно выбрать это, чтобы добавить структуру синтаксического анализа).

Надеюсь, это поможет вам решить эту проблему.

Ответ 2

У меня тоже была эта ошибка. Я развиваюсь в Swift, поэтому я добавил "заголовок моста", как описано в этом сообщении блога Parse.

Причина, по которой я получил "Parse.h not found", заключалась в том, что имя моего проекта содержит пробелы. (Для имени проекта я имею в виду имя продукта, которое вы вводите при создании нового проекта, который определяет имя вашей папки.) В первый день все прошло хорошо, но после закрытия и открытия Xcode выясняется, что Xcode интерпретирует слова, разделенные пробелами, как разные пути.

Чтобы исправить это, вы можете перейти к "Настроить параметры" → "Пути поиска → пути поиска в каркасе" и добавить "\" перед каждым пространством. (Если вы дважды щелкните по пути, вы увидите, что Xcode показывает каждое слово, разделенное пробелом, как другую запись.)

Также обратите внимание, что заголовок моста с #import <Parse/Parse.h> он не является обязательным: вы можете просто сделать import Parse.

Ответ 3

Все, что мне нужно было сделать, это удалить Parse.framework из этого списка, выделив и нажав delete.

enter image description here

Затем я подошел к знаку плюса внизу этого списка и должен был выбрать "Добавить другое" и вручную найти загруженный файл .framework.

enter image description here

Ответ 4

В моем случае ошибка исчезла после того, как я добавил путь к каталогу, где Parse.framework был в настройке Build Paths Paths:

Framework Search Paths

В моем проекте даже нет записи для этого параметра, поэтому вам также может понадобиться его создать.

Ответ 5

У меня была такая же проблема при обновлении синтаксического анализа до 1.4v. Вы должны удалить Parse.framework из списка Framework и из каталога проекта, после того как вы удалите из обоих мест копию снова и установите флажок "Скопировать элементы в папку группы назначения". Это сработало для меня.

Ответ 6

Его работа для меня. Просто перейдите к Build Active Architecture Only и Debug должно быть yes и Release должно быть No  введите описание изображения здесь

Ответ 7

В моем случае я должен был сделать еще одну вещь, дополнительную для ответа Сухчай. Кажется, что хотя parse.framework появляется в списке ссылок "Бинарный список с библиотеками" для целей, они могут быть неправильно связаны по какой-либо причине. Просто удалите parse.framework из списка и добавьте его снова, как упоминалось. Таким образом, я смог решить мою проблему.

Ответ 8

Просто поделитесь своими выводами, если у кого-то может быть такая же проблема:

Случайно у нас было две ссылки Parse.framework внутри нашей исходной кодовой базы в двух разных местах. И ссылка на Parse.framework была связана с фазами сборки цели, с первого места. Но когда приложение скомпилировано, Xcode недостаточно умен, чтобы получить ссылку и спрятал ошибку: "Ошибка Lexical или Preprocessor" при "Parse/Parse.h" импортируется в файл .pch. Проведя несколько часов, попробовав различные варианты, удалил ссылку из Parse.framework из исходной базы и сохранил только одну ссылку. Это решило проблему.

И приложение успешно скомпилировано:)

Ответ 9

Для людей, прибывающих из Ionic + Cordova, если вы получаете эту ошибку, я решил ее, удалив текущий parsePlugin и заменив его этот fork.

Для простоты я использовал эти консольные команды (Замените PARSE_APP_ID и PARSE_CLIENT_KEY вашими ключами в консоли анализа):

cordova plugin rm com.parse.cordova.core.pushPlugin
cordova plugin add https://github.com/grrrian/phonegap-parse-plugin --variable APP_ID=PARSE_APP_ID --variable CLIENT_KEY=PARSE_CLIENT_KEY

Ответ 10

Хорошо, поэтому у меня тоже была эта проблема. Я удалил все свои стручки, снова установил их и не повезло. Итак, хорошие новости (и плохие новости, учитывая время, проведенное мной, пытаясь найти проблему) - это то, что мне в конечном итоге удалось ее решить. По-видимому, вам нужно импортировать Foundation/Foundation.h перед разбором. Я не знаю, будет ли это работать для вас или нет, но я пробовал все в сети, и только это, казалось, сработало. Если у вас есть примеры:

#import <Parse/Parse.h>
#import <Foundation/Foundation.h>

переверните его так, чтобы сначала был объявлен Foundation:

#import <Foundation/Foundation.h>
#import <Parse/Parse.h>

Я также где-то читал, что у некоторых людей возникли проблемы с использованием SDK для SDK и Parse SDK. По-видимому, у них есть Bolt.Framework или что-то, что вызывает ошибку. Я также удалил SDK для Facebook, что вначале не имело никакого значения. Надеюсь, я смогу помочь.