ios - iOS:objective-C、facebook 和 twitter 实现
问题描述
你如何结合这两个功能?如果我像这样运行它,我会在 Xcode 上得到它error: duplicate declaration of method 'application:openURL:options:'
。这个想法是实现 facebook 和 twitter 登录按钮。
// Twitter
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
options:(NSDictionary<NSString *,id> *)options {
return [[Twitter sharedInstance] application:app openURL:Url options:options];
}
// Facebook
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
BOOL handled = [[FBSDKApplicationDelegate sharedInstance] application:application
openURL:url
sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]
annotation:options[UIApplicationOpenURLOptionsAnnotationKey]
];
// Add any custom logic here.
return handled;
}
解决方案
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
BOOL handledByFacebook = [[FBSDKApplicationDelegate sharedInstance] application:application
openURL:url
sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]
annotation:options[UIApplicationOpenURLOptionsAnnotationKey]];
BOOL handledByTwitter = [[Twitter sharedInstance] application:application
openURL:url
options:options];
return handledByFacebook || handledByTwitter;
}
推荐阅读
- ruby-on-rails - 使用 react-rails gem 时反应组件不渲染
- java - 正则表达式排除带有偶数位数的尾随零
- c++ - 为什么不能同时使用引用和指针?
- python - 如何在 Django 运行时中进行更改?
- ionic-framework - ionic 4 - build android - 即使已安装,也找不到已安装的 Gradle 版本
- javascript - Vue.js:从 jQueryUI 滑块、搜索关键字和流派中过滤一组包含 2 个浮点值之间的值的数据
- c# - 使 textarea 中的特定文本变为粗体
- json - IIS 中的 ASP.NET Core,(ICollection/List/Array) appsettings.json -> web.config
- java - 不同编程语言中有关 Hmac SHA256 的问题
- dialogflow-es - 使用 Dialogflow 的 Google Assistant 上的 Alpha/Beta 测试人员未显示 Linkout 建议