使用LeapSDK iOS Swift SDK运行时遇libinference_engine.dylib加载失败求助
解决LeapSDK iOS运行时
libinference_engine.dylib加载失败问题 问题描述
使用LeapSDK iOS Swift SDK在设备上运行应用,编译正常但启动时出现动态库加载错误:
Library not loaded: @rpath/libinference_engine.dylib Referenced from: <B297B50F-C1AB-333F-A7BE-DF002AA2DCB3> /private/var/containers/Bundle/Application/C73AB24E-5E9B-4765-83EC-8493F6E98C28/MemoIt.app/Frameworks/LeapSDK.framework/LeapSDK Reason: tried: '/usr/lib/system/introspection/libinference_engine.dylib' (no such file, not in dyld cache), '/usr/lib/swift/libinference_engine.dylib' (no such file, not in dyld cache), '/private/preboot/Cryptexes/OS/usr/lib/swift/libinference_engine.dylib' (no such file), '/private/var/containers/Bundle/Application/C73AB24E-5E9B-4765-83EC-8493F6E98C28/MemoIt.app/Frameworks/libinference_engine.dylib' (no such file), '/private/var/containers/Bundle/Application/C73AB24E-5E9B-4765-83EC-8493F6E98C28/MemoIt.app/Frameworks/LeapSDK.framework/Frameworks/libinference_engine.dylib' (code signature invalid in <68BDF178-BCF6-304F-BC96-2409A199131A> '/private/var/containers/Bundle/Application/C73AB24E-5E9B-4765-83EC-8493F6E98C28/MemoIt.app/Frameworks/LeapSDK.framework/Frameworks/libin dyld config: DYLD_LIBRARY_PATH=/usr/lib/system/introspection DYLD_INSERT_LIBRARIES=/usr/lib/libLogRedirect.dylib:/usr/lib/libBacktraceRecording.dylib:/usr/lib/libMainThreadChecker.dylib:/usr/lib/libRPAC.dylib:/usr/lib/libViewDebuggerSupport.dylib
环境信息:Xcode 26.5,无“显式嵌入并签名框架”选项,Runpath已设置为@executable_path/Frameworks。
解决方案
1. 确认LeapSDK依赖完整性
- 右键点击项目中的
LeapSDK.framework,选择“Show in Finder”,进入LeapSDK.framework/Frameworks目录,检查是否存在libinference_engine.dylib。 - 如果缺失,联系LeapSDK官方获取完整SDK包,或从可靠渠道获取匹配版本的
libinference_engine.dylib。
2. 手动嵌入动态库到项目
- 将
libinference_engine.dylib拖入项目的Frameworks组,勾选“Copy items if needed”。 - 进入项目
Build Phases→Copy Files,点击+添加该dylib,设置Destination为Frameworks,取消勾选Copy only when installing。
3. 修复动态库签名问题
如果错误提示“code signature invalid”,执行以下操作:
- 打开终端,定位到
libinference_engine.dylib所在路径。 - 使用你的开发证书重新签名:
(团队ID可在Apple Developer后台查看,或通过codesign -f -s "Apple Development: 你的姓名 (团队ID)" ./libinference_engine.dylibsecurity find-identity -v -p codesigning命令获取可用证书)
4. 调整Runpath Search Paths
在项目Build Settings中找到Runpath Search Paths,添加以下路径:
@executable_path/Frameworks @loader_path/Frameworks
(@loader_path指向LeapSDK.framework的目录,帮助dyld找到其内部依赖的库)
5. 验证Framework Search Paths
确保Build Settings中的Framework Search Paths包含LeapSDK的实际存放路径,例如:
$(PROJECT_DIR)/Path/To/LeapSDK
内容的提问来源于stack exchange,提问作者Pranay Vohra
相关产品推荐
相关产品推荐

