Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 脱机时如何通过FB应用程序共享链接_Ios_Objective C_Facebook Ios Sdk - Fatal编程技术网

Ios 脱机时如何通过FB应用程序共享链接

Ios 脱机时如何通过FB应用程序共享链接,ios,objective-c,facebook-ios-sdk,Ios,Objective C,Facebook Ios Sdk,我正在为iPhone开发一个移动应用程序。该应用程序将主要用于在不同国家度假的人,由于互联网流量成本高,大部分时间处于离线状态 然而,我为其开发该应用程序的公司希望,当人们没有连接到互联网时,用户也能够使用“Facebook共享”功能 它的工作方式应该是他们单击应用程序中的共享链接按钮,然后收到一条消息,表示他们处于脱机状态,一旦他们再次联机,该链接将被共享 我正在想办法做这件事。我是否可以通过FB://协议(或其他)将我想要共享的链接传递到官方FB应用程序,FB应用程序在再次联机后立即处理发布

我正在为iPhone开发一个移动应用程序。该应用程序将主要用于在不同国家度假的人,由于互联网流量成本高,大部分时间处于离线状态

然而,我为其开发该应用程序的公司希望,当人们没有连接到互联网时,用户也能够使用“Facebook共享”功能

它的工作方式应该是他们单击应用程序中的共享链接按钮,然后收到一条消息,表示他们处于脱机状态,一旦他们再次联机,该链接将被共享

我正在想办法做这件事。我是否可以通过FB://协议(或其他)将我想要共享的链接传递到官方FB应用程序,FB应用程序在再次联机后立即处理发布/共享

还是我必须自己做,把我想分享的链接放在一个内部数据库中,然后在我再次在线时把它们贴到墙上

或任何其他方式

任何建议都是欢迎的,我更喜欢一个非常快速的解决方案,并希望有人可能有一个想法如何做到这一点。我希望我能将共享链接传递到官方的FB应用程序,当它再次上线时,这个应用程序可以处理所有事情


谢谢你的想法

您的方法应该是让链接共享代码自动缓存请求,直到它们被发送。然后,应用程序不需要关心细节——它只需发布链接,就可以从API获得“失败”、“成功”或“延迟”响应,并相应地通知用户

然后,您的链接共享代码可以在内部检查它当前是否可以发布到FB,如果不能(因为用户当前处于脱机状态,或者Facebook令牌已过期),它将存储它以供以后使用。然后,该类将定期重新检查(例如,当应用程序到达前台时,或当该类在下次应用程序启动时初始化时)连接情况,然后它将检查令牌是否仍然有效,并在需要时执行FB登录。一旦它有了一个有效的令牌,它就可以遍历挂起的请求并对它们采取行动

如果您真的想让它变得漂亮和干净,您可以分离出代码,这些代码接受传入的请求以执行某些操作,检查是否可以立即执行,执行或存储以备以后使用,并定期检查挂起队列中的任何请求。这个类不知道请求做什么或如何执行,它将与另一个类一起工作,该类实现一个协议来完成实际工作,并了解facebook等。这种设置甚至可能有一个现有的设计模式,但如果有,我不知道它叫什么


更新:我做了一些研究,发现这与“开火忘记模式”非常相似。

我不知道FB应用程序是否能处理它,通常情况下,人们会将链接存储在内部数据库中,然后按照你的建议再次在线发布。简短回答:你必须自己做。