Я планирую создать статическую библиотеку swift и использовать ее в приложении ios swift. Я создаю быструю статическую библиотеку по вызову SimpleLib, и она включает в себя открытый класс Greeting, который возвращает строку Hello World:
//
// Greeting.swift
// SimpleLib
//
import Foundation
public class Greeting {
public func Hello() -> String {
return "Hello World";
}
public init() {
}
public static func SayMorning() -> String{
return "Hi, Morning";
}
}
Проект быстрой статической библиотеки выглядит так:
И модуль.modulemap определен следующим образом:
module SimpleLib {
header "SimpleLib-Swift.h"
export *
}
Я создаю и создаю файл libSimpleLib.a, помещаю .a и другие файлы (упомянутые в других публикациях в Интернете, чтобы упомянуть о необходимости поместить их в папку приложения) в папку приложения:
В проекте приложения я включаю путь Libs в FREAMEWORK_SEARCH_PATHS, LIBRARY_SEARCH_PATHS и HEADER_SEARCH_PATHS и включаю файл .a в Linked Framework
Однако, когда я пытаюсь сослаться на класс Greeting в AppDelegate, у меня появляется ошибка - Использование неразрешенного идентификатора 'Greeting'
//
// AppDelegate.swift
// testStatic
//
import UIKit
import SimpleLib
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
var s = Greeting
return true
}
......
}
Как сделать объекты Swift в статической библиотеке можно найти в приложении. Как правильно экспортировать класс / функции в статическую библиотеку swift?
Кто-нибудь добился успеха в создании и использовании быстрой статической библиотеки в приложении для iOS?