在Xamarin.forms.ios上分享按钮

时间:2015-02-18 11:33:31

标签: ios xamarin xamarin.forms share-button

我是Xamarin ant的初学者尝试使用Xamarin.forms创建简单的应用程序。 现在我需要在我的应用程序中添加分享按钮(iPhone上的Safari上的方形+箭头)。据我所知,Android和IOS是不同的,所以我使用DependencyService。 它在使用Intent的Android上运行良好但不能在IOS上运行。 你能帮我吗。 谢谢大家, 这是我的代码

PCL

    var x = DependencyService.Get<IShareable>(); 
    x.ShareText("any text to share"); 

的Android

public void ShareText(string textToShear) 
{
  var myIntent = new Intent(Android.Content.Intent.ActionSend);      
  myIntent.SetType("text/plain"); 
  myIntent.PutExtra("sms_body", textToShear); 
  Forms.Context.StartActivity(Intent.CreateChooser(myIntent,"Choose an App"));
}

IOS

public void ShareText(string textToShear) 
{
 //what i should do 
} 

2 个答案:

答案 0 :(得分:2)

您想使用UIActivityViewController

看起来像这样:

public void ShareText(string textToShare) 
{
    var activityController = new UIActivityViewController(new NSObject[] { UIActivity.FromObject(textToShare) }, null);
    UIApplication.SharedApplication.KeyWindow.RootViewController.PresentViewController(activityController, true, null);
}

答案 1 :(得分:1)

我处于完全相同的位置。

到目前为止我发现了什么:

  • iOS应用程序通常使用名为Sharekit的东西,但我没有找到任何人使用Xamarin.Forms
  • 从iOS 6开始,有一种更简单的方法可以与目标c共享,但我不确定如何将其转换为C#/ Xamarin。
  • Xamarin有一个名为Xamarin.Social的社交插件,允许用户登录并发布应用中的内容。当然,这不是我们想要做的......理想情况下,我们希望获得与Android相同的功能。

对不起,我无法提供更多帮助。如果我找到有效的答案,我会更新你。