NativeScript 5.4.2
tns-core-modules 5.4.3
TNS-IOS 5.4.2
Xcode 10.2.1
Я пытаюсь создать плагин для этой фоновой библиотеки геолокации для iOS: https://github.com/Yermo/background-geolocation-ios
В проекте создается статическая библиотека libBackgroundGeolocation.a.
Я прочитал документацию по использованию статической библиотеки iOS: https://docs.nativescript.org/plugins/Use-Native-iOS-Libraries#static-libraries
Я прочитал о необходимой структуре каталогов: https://docs.nativescript.org/plugins/plugin-reference#directory-structure
Мой плагин основан на официальном семени плагинов, поэтому у меня есть демо-каталог и каталог src, содержащий код моего плагина и каталог platform / ios.
Я скопировал файл BackgroundGeolocation.a в src / platform / ios.
Я создал каталог src / platform / ios / include / BackgroundGeolocation и скопировал общедоступные заголовочные файлы из проекта в этот каталог.
Я заметил, что был создан файл src / platform / ios / include / BackgroundGeolocation / module.modulemap.
В каталоге плагинов я могу успешно запустить 'npm run build'.
Однако из демо-каталога, если я запускаю 'tns build ios', я постоянно получаю сообщение об ошибке "ld: Библиотека не найдена для -lBackgroundGeolocation".
Если я переименую библиотеку в libBackgroundGeolocation.a, я получу «ENOENT: такого файла или каталога нет, scandir '..... ios / include / libBackgroundGeolocation", поэтому я предполагаю, что он по крайней мере признает, что библиотека есть.
Я подумал, что, возможно, это была проблема с путем, поэтому я попытался явно указать путь к библиотеке в build.xcconfig, используя полный путь к каталогу platform / ios.
Нет радости. Он по-прежнему не находит библиотеку, но если я неправильно опишу имя каталога в -L в build.xcconfig, это помечает ошибку каталога не найдена.
Затем я подумал, что, возможно, это связано с целями в библиотеке, поэтому я следовал рецепту здесь Создание толстой статической библиотеки (устройство + симулятор) с использованием Xcode и SDK 4 + для включения нескольких целей.
Все еще нет радости.
Я подозреваю, что упускаю что-то фундаментальное.
Что я делаю не так?
Есть ли где-нибудь рабочий недавний рабочий пример того, как обернуть статическую библиотеку iOS как плагин NativeScript?