Xcode 6: может ли статическая библиотека iOS иметь карту модуля?

И тогда он может быть связан и использован из Objective-C с помощью

@import MyStaticLib;

синтаксис.

Если да, то как именно вы это делаете.

Ответ 1

Вы можете создать статическую библиотеку с файлом .modulemap, чтобы использовать синтаксис @import

Подробнее здесь

Ответ 2

Если вы можете отредактировать проект Xcode библиотеки, вы можете создать *.modulemap файл и установить его в настройке MODULEMAP_FILE Build.

Пример файла карты из CocoaLumberjack:

framework module CocoaLumberjack {
    umbrella header "CocoaLumberjack.h"

    export *
    module * { export * }
}

module CocoaLumberjack.DDContextFilterLogFormatter {
    header "DDContextFilterLogFormatter.h"
    export *
}

module CocoaLumberjack.DDDispatchQueueLogFormatter {
    header "DDDispatchQueueLogFormatter.h"
    export *
}

module CocoaLumberjack.DDMultiFormatter {
    header "DDMultiFormatter.h"
    export *
}

module CocoaLumberjack.DDASLLogCapture {
    header "DDASLLogCapture.h"
    export *
}

module CocoaLumberjack.DDAbstractDatabaseLogger {
    header "DDAbstractDatabaseLogger.h"
    export *
}

Ответ 3

Вы можете создать фреймворк из этой статической библиотеки, вы можете следовать всем инструкциям здесь

После завершения вы можете импортировать свою статическую библиотеку следующим образом:

@import MyStaticLib;