Обновление
С тех пор я провел время, изучая, как использовать install_name_tool
& otool
, чтобы сделать это правильно, и задокументировал процесс здесь: Использование Frameworks WithinNSBundles
Я хотел бы использовать инфраструктуру Connection Kit в пределах NSBundle, который я создаю.
Чтобы мой пакет мог успешно загрузить структуруЯ изменил dynamic library install name
, чтобы использовать @loader_path
вместо @executable_path
.
После сборки и включения фреймворка в мой NSBundle, затем построение этого,При запуске программы, которая загружает мой пакет, мой пакет не загружается и выдает следующий вывод:
Error loading MyBundle.rwplugin/Contents/MacOS/MyBundle: dlopen(/Users/facelap/Library/Developer/Xcode/DerivedData/MyBundle-hiyhdkndcnuhspfqwcuyneqobeou/Build/Products/Debug/MyBundle.rwplugin/Contents/MacOS/MyBundle, 265): Library not loaded: @executable_path/../Frameworks/DAVKit.framework/Versions/A/DAVKit
Referenced from: /Users/facelap/Library/Developer/Xcode/DerivedData/MyBundle-hiyhdkndcnuhspfqwcuyneqobeou/Build/Products/Debug/MyBundle.rwplugin/Contents/MacOS/../Frameworks/Connection.framework/Versions/A/Connection
Reason: image not found
Похоже, что сам Connection Kit использует платформу.
У меня также есть источник дляэто рамки.Я попытался установить для dynamic library install name
значение @loader_path
, но это привело к аналогичному выводу (и пакет не смог загрузиться).
Какой будет вменяемая запись для dynamic library install name
для платформы в рамках, которая должна использоваться в NSBundle?