Я прошел ваши шаги и все работает, по крайней мере, в Xcode 11.3.1 / iOS 13.3. Единственное ... кажется ... см. Комментарий
import StaticLib // << looks like you've forgot this one !!!
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
StaticLib.test("How do you do?") // error
return true
}
}
Обновление: Вот мои шаги -
- Нажмите проект в Xcode Project Navigator
- Нажмите + , чтобы добавить новую цель
- Выберите Каркасы и библиотеки> Stati c Библиотека> Далее
- Введите имя
StaticLib
(на языке Swift)> Fini sh - Откройте StaticLib.swift и введите
public class StaticLib {
public class func printme() {
print("I'm swfit static lib!")
}
}
Выберите
StaticLib
схема,
Построить> ОК Выберите проект в Навигаторе проекта> щелкните цель основного приложения> выберите Общие В разделе
Framework, Библиотеки и встроенный контент щелкните
+ и выберите
libStaticLib.a
> Добавить Выберите схему основного приложения> Создать> ОК Выберите AppDelegate.swift> добавить
import StaticLib
Добавить в любом месте кода
StaticLib.printme()
Build> OK> Run ... см. Вывод
Update2: для внешнего проекта Lib
+ 1 Необходимо скопировать StaticLib.swiftmodule
(он создается в том же месте, что и libStaticLib.a) в папку целевого проекта (я поместил его на уровне файла .xcodeproj
)
+ 2 В основной цели приложения Build Settings
установите SWIFT_INCLUDE_PATHS = ${SRCROOT}
+ 3 Очистить> Построить
Примечание: индикатор того, что загруженный модуль является автозаполнением для импорта, должен показывать StaticLib