HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – Facebook API – 在哪里实例化以及如何正确实现handleOpenURL大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在通过Facebook API为我的iPhone应用程序工作,并有两个问题:

所有文档/示例似乎都将所有内容放在appDelegate中:实例化Facebook对象并在appDidFinishLaunching中进行授权,并覆盖应用程序:handLeopenURL方法.

在我的应用程序中,除非用户导航到特定视图并按下按钮,否则我不希望发生任何事情.我理解在该视图中,我将实例化Facebook对象并在按钮处理程序方法中启动授权,但是如何处理应用程序的覆盖:handLeopenURL?我必须使用与我的特定视图控制器中使用的不同的FB对象(在我的应用程序委托中实例化).

>这种情况是否需要单身人士?或者它是一个很好的设计解决方案让我的appDelegate实例化FB对象,并通过我的程序中的任何其他地方访问它?

在FB文档中,它们告诉您覆盖应用程序:handLeopenURL方法

- (BOOL)application:(UIApplication *)application handLeopenURL:(NSURL *)url {
    return [facebook handLeopenURL:url]; 
}

>如上所述,这是不是意味着您的应用程序只能打开一种类型的URL?如果您的应用程序需要响应多于一个,您需要解析url参数以确定要采取的操作,对吗?

谢谢!

解决方法

1)两种解决方案都没问题.但是使用单例当然更清晰,特别是如果您打算在整个应用程序中重复使用它.

2)application:handLeopenURL方法:是从外部调用应用程序的方法
FB sdk允许从Facebook应用程序验证如果安装或野生动物园.经过身份验证后,您的应用程序将使用此处理程序回调
它只适用于支持多任务处理的设备
它是简化登录和共享会话的首选方式.但这不是强制性的……
一个应用程序可以支持在应用程序中声明的几个可以检查的URL方案(未经测试但应该是这样的):

- (BOOL)application:(UIApplication *)application handLeopenURL:(NSURL *)url {
  if ([url.scheR_952_11845@e isEqualToString:@"fb<yourid>"])
    return [facebook handLeopenURL:url];
  else {
    // do what you want
    return YES;
  }
}

大佬总结

以上是大佬教程为你收集整理的ios – Facebook API – 在哪里实例化以及如何正确实现handleOpenURL全部内容,希望文章能够帮你解决ios – Facebook API – 在哪里实例化以及如何正确实现handleOpenURL所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。