Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.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 如何与Facebook、Twitter等共享应用程序共享字符串。?_Ios_Swift_Ios8_Share_Ios App Extension - Fatal编程技术网

Ios 如何与Facebook、Twitter等共享应用程序共享字符串。?

Ios 如何与Facebook、Twitter等共享应用程序共享字符串。?,ios,swift,ios8,share,ios-app-extension,Ios,Swift,Ios8,Share,Ios App Extension,我正在开发一个应用程序,我希望有一个共享按钮,允许用户从他们可以共享的列表中选择一个应用程序,然后打开该应用程序或某种对话框,让他们可以推特、张贴、短信等 我在我的Android应用程序上实现了这一点,因为它非常简单,可以创建一个ACTION\u SEND intent,并根据特定的mimetype筛选要与之共享的应用程序 我想要类似iOS8和Swift的东西,但我找不到任何地方可以实现这一点 我不想在我的应用程序中有按钮与Twitter共享,或与Facebook共享,或。。。我只想ping一个

我正在开发一个应用程序,我希望有一个共享按钮,允许用户从他们可以共享的列表中选择一个应用程序,然后打开该应用程序或某种对话框,让他们可以推特、张贴、短信等

我在我的Android应用程序上实现了这一点,因为它非常简单,可以创建一个ACTION\u SEND intent,并根据特定的mimetype筛选要与之共享的应用程序

我想要类似iOS8和Swift的东西,但我找不到任何地方可以实现这一点

我不想在我的应用程序中有按钮与Twitter共享,或与Facebook共享,或。。。我只想ping一个共享资源,它可以让我共享候选应用程序,然后让用户选择一个,然后用我的字符串进入应用程序

更新

所以,我想出了一个办法:

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中的共享表不推荐使用,而支持应用程序扩展


如果在iOS 8中有更好的方法或其他方法,请让我知道:)

为了给您提供更全面的解决方案(Facebook实际上是一个选项),您可以使用
UIActivityViewController
并排除不相关的项目,以便与社交媒体共享,例如,要共享到Facebook和Twitter,您可以排除其他类似的内容:

let activityViewController = UIActivityViewController(activityItems:
  ["Whatever you want to share!"], applicationActivities: nil)
let excludeActivities = [
    UIActivityTypeMessage,
    UIActivityTypeMail,
    UIActivityTypePrint,
    UIActivityTypeCopyToPasteboard,
    UIActivityTypeAssignToContact,
    UIActivityTypeSaveToCameraRoll,
    UIActivityTypeAddToReadingList,
    UIActivityTypePostToFlickr,
    UIActivityTypePostToTencentWeibo,
    UIActivityTypeAirDrop]
activityViewController.excludedActivityTypes = excludeActivities;

presentViewController(activityViewController, animated: true,
  completion: nil)

.

为了给您提供一个更全面的解决方案(Facebook实际上是一个选项),您可以使用
UIActivityViewController
并排除不相关的项目,以便共享到社交媒体,例如共享到Facebook和Twitter。您可以排除其他类似的内容:

let activityViewController = UIActivityViewController(activityItems:
  ["Whatever you want to share!"], applicationActivities: nil)
let excludeActivities = [
    UIActivityTypeMessage,
    UIActivityTypeMail,
    UIActivityTypePrint,
    UIActivityTypeCopyToPasteboard,
    UIActivityTypeAssignToContact,
    UIActivityTypeSaveToCameraRoll,
    UIActivityTypeAddToReadingList,
    UIActivityTypePostToFlickr,
    UIActivityTypePostToTencentWeibo,
    UIActivityTypeAirDrop]
activityViewController.excludedActivityTypes = excludeActivities;

presentViewController(activityViewController, animated: true,
  completion: nil)


.

那么你想知道哪些共享是可能的,而不是硬编码的列表吗?在Android上共享时,会弹出一个列表,列出用户选择的候选应用程序,然后打开应用程序,并填写您传递的数据(其他应用程序会处理此问题)。我想知道在iOS 8中是否有类似的实用程序。股票延期似乎是一种选择,但我找不到任何地方显示如何与之挂钩。它可以在Obj C中完成,但我不确定在Swift中如何实现(这并没有帮助)。社交媒体软件包已经内置了大部分功能,您只需对按钮进行编码,以定义它们将信息发送到ie Twitter或Facebook的位置。@SASmith是的,我不想在单独的按钮中进行编码,只需一个让手机为您处理信息的按钮。查看家长以获取更新。因此,自动发布或仅显示发布到何处的可能选项?因此,您想知道哪些共享是可能的,而不是硬编码列表?在Android上共享时,会弹出一个列表,其中包含用户选择的候选应用程序,然后打开应用程序并填写您传递的数据(另一个应用程序处理这个问题)。我想知道在iOS 8中是否有类似的实用程序。共享扩展似乎是一个选项,但我找不到任何地方显示如何连接到它。它可以在Obj C中完成,但我不确定如何在Swift中完成(这没有帮助)。社交媒体软件包已经内置了其中的大部分功能,您只需对按钮进行编码,以定义它们将信息发送到ie Twitter或Facebook的位置。@SASmith是的,我不想在单独的按钮中进行编码,只需一个按钮就可以让手机为您处理信息。有关更新信息,请与家长联系。因此,请自动发布或显示可能的选项去哪里发帖?酷,那肯定是过滤过的。出于某种原因,FB one仍然没有出现。可能只是FB中的一个设置app@David只是检查一下…Facebook应用程序在你的设备上,对吗?是的,是的。我唯一要传递的是NSString和文档说明Facebook应该对NSString做出反应。我明白了退出。我没有通过设置登录FB(奇怪,因为我是通过应用程序登录的)。有没有可能给出我自己喜欢的应用程序顺序?比如说我希望FB和Twitter成为共享表中的第一个,然后是所有其他应用程序?很酷,这肯定是经过过滤的。出于某种原因,FB应用程序仍然没有显示。可能只是FB中的一个设置app@David只是检查一下…Facebook应用程序在你的设备上,对吗?是的,它是的。我唯一要传递的是NSString,文档中说Facebook应该对NSString做出反应。我明白了。我没有通过设置登录FB(奇怪,因为我是通过应用程序登录的).有没有可能给出我自己喜欢的应用程序顺序?比如说,我希望FB和Twitter成为共享表中的第一个,然后是所有其他应用程序?