У меня есть проект Ionic5 (cli 6.3.0) / Cordova 9.0.3 (cordova-lib@9.0.2), в котором используются плагины.
Я пытаюсь создать собственный плагин для стороннего фреймворка.
Я знаю, что скелет плагина правильный, так как я создал его с помощью Plugman, и перед добавлением фреймворка я мог собрать / запустить и получить отзыв о том, что "coolMethod" был запущен из файла Objective- C.
Даже после добавления фреймворка я могу заставить плагин корректно установить с помощью ionic cordova plugin add ./packages/cordova-plugin-my-custom-stuff
Я могу заставить Ionic / Cordova успешно построить проект iOS с ionic cordova build ios
Но когда я пытаюсь запустить эмулятор iOS из командной строки Ioni c ionic cordova run ios
или из автоматически сгенерированного проекта xCode, я получаю
dyld: Library not loaded: @rpath/MyThirdPartySDK.framework/MyThirdPartySDK
Referenced from: /Users/myUser/Library/Developer/CoreSimulator/Devices/C9E28EFF-B017-4F5E-
BA89-5200AE5D64EA/data/Containers/Bundle/Application/775C8394-B014-4B01-89CA-
1D462FD54F4A/MyName Mobile-UAT.app/MyName Mobile-UAT
Reason: image not found
Структура проекта (сжато для ясность) выглядит так:
MyProject
-node_modules
-packages
-cordova-plugin-my-custom-stuff
-src
-ios
MyCustomStuff.m
-MyThirdPartySDK.framework
-Headers
MobileAPI.h
MyThirdPartySDK.h
-Modules
module.modulemap
MyThirdPartySDK
-www
cordova-plugin-my-custom-stuff.js
package.json
plugin.xml
Плагин. xml ios раздел выглядит следующим образом:
<platform name="ios">
<config-file parent="/*" target="config.xml">
<feature name="MyCustomStuff">
<param name="ios-package" value="MyCustomStuff"/>
</feature>
</config-file>
<source-file src="src/ios/MyCustomStuff.m"/>
<source-file src="src/ios/MyCustomStuffSDK.framework" framework="true"/>
<header-file src="src/ios/MyCustomStuffSDK.framework/Headers/MobileAPI.h" target-dir="MyCustomStuff" />
</platform>
Я ищу решение, которое находится внутри плагина. xml конфигурация или какой-то другой ioni c / cordovaproject c onfiguration. Я хотел бы избежать редактирования проекта xCode, поскольку все это «автоматически» генерируется командной строкой ionic / cordova.