【问题标题】:ResearchKit.framework error: Image not foundResearchKit.framework 错误:找不到图像
【发布时间】:2019-11-01 00:23:24
【问题描述】:
我有一个大约 12 个月前编写的 Objective-C 应用程序,iOS 部署目标设置为 12.1 。我向其中添加了 ResearchKit 框架,在开发过程中,该应用程序运行良好。我记得的是,它只能在实际设备上运行,而不能在模拟器上运行。
一年后,我回来使用 Xcode 11 进行更改,现在遇到了一个熟悉的错误,我无法弄清楚解决方案。这在真机和模拟器上都有。
我已经完成了添加库所需的所有工作。请参阅下面的附图:
目标 -> 常规选项卡
目标 -> 构建阶段
错误
尝试在 iOS 12 设备上运行也失败了。我有什么遗漏吗?
【问题讨论】:
标签:
xcode
researchkit
.a
ios-library
【解决方案1】:
我最终删除了预构建 Research.framework 并添加了完整的项目:
- 删除预建的
ResearchKit.framework 文件,出现提示时选择Move to Trash。
- 确保 ResearchKit 项目已关闭(如果已打开,则不会将其添加为项目,而是添加为文件)
- 将
ResearchKit.xcodeproj 项目文件拖放到目标项目中。之后确保 ResearchKit 项目下有其文件。
- 转到您项目的主项目文件(不是 ResearchKit)并选择您的目标。
- 确保
ResearchKit.framework 列在Embed Frameworks 下。如果没有,则通过选择+ 按钮并从列表中选择它来添加它。如果它不在该列表中,则构建 ResearchKit 项目以创建 .framework 文件。
- 在同一目标下,转到构建阶段,并确保在
Link Binary with Libraries 和Embed Frameworks 下添加ResearchKit.Framework。如果没有,则在不存在的地方添加它。
- 构建并运行。
可能有更好的方法来解决这个问题,但现在这对我来说可以运行应用程序。应用程序现在在模拟器上运行。但是,由于 ResearchKit 项目非常大,初始构建最多需要一分钟。
更新:我后来发现我遇到“找不到图像”错误的原因是我试图在模拟器上运行,而 ResearchKit 框架已经构建为目标 arm64 (真实设备)。反过来你也会遇到同样的问题(在为模拟器构建应用程序时尝试在 device-arm64 上运行)。
那么上述步骤如何解决这个问题?这解决了这个问题,因为通过包含 ResearchKit 项目文件,您可以为当前选择的架构构建所有内容,无论是设备还是模拟器。编码愉快。