选择器'application:openURL:options:sourceApplication:annotation'没有已知的类方法
Posted
技术标签:
【中文标题】选择器\'application:openURL:options:sourceApplication:annotation\'没有已知的类方法【英文标题】:No known class method for selector 'application:openURL:options:sourceApplication:annotation'选择器'application:openURL:options:sourceApplication:annotation'没有已知的类方法 【发布时间】:2020-12-15 13:39:00 【问题描述】:我正在将 Fitbit 集成到我的 react-native 应用程序中,我应该将一段代码添加到我的 AppDelegate.m:
#import "RCTLinkingManager.h"
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation
return [RCTLinkingManager
application:application
openURL:url
sourceApplication:sourceApplication
annotation:annotation];
但我已经有了处理 FB 登录和 firebase 链接的设置,也许还有其他东西:
- (BOOL)application:(UIApplication *)app
openURL:(NSURL *)url
options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
if ([[FBSDKApplicationDelegate sharedInstance] application:app openURL:url options:options])
return YES;
if ([RCTLinkingManager application:app openURL:url options:options])
return YES;
return NO;
当我试图将它们组合在一起时:
- (BOOL)application:(UIApplication *)app
openURL:(NSURL *)url
options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation
if ([[FBSDKApplicationDelegate sharedInstance] application:app openURL:url options:options ])
return YES;
if ([RCTLinkingManager application:app
openURL:URL
options:options
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation ])
return YES;
return NO;
我收到错误消息:No known class method for selector 'application:openURL:options:sourceApplication:annotation'
这是否意味着sourceApplication
和annotation
已经包含在options
中?
欢迎任何帮助
【问题讨论】:
【参考方案1】:您应该以不同的方式调用FBSDKApplicationDelegate
:
if ([[FBSDKApplicationDelegate sharedInstance] application:application openURL:url sourceApplication:sourceApplication annotation:annotation])
return YES;
【讨论】:
我需要用LinkingManager
更改部分,而不是FBSDKApplicationDelegate
您的通话中有错字,您输入的是URL
,但应该是url
。
是的,这是一个错字,FBSDKApplicationDelegate
工作得很好以上是关于选择器'application:openURL:options:sourceApplication:annotation'没有已知的类方法的主要内容,如果未能解决你的问题,请参考以下文章
URL Scheme 不触发 application:openURL:options
iOS9 application:application openURL: sourceApplication: annotation: 方法不执行
application:openURL:sourceApplication:annotation: 有 MainWindow.xib 时不调用