Я создал проект фреймворка Cocoa, используя Swift.Он сгенерировал заголовочный файл Objective-C Logger.h
.Я создал методы как публичные, и сборка удалась.Когда я связываю и импортирую инфраструктуру в другом проекте, доступны только переменные, объявленные в заголовке.
#import <Cocoa/Cocoa.h>
//! Project version number for Logger.
FOUNDATION_EXPORT double LoggerVersionNumber;
//! Project version string for Logger.
FOUNDATION_EXPORT const unsigned char LoggerVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <Logger/PublicHeader.h>
Как добавить функции, созданные в Logger.swift
, в заголовок, чтобы они были видныпосле импорта модуля.В импортированном проекте также используется Swift 4.2.
Примеры функций в Logger.swift
public struct Logger {
public func debug(_ msg: Any) {
// ...
}
// ...
}
Я также пытался создать статическую библиотеку согласно Создание чистого модуля Swift статья, но когда я получаю сообщение об ошибке компоновщика, я не могу найти модуль.Я включил путь к lib и флаг -lLogger
, также попытался добавить через двоичный параметр Xcode Add.