我正在尝试使用ReactNative处理Twitter和openURL中的深层链接。
下面的代码不起作用,即使处理Twitter也最终进入if (LinkingHandled)
。
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options {
bool TwitterHandled = [[Twitter sharedInstance] application:application openURL:url options:options];
bool LinkingHandled =[RCTLinkingManager application:application openURL:url options:options];
if (TwitterHandled) {
return TwitterHandled;
}
if (LinkingHandled) {
return LinkingHandled;
}
return NO;
}
这有什么问题?我是ObjC的新手。
答案 0 :(得分:1)
使用} else if {
,以便只有处理Twitter时Twitter才能运行,而只有在TwitterHandled
为NO
并且LinkingHandled
为YES的情况下,“链接”才会运行。
这可以简化为一个表达式:
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options {
return [Twitter.sharedInstance
application:application
openURL:url options:options] ||
[RCTLinkingManager
application:application
openURL:url
options:options];
}
如果可以,请切换到Swift。