如果应用在后台运行,则不会调用继续用户活动方法



我正在做一个用Objective C编写的大项目,并卡在iOS通用链接过程中。如果应用不在后台运行,则通用链接工作正常,称为 continueUserActivity 方法并按预期执行。但是,如果应用程序在后台运行,请点击通用链接,它会打开应用程序并调用 willContinueUserActivityWithType 方法,但 continueUserActivity 方法不会被调用。

我不知道为什么会这样。我在另一个项目中测试通用链接,一切正常,工作正常。但是在我的主项目中继续用户活动没有被调用。

iOS 版本 11.4

问题是UIApplicationNSUserActivity对象变为零。这就是不调用continueUserActivity方法的原因。若要解决此问题,请初始化NSUserActivity并在willContinueUserActivityWithType方法中设置其委托。

- (BOOL)application:(UIApplication *)application willContinueUserActivityWithType:(nonnull NSString *)userActivityType {
application.userActivity = [[NSUserActivity alloc] initWithActivityType:userActivityType];
application.delegate = self;
return true;

}

我不知道这是否是一种正确的方法,但它对我有用。

相关内容

  • 没有找到相关文章

最新更新