iphone - Twitter 是否可以在 iOS 后台自动分享?

标签 iphone ios twitter

我想在 Twitter 墙上分享一个 Twitter 提要,其中包含一张图片和一些文本。我想要从 iOS 4.3 到 iOS 6.0.1 的支持。如果没有发送/共享按钮,是否可以在后台共享?我该如何实现?

最佳答案

您需要发送的 API 调用是:

https://dev.twitter.com/docs/api/1.1/post/statuses/update_with_media

当然,在进行该调用之前,您需要通过 xAuth/OAuth 对 Twitter 进行身份验证。除非您获得 Twitter 的特别许可,否则您似乎需要使用 OAuth,

https://dev.twitter.com/docs/oauth/xauth

作为请求的背景,使用 Grand Central Dispatch 可能是有意义的——除非您有很多不同的 Twitter 请求要发送。在这种情况下,我会选择 NSOperationQueue,其中 maxConcurrentOperationCount = 1。请参阅以下内容:

http://www.fieryrobot.com/blog/2010/06/27/a-simple-job-queue-with-grand-central-dispatch/

http://www.raywenderlich.com/19788/how-to-use-nsoperations-and-nsoperationqueues

然而,由于 OAuth 如此痛苦,使用第三方库可能是有意义的。我以前从未使用过它,但这是一个使用 MGTwitterEngine 的示例:

Twitter's statuses/update_with_media on iOS returns 500 error

如果您能够将使用限制为 iOS 5+,那么我强烈建议您使用 SLRequest 对象。这种方法的优点是您可以直接与 iOS 用户帐户集成,因此他们不必通过 UIWebView 或其他俗气的方式进行身份验证。

为此,您只需在以下函数 requestForServiceType:requestMethod:URL:parameters: 中插入适当的 Twitter API url 并获取您的 SLRequest 对象。然后使用 requestAccessToAccountsWithType:options:completion: 分配从 ACAccountStore 获得的适当的 Twitter ACAccount。最后调用 performRequestWithHandler,它将异步执行您的请求。

关于iphone - Twitter 是否可以在 iOS 后台自动分享?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13929530/

相关文章:

javascript - 基于屏幕尺寸的可变图像宽度/高度

c++ - NSMutableArray 与堆栈

ios - 当两个用户都在聊天室时,消息仍标记为未读

ios - 无法将 UIBarButtonItem 添加到工具栏

ios - 如何从不同UIViewController中的UITableView访问UITableViewCell?

ruby - 有没有更好的方法来收集推特数据?

java - 如何使用 Java 和 Twitter API 获取给定 Twitter ID 发送的推文?

java - 从 Java 读取 Twitter 页面

iphone - 如何检测 iPhone/iPad 设备上的总可用/空闲磁盘空间?

iphone - 在 iPhone 上将 unsigned char 图像转换为 float 图像的最快方法