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, содержащий мой код плагина, и каталог платформ / 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: Library not found for -lBackgroundGeolocation».
Если я переименую библиотеку в libBackgroundGeolocation.a, я получу «ENOENT: нет такого файла или каталога, scandir '..... ios / include / libBackgroundGeolocation», так что я предполагаю, что он, по крайней мере, распознает наличие библиотеки.
Я подумал, что, возможно, это проблема пути, поэтому я попытался явно указать путь включения библиотеки в build.xcconfig, используя полный путь к каталогу платформ / ios.
Никакой радости. Он по-прежнему не находит библиотеку, но если я неправильно напишу имя каталога в -L в build.xcconfig, он помечает ошибку «каталог не найден».
Затем я подумал, что, возможно, это связано с целями в библиотеке, поэтому я следовал рецепту здесь Создать толстую статическую библиотеку (устройство + симулятор) с помощью Xcode и SDK 4+ для включения нескольких целей.
По-прежнему никакой радости.
Я подозреваю, что упускаю что-то фундаментальное.
Что я делаю неправильно?
Есть ли где-нибудь рабочий недавний рабочий образец того, как обернуть статическую библиотеку iOS как плагин NativeScript?