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

Я использую 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»?

  • Компилятор Swift 3.0 и распределение памяти Sourcekitservice
  • XCode 8.0 Swift 3.0 медленная индексация и построение
  • Почему я не могу использовать новый встроенный синтаксис #imageLiteral в Xcode 8? «Ожидаемое выражение в обратном результате»
  • textView.typingAttributes не работает для прогнозирования
  • ИспользованиеОписание в Xcode 8
  • Ошибка компилятора Interface Builder XIB на Xcode 8
  • Swift 3 / XCode 8 Ошибка NSManagedObjectContext.fetch
  • iOS 10 - Сбой приложений Для доступа к библиотеке фотографий или к устройству через UIImagePickerController
  • Этот iPhone 6 работает под управлением iOS 10.1 (14B55c), который может не поддерживаться этой версией Xcode
  • Xcode 8 Предупреждения раскадровки для ширины полосы навигации
  • Xcode 8 сработает сразу после открытия проекта (по-видимому, относится к редактору сцен)
  • Interesting Posts

    Swift: Я хочу знать, какова строка указательного пути кнопки, которую я нажал?

    Не удается получить UITextField для текста автосохранения

    Visual Studio Xamarin – фреймворк только в ios 9.3

    Как проверить, зарегистрировано ли устройство в MDM

    Как получить CGImageRef из контекстно-рисованных изображений?

    Случайные проблемы с NSUserDefaults

    Разделить класс для создания набора объектов из файла?

    Приложение Qt QML на IOS работает медленнее, JIT отключен

    Как получить низкую задержку отправки данных движения между устройствами iOS и что я должен ожидать?

    Разработка Apple Push Notifications не работает на iOS; didRegisterForRemoteNotificationsWithDeviceToken не вызывается

    Как преобразовать строку Base64 в NSData?

    Добавить UIActivityIndicatorView в UIActionSheet

    Где установлена ​​конфигурация активной сборки в Xcode 4

    Регистрация уведомлений регистратора Azure исчезает при отправке уведомления

    Публикация мобильного сайта в App Store и Google Play

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