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

Xcode не может создать Swift-представление для моей собственной структуры

Я создал фреймворк, который я хочу использовать в своем приложении OS X. Начиная с обновления до Xcode 7 на El Capitan, когда я пытаюсь щелкнуть команду import с помощью команды, Xcode переходит к следующему представлению.

введите описание изображения здесь

Как я могу заставить Xcode правильно отображать представление Swift? Раньше я это делал, и моим решением было воссоздать каждый файл проекта, который я больше не хочу делать.

4b9b3361

Ответ 1

Из моего опыта есть две возможные причины для этой проблемы. Первый заключается в том, что ваша структура не может быть расположена. Чтобы исправить это, вам нужно перейти к целевому значению Настройки сборки и добавить путь к Пути поиска в каркасе либо абсолютный:

/Users/{user}/path-to-framework-parent-directory

или относительно каталога проекта:

$(PROJECT_DIR)/path-to-framework-parent-directory

Другая возможная причина заключается в том, что путь к вашей структуре содержит пробел в ней. Я обнаружил, что неважно, пытаетесь ли вы избежать его с помощью обратного слэша ../Project\ Name/frameworks или взять весь путь в двойных кавычках "../Project Name/frameworks". Результатом будет то, что SourceKit не смог загрузить модуль.

Обратите внимание, что $(PROJECT_DIR) может расширяться до пути с пространством в нем, и это также приведет к той же ошибке. Таким образом, это выглядит как ошибка в Xcode/SourceKit (я пробовал последнюю версию Xcode 7.2-beta3, и ошибка все еще существует).

Мой репозиторий был на втором жестком диске /Voluems/Macintosh HD/Repos. Я просто переименовал жесткий диск в HD, поэтому путь выглядит как /Volumes/HD/Repos, и проблема исчезла.

Ответ 2

Запуск Product- > Clean, Product- > Build - это то, что сработало для меня.

Ответ 3

Макс. S. ответ указал мне в правильном направлении, однако я использовал параметр "рекурсивный" для моего пути к каркасу.

Чтобы заставить работать, я должен был явно добавить путь непосредственно к рассматриваемой инфраструктуре непосредственного родительского directoy (поскольку он просто не имеет пути к одному из своих более высоких каталогов с опцией "рекурсивный" ).

НТН

Ответ 4

У меня тоже была эта проблема, и другие решения не сработали. Я, наконец, понял это в моем случае:

Имя цели не может содержать пробела

Чтобы переименовать его:

  • Перейдите в настройки вашего проекта.
  • Разверните столбец целевого списка слева, если он еще не существует.
  • Нажмите на соответствующую цель один раз (или нажмите Enter или Tab при ее выборе) и введите новое имя без пробела

Ответ 5

Как ни странно, просто меняя имя моей папки с "Разработчика" на "Разработка", я исправил эту проблему.

Ответ 6

В моем случае я создал каркас для моего SDK вместе с podspec для того, чтобы сделать его стручком cocoa.

У меня была та же проблема, когда я использовал свой SDK, и она была исправлена, когда я импортировал Foundation API в файл, где я использую мой SDK

import Foundation