我正在创建一个Xamarin iOS共享扩展。 一切正常,但当我尝试在UI上更改某些内容时,应用程序崩溃了。我没有错误消息。事实上,如果用户按下post按钮时出现问题,我想在textview中显示一些内容。我还试图建立一个alertview或创建我自己的自定义帖子按钮。
以下是代码:
NSExtensionItem imageItem = ExtensionContext.InputItems[0];
if (imageItem == null)
return;
NSItemProvider imageItemProvider = imageItem.Attachments[0];
if (imageItemProvider == null)
return;
if (!imageItemProvider.HasItemConformingTo(UTType.Image))
return;
TextView.Text = "ok this works here";
imageItemProvider.LoadItem(UTType.Image, null, (NSObject image, NSError error) =>
{
var st = new MemoryStream();
if (image == null)
{
return;
}
var url = image as NSUrl;
if (url == null)
{
return;
}
var img = UIImage.LoadFromData(NSData.FromUrl(url));
img.AsPNG().AsStream().CopyTo(st);
Task.Run(async () =>
{
InvokeOnMainThread(() =>
{
this.TextView.Text = "CODE CRASH HERE";
this.TextView.TextColor = UIColor.Red;
});
}).GetAwaiter().GetResult();
});