升级Expo RN0.63至0.71时AppDelegate.m出现EXAppDelegateWrapper方法报错
解决Expo升级React Native 0.71后AppDelegate.m的Linking错误
错误原因
升级到React Native 0.71版本后,Expo的EXAppDelegateWrapper不再提供application:openURL:options:方法,原代码中调用[super application:application openURL:url options:options]因此触发错误。
修复方案
直接移除对super方法的调用,让RCTLinkingManager全权处理URL跳转逻辑,修改后的代码如下:
// Linking API - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options { return [RCTLinkingManager application:application openURL:url options:options]; } // Universal Links - (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler { return [RCTLinkingManager application:application continueUserActivity:userActivity restorationHandler:restorationHandler]; }
补充说明
React Native 0.71与Expo的集成逻辑已更新,EXAppDelegateWrapper不再负责URL跳转的处理逻辑,相关工作完全由RCTLinkingManager接管,因此无需再调用父类的对应方法。
内容的提问来源于stack exchange,提问作者Zachary Baker
相关产品推荐
相关产品推荐

