Paytm All-in-one SDK模拟器正常 真机iPhone8报错No such module 'AppInvokeSDK'
Paytm All-in-one SDK真机启动
No such module 'AppInvokeSDK'问题排查方案 报错信息
dyld: Library not loaded: @rpath/AppInvokeSDK.framework/AppInvokeSDK Referenced from: /private/var/containers/Bundle/Application/840EAA6B-AB7E-4712-B77F-B6E625E899D2/app.app/app Reason: image not found dyld: launch, loading dependent libraries DYLD_LIBRARY_PATH=/usr/lib/system/introspection DYLD_INSERT_LIBRARIES=/Developer/usr/lib/libBacktraceRecording.dylib:/Developer/usr/lib/libMainThreadChecker.dylib:/Developer/Library/PrivateFrameworks/DTDDISupport.framework/libViewDebuggerSupport.dylib
报错截图
排查解决步骤
- 检查框架嵌入配置
打开项目TARGETS配置页的General选项卡,找到Frameworks, Libraries, and Embedded Content栏,确认AppInvokeSDK.framework右侧的嵌入选项设置为Embed & Sign,请勿选择Do Not Embed,否则真机运行时不会将框架打包到App包内,会出现镜像找不到的错误。 - 验证SDK架构兼容性
打开终端,进入AppInvokeSDK.framework所在目录,执行命令lipo -info AppInvokeSDK.framework/AppInvokeSDK,查看输出是否包含arm64、armv7等真机架构。如果输出仅包含x86_64等模拟器架构,说明当前使用的SDK包缺失真机支持,需要前往Paytm官方开发者后台下载完整支持真机和模拟器的通用SDK包。 - 检查搜索路径配置
打开项目TARGETS的Build Settings选项卡:- 搜索Framework Search Paths,确认配置项中已经添加AppInvokeSDK.framework所在的目录,路径无拼写错误
- 搜索Runpath Search Paths,确认配置项中包含
@executable_path/Frameworks,缺失则手动添加
- 检查排除架构配置
同样在Build Settings中搜索Excluded Architectures,确认真机对应的配置项中没有排除arm64等真机架构,如有误删相关排除规则即可。 - 清理缓存重新编译
按下快捷键Shift + Cmd + K清空Xcode构建缓存,之后进入~/Library/Developer/Xcode/DerivedData目录,删除对应项目的缓存文件夹,重新连接真机运行项目即可。
内容的提问来源于stack exchange,提问作者Mr.Javed Multani
相关产品推荐
相关产品推荐

