What is the correct syntax to continue in app for custom intent?

I have a custom intent. When my app is unable to complete the resolution of a parameter within the app extension, I need to be able to continue within the app. I am unable to figure out what the correct objective C syntax is to enable the execution to continue with the app. Here is what I have tried:

completion([[PickWoodIntentResponse init] initWithCode:PickWoodIntentResponseCodeContinueInApp userActivity:nil]);

This results in the following error:

Implicit conversion from enumeration type 'enum PickWoodIntentResponseCode' to different enumeration type 'INAnswerCallIntentResponseCode' (aka 'enum INAnswerCallIntentResponseCode')

I have no idea why it is referring to the enum type of 'INAnswerCallIntentResponseCode' which is unrelated to my app.

I have also tried:

PickWoodIntentResponse *response = [[PickWoodIntentResponse init] initWithCode:PickWoodIntentResponseCodeContinueInApp userActivity:nil];
completion(response);

but that results in 2 errors:

Implicit conversion from enumeration type 'enum PickWoodIntentResponseCode' to different enumeration type 'INAnswerCallIntentResponseCode' (aka 'enum INAnswerCallIntentResponseCode')

and

Incompatible pointer types passing 'PickWoodIntentResponse *' to parameter of type 'INStringResolutionResult *'

The relevant autogenerated code provided to me with the creation of my intent is as follows:

@class PickWoodIntentResponse;
@protocol PickWoodIntentHandling <NSObject>
- (void)resolveVarietyForPickWood:(PickWoodIntent *)intent withCompletion:(void (^)(INStringResolutionResult *resolutionResult))completion NS_SWIFT_NAME(resolveVariety(for:with:)) API_AVAILABLE(ios(13.0), macos(11.0), watchos(6.0));
@end

typedef NS_ENUM(NSInteger, PickWoodIntentResponseCode) {
  PickWoodIntentResponseCodeUnspecified = 0,
  PickWoodIntentResponseCodeReady,
  PickWoodIntentResponseCodeContinueInApp,
  PickWoodIntentResponseCodeInProgress,
  PickWoodIntentResponseCodeSuccess,
  PickWoodIntentResponseCodeFailure,
  PickWoodIntentResponseCodeFailureRequiringAppLaunch
}

@interface PickWoodIntentResponse : INIntentResponse
- (instancetype)init NS_UNAVAILABLE;
- (instancetype)initWithCode:(PickWoodIntentResponseCode)code userActivity:(nullable NSUserActivity *)userActivity NS_DESIGNATED_INITIALIZER;
@property (readonly, NS_NONATOMIC_IOSONLY) PickWoodIntentResponseCode code;
@end

Am I overlooking something? What would be the proper syntax to have within the completion block to satisfy the compiler?

Either of your first 2 choices is correct. I think there's something else happening here that's not obvious that's beyond the scope of these snippets. Do you get the same results with just the relevant code in a small test project? If so, please share a link to your test project. That'll help us better understand what's going on. If you're not familiar with preparing a test project, take a look at Creating a test project.

— Ed Ford,  DTS Engineer

What is the correct syntax to continue in app for custom intent?
 
 
Q