我有一个包含另一个目标(框架)的项目,它是主项目的依赖项。该框架需要它自己的框架,因此我使用 carthage 添加了它们。该项目在模拟器上编译并运行良好,但是在物理设备上运行时出现以下错误:
dyld: Library not loaded: @rpath/Subframework.framework/Subframework
Referenced from: /private/var/mobile/Containers/Bundle/Application/LONG-ID/MyApp.app/Frameworks/MyAppSDK.framework/MyAppSDK
Reason: no suitable image found. Did find:
/private/var/mobile/Containers/Bundle/Application/LONG-ID/MyApp.app/Frameworks/MyAppSDK.framework/Frameworks/Subframework.framework/Subframework: mmap() error 1 at address=0x00798000, size=0x00060000 segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Bundle/Application/LONG-ID/MyApp.app/Frameworks/MyAppSDK.framework/Frameworks/Subframework.framework/Subframework
我努力了this https://stackoverflow.com/questions/28740268/dyld-library-not-loaded-for-a-framework-within-a-framework,但是唯一的解决方案是将子框架添加到“嵌入框架”到顶级项目,这是不可行的。我尝试修改“构建设置”->“链接”->“动态库安装名称”,但是没有帮助。
如何实现使其在iphone上运行?
我也面临这个问题有一段时间了,我有一个三级层次结构,其中最外层的“伞框架”不应该与其他框架一起分发。我解决这个问题的方法是,将每个“伞框架”的“构建设置”中“链接”下的“运行搜索路径”设置为指向“构建阶段”中设置的“复制文件”目的地(您必须添加“复制文件”构建阶段,并最好将其目标设置为“框架”,然后添加要嵌入的每个“子框架”)。
将子框架复制到“框架” https://i.stack.imgur.com/ryXCq.png
将“运行路径搜索路径”设置为“框架” https://i.stack.imgur.com/Zoav6.png
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)