Мне нужно смешать код Swift и Objective- C внутри библиотеки stati c в iOS. Я создал файл module.modulemap
и включил туда модуль Private
. Я также могу импортировать приватный модуль без какого-либо сообщения об ошибке, но все же компилятор выдает ошибку, когда я пытаюсь сослаться на приватный класс с помощью Use of unresolved identifier 'PrivateClass'
UsePrivateClass.swift
import Foundation
import StaticLib.Private
class UsePrivateClass {
func printPublicClass() {
PublicClass().print()
}
func printPrivateClass() {
PrivateClass().print()
}
}
module.modulemap
module StaticLib {
export *
explicit module Private {
header "PrivateClass.h"
}
}
Я уже установил DEFINE_MODULES
на YES
и MODULEMAP_FILE
на файл module.modulemap
. Возможно, отсутствует что-то, связанное с копированием файла modulemap в правильный пункт назначения или заголовочный файл PrivateClass.h
, но не уверен, какой шаг пропущен.
Создан пример проекта здесь .