【发布时间】:2015-03-25 14:15:28
【问题描述】:
我正在开发一个应用程序,我希望有一个分享按钮,允许用户从列表中选择一个他们可以分享的应用程序,然后打开该应用程序或某种对话框,让他们发推文、发帖、短信等
我在我的 Android 应用上实现了这一点,因为在那里创建 ACTION_SEND 意图非常简单,并根据某些 mimetype 进行过滤,以便与哪些应用共享。
我想要与 iOS8 和 Swift 类似的东西,但我无法在任何地方找到如何实现这一点。
我不想在我的应用程序中设置用于与 Twitter 共享或与 Facebook 共享的按钮,或者...用户选择一个,然后使用我的字符串进入应用程序。
更新
所以,我想出了一个办法:
var sharingItems = [AnyObject]()
sharingItems.append(NSString(string: "Whatever you want to share!"))
let activityViewController = UIActivityViewController(activityItems: sharingItems, applicationActivities: nil)
self.presentViewController(activityViewController, animated: true, completion: nil)
然后手机会计算出您可以 ping 的内容,例如 Twitter、Tumblr、Messenger 等。
当然,我有点惊讶地发现 Facebook 不在名单上。我也没有尝试这条路线,因为我认为 iOS 8 已弃用 Share Sheets 以支持应用程序扩展。
如果有更好的方法或其他方法应该在 iOS 8 中完成,请告诉我 :)
【问题讨论】:
-
那么您想找出哪些共享是可能的而不是硬编码列表?
-
在 Android 上共享时,会弹出一个列表,其中包含用户选择的候选应用程序,然后打开应用程序并填写您传递的数据(其他应用程序会处理此问题)。我想知道在 iOS 8 中是否有类似的实用程序。共享扩展似乎是一种选择,但我找不到任何显示如何挂钩的地方。
-
它可以在 Obj C 中完成我不确定如何在 Swift 中完成(不是这有帮助)。社交媒体包已经内置了大部分内容,您只需对按钮进行编码以定义它们将信息发送到的位置,即 Twitter 或 Facebook。
-
@SASmith 是的,我不想在单独的按钮中编写代码,只需一个让手机为您处理的按钮。见家长更新。
-
自动发帖还是只显示发帖位置的可能选项?
标签: ios swift ios8 share ios-app-extension