Xamarin.forms.ios 上的分享按钮

Share button on Xamarin.forms.ios

我是 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 
} 

我的情况完全一样。

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

  • iOS 应用程序通常使用名为 Sharekit 的东西,但我还没有发现有人将其与 Xamarin.Forms
  • 一起使用
  • 自 iOS 6 以来,有一种更简单的方法可以与 objective c 共享,但我不确定我们如何将其转换为 C#/Xamarin。
  • Xamarin 有一个名为 Xamarin.Social 的社交插件,它允许用户登录并从您的应用中进行 post 操作。当然,这不是我们想要做的......理想情况下,我们想要 Android.
  • 中的相同功能

很抱歉,我无法提供更多帮助。如果我找到有效的答案,我会更新你。

您想使用 UIActivityViewController.

它将看起来像这样:

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