Модуль из подпроекта (рамки) не найден

Я использую XCode 8 + Swift 3.

Я создал новый проект iOS под названием «MyApp». Затем я создаю проект Cocoa touch framework под названием «MySubProject». (Идея состоит в том, чтобы проект MyApp получал доступ к коду MySubProject .)

Они находятся на одной и той же папке:

- MyApp/ - MySubProject/ 

В MySubProject у меня есть файл MyService.swift (это класс MyService ) в группе / папке службы:

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

Код очень прост:

 import Foundation public class MyService { public func greeting() -> String { return "Hello my service!" } } 

В MyApp я добавил MySubProject.xcproject в проект MyApp как подпроект под MyApp :

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

Затем я перетаскиваю MySubProject.framework в MySubProject/Products/ в проект MyApp General -> Embedded Binaries и Linked Framework и библиотеки:

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

Теперь, под MyApp/ViewController.swift , я импортирую класс MySubProject из MySubProject : введите описание изображения здесь

Но когда я создаю проект MyApp, я всегда получаю ошибку компилятора « Нет такого модуля« MyService », как вы видите на картинке выше.

Зачем? Как заставить MyApp получить доступ к коду MySubProject ?

3 Solutions collect form web for “Модуль из подпроекта (рамки) не найден”

Импорт MySubProject! а не myService … после этой рамки для приложения, посмотрите снимок, пожалуйста. Я не могу отправить изображение. снимок

Установлен ли в программе MySubProject параметр «Определяет модуль»?

РЕДАКТИРОВАТЬ:
Есть несколько вещей, которые вы можете проверить:

Чтобы найти в вашем основном проекте, ваша инфраструктура должна быть скомпилирована для одной и той же цели, то есть если ваш основной проект имеет iOS в качестве цели, ваш подпроект должен также иметь iOS в качестве цели (а не, например, watchOS).
Включите в проект навигатора проект. Это показывает панель с проектными и целевыми настройками. Активируйте свою цель и выберите вкладку «Общие». В разделе Информация о развертывании вы можете проверить тип цели.

Чтобы импортироваться в ваш основной проект, ваша структура должна быть построена, когда ваш основной проект начнет строить, т. Е. Это должно быть сделано в правильной последовательности.
Эта последовательность может быть выбрана надлежащим образом: в верхней строке окна Xcode (тот, у которого красные / желтые / зеленые кнопки управления окном слева), справа от кнопки остановки находится поле с активной схемой слева и выбранным устройством вправо. При нажатии на схему открывается подменю. Выберите схему редактирования (это также можно сделать из главного меню Xcode по схеме Product / Scheme / Edit). Выберите «Сборка» в левой панели. С правой стороны вы увидите свои цели. Они будут построены сверху донизу. Поэтому ваша инфраструктура должна быть сверху, так как ваш основной проект нуждается в импорте, когда он начнет строить. Вы можете изменить последовательность, перетаскивая цели соответственно.

Есть еще одна вещь: над целями есть флажок «Parallelize Build». Это не должно быть проверено! Если этот флажок установлен, ваш основной проект и ваш подпроект могут быть созданы в одно и то же время, что не будет работать, так как подпроект должен быть скомпилирован полностью, когда основной проект начнет строить.

И, в конце концов, вам нужно импортировать свою фреймворк (как hasayakey предложил в этом ответе +1), а не конкретный файл фреймворка).

Предыдущее предложение :
Имеет ли ваш файл подпроекта «MyService» (или, тем не менее, он называется) включить целевое членство для «MyService»?

  • Не удается включить совместное использование ключей для Xcode 8.0 beta 6
  • Индикатор выбора UIPickerView не отображается в iOS10
  • Xcode 8 не может открыть Model.xcdatamodeld
  • Xcode и Cocoapods Ошибка «Нет такого модуля»
  • Не удается запустить модульные тесты в Xcode 8 с более ранней конфигурацией тестовых модулей
  • Новое реагирование на собственное приложение не работает на run-ios xcode 8.3
  • Может ли xcodebuild управлять автоматической подпиской?
  • Значение типа «Ошибка» не имеет кода участника
  • Перезагрузка представления UICollection после анализа данных
  • Xcode 8.1 «Нет соответствующих профилей обеспечения» после обновления MacOS и Xcode
  • Xcode 8.3.3 «Нет учетных записей с доступом к iTunes Connect»
  • Interesting Posts

    Где инициализировать структуры данных: init или viewDidLoad?

    Как найти цвет отдельного пикселя в UIImage в быстром

    Objective-C: можете ли вы проверить неинициализированный указатель на тип статического класса?

    iOS requestAccessToAccountsWithType не отображает запрос на разрешение / NSAlert

    Ошибка Xcode: не удается проанализировать отладочную карту: нет такого файла или каталога в приложении iOS

    Приложение Scrumptious для iOS FacebookSDK не работает, потому что оно всегда получает FBErrorCategoryUserCancelled

    iOS – родной способ совместного использования файлов с любыми возможными приложениями

    AFNetworking сериализует косую черту, что делает полезную нагрузку JSON недействительной

    Ошибка sqlite3_prepare_v2 – Уже выполняется предыдущий запрос

    Целевое действие называется дважды

    Получить ссылку в точке UITextView

    iOS Цель C: Как увеличить количество строк после заданного условия

    Как создать объект Singleton в swift

    Swift 2 разобрать JSON из онлайн-URL с swiftyJSON

    Свернуть карту: error: не может вызывать «карту» с списком аргументов типа «((_) -> _)»

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.