Заголовок зонтика для цели не найден, карта модуля не будет сгенерирована

Когда я пытаюсь собрать CKCountdownButton как фреймворк в Xcode 6.3, он жалуется

предупреждение: не найден зонтичный заголовок для цели 'CKCountdownButton', карта модуля не будет сгенерирована

Затем, когда я импортирую этот фреймворк в другой проект, он потерпел неудачу с Нет такого модуля 'CKCountdownButton'

4 ответа

Решение

Добавить CKCountdownButton.h в рамках исправлена ​​эта проблема.

Я думаю, что заголовок зонтика означает заголовочный файл с таким же именем, как Framework

Я нашел другое решение, Xcode предоставляет способ указать заголовок unbrella через конфигурацию файла карты модуля.

снимок

Содержание module.modulemap должно быть:

framework module Foo {
    umbrella header "Bar.h"

    header "other-header.h"

    export *
    module * { export * }
}

Эта цель должна иметь как минимум 1 файл Swift. Убедитесь, что у вас есть файлы Swift, добавленные к цели

Карта настраиваемого модуля для фреймворка [О программе]

Создать umbrella file - любой .h файл (или автоматически сгенерированный <product_name>.h для цели Framework)

Добавить все .h файлы, которые будут открыты для потребителя в umbrella file

#import "header_1.h"
#import "header_2.h"

Добавить umbrella file и файлы заголовков .h из него (header_1.h, header_2.h) в Headersраздел [не могу] [общедоступное целевое членство]

Select `.h` file -> Select File Inspectors Tab -> Target Membership -> Select the target and make it **public**
//or
Project editor -> select a target -> Build Phases -> Headers -> add files to the **public** zone

Создать .modulemap файл

framework module product_name {
    umbrella header "<umbrella_name>.h"
    export *
}

Проверьте Defines Module

Build Settings -> Defines Module -> YES

Уточнить Module Map File

Build Settings -> Module Map File -> relative path to `.modulemap` file 

У меня была такая же проблема с GoogleToolbox. Это случилось, когда я попытался обновить репозиторий, и произошла какая-то ошибка. Просто сделал pod install из терминала в папке проекта, и все стало хорошо.

Другие вопросы по тегам