Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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
Xamarin.ios 没有界面提示的Xamarin社交帖子-ShareItemAsync_Xamarin.ios_Xamarin_Social - Fatal编程技术网

Xamarin.ios 没有界面提示的Xamarin社交帖子-ShareItemAsync

Xamarin.ios 没有界面提示的Xamarin社交帖子-ShareItemAsync,xamarin.ios,xamarin,social,Xamarin.ios,Xamarin,Social,我正在尝试直接发布到facebook/twitter,而不使用以下代码提示用户使用UIViewController: // 1. Create the service var facebook = new FacebookService { ClientId = "<App ID from developers.facebook.com/apps>", RedirectUrl = new System.Uri ("<Redirect URL from devel

我正在尝试直接发布到facebook/twitter,而不使用以下代码提示用户使用UIViewController:

// 1. Create the service
var facebook = new FacebookService {
    ClientId = "<App ID from developers.facebook.com/apps>",
    RedirectUrl = new System.Uri ("<Redirect URL from developers.facebook.com/apps>")
};

// 2. Create an item to share
var item = new Item { Text = "Xamarin.Social is the bomb.com." };
item.Links.Add (new Uri ("http://github.com/xamarin/xamarin.social"));

// 3. Present the UI on iOS
var shareController = facebook.GetShareUI (item, result => {
    // result lets you know if the user shared the item or canceled
    DismissViewController (true, null);
});
PresentViewController (shareController, true, null);


我找不到任何关于如何使用它的示例或明确的教程。有谁能帮我一下吗?

如果你看一下源代码,内部是用来执行请求的。GetShareUI只是ShareItemAsync的包装器

从获取UI的源代码中,您可以看到他们如何使用ShareItemAsync来执行请求。这是给你的片段

try {
    service.ShareItemAsync (item, account).ContinueWith (shareTask => {
        StopSharing ();  
        .
        .
        .
        .
        .
}, TaskScheduler.FromCurrentSynchronizationContext ());
            }
因此,您所需要做的就是创建项目,获得帐户并调用服务上的方法,类似这样的事情

var item = new Item { Text = "Xamarin.Social is the bomb.com." };
item.Links.Add (new Uri ("http://github.com/xamarin/xamarin.social"));

var account = facebook.GetAccountsAsync().FirstOrDefault();

facebook.ShareItemAsync(item, account);

如果您查看的是源代码,那么无论如何都会使用internal来执行请求。GetShareUI只是ShareItemAsync的包装器

从获取UI的源代码中,您可以看到他们如何使用ShareItemAsync来执行请求。这是给你的片段

try {
    service.ShareItemAsync (item, account).ContinueWith (shareTask => {
        StopSharing ();  
        .
        .
        .
        .
        .
}, TaskScheduler.FromCurrentSynchronizationContext ());
            }
因此,您所需要做的就是创建项目,获得帐户并调用服务上的方法,类似这样的事情

var item = new Item { Text = "Xamarin.Social is the bomb.com." };
item.Links.Add (new Uri ("http://github.com/xamarin/xamarin.social"));

var account = facebook.GetAccountsAsync().FirstOrDefault();

facebook.ShareItemAsync(item, account);

var account=facebook.GetAccountsAsync().FirstOrDefault();-->抛出错误:无法推断参数,请明确指定类型参数我已向您提供了完整的源。。。你至少可以试着经历一下。。将“var account=…”替换为“Task account=…”,感谢您提供了方向,@MohibSheth但var account=facebook.GetAccountsAsync().FirstOrDefault()之间还有很多事情要做;和facebook.ShareItemAsync(项目、帐户);var account=facebook.GetAccountsAsync().FirstOrDefault();-->抛出错误:无法推断参数,请明确指定类型参数我已向您提供了完整的源。。。你至少可以试着经历一下。。将“var account=…”替换为“Task account=…”,感谢您提供了方向,@MohibSheth但var account=facebook.GetAccountsAsync().FirstOrDefault()之间还有很多事情要做;和facebook.ShareItemAsync(项目、帐户);