I have an Objective-C app I wrote roughly 12 months ago, with the iOS Deployment target set to 12.1 . I added the ResearchKit framework to it, and during the time of development the app was working fine. What I do remember is that it only worked on an actual device and not on the simulator.
A year later Im back to make changes, using Xcode 11, and am now getting a familiar error, solution to which I cannot figure out. This is both on real device and simulator.
I have done all that is required to add the library. See attached images below:
TARGETS -> General Tab
TARGETS -> Build Phases
ERROR
Attempting to run on an iOS 12 device fails too. Is there something I'm missing?
I ended up removing the pre-build Research.framework
and adding the full Project instead:
ResearchKit.framework
file, select Move to Trash
when prompted.ResearchKit.xcodeproj
project file, into destination project. After this make sure the ResearchKit project has its files under it.ResearchKit.framework
is listed under Embed Frameworks
. If not, then add it by selecting the +
button and selecting it from the list. If it is not on that list then build the ResearchKit project to create the .framework
file.ResearchKit.Framework
is added under Link Binary with Libraries
, and also under Embed Frameworks
. If not then add it where absent.There may be better ways to resolve the issue, but for now this works for me to run the App. App now runs on simulator. However, an initial build takes up-to a minute because the ResearchKit project it pretty big.
Update: I later figured out that the reason why I was encountering the 'Image not found' error is that I was trying to run on simulator while the ResearchKit framework had been build to target arm64 (real device). You will have the same issue the other way around (attempting to run on device-arm64 while app was build for simulator).
So how do the above steps fix this? That fixes the issue because by having the ResearchKit project files included you get to build everything for the currently selected architecture, whether device, or simulator. Happy coding.