Custom tasks
While navigable ordered tasks offer flexibility to skip steps, this may not be enough for more complex tasks. In such cases, ResearchKit allows you to build the custom tasks. Custom tasks can be built by creating objects that conform to the ORKTask
protocol. These tasks provide the ultimate flexibility in dynamically choosing the next step based on the results from the previous steps. In the initial five ResearchKit apps that Apple announced, custom tasks were used to generate dynamic surveys based on the data received from the backend server and the answers provided by the users.
The ORKTask
protocol has one non-optional property and two non-optional methods that need to be implemented in order to conform to this protocol. The ORKTaskViewController
calls these methods on the custom task object to obtain relevant steps and dynamically present step view controllers to accomplish the step, as follows:
//1 public var identifier: String //2 public func stepAfterStep(step: ORKStep...