iOS app-delegate方法耗时超过17秒

时间:2016-08-30 10:25:39

标签: ios xamarin xamarin.ios

我有一个xamarin iOS应用程序,必须接受来自其他应用程序的音频文件。例如:它接受来自邮件应用程序的音频(.mp3)文件。在OpenURL方法中,我有保存文件的功能,并在xml文件中创建一个新条目。我认为此任务花费的时间超过17秒,应用程序崩溃。

AppDelegate.cs // You have 17 seconds to return from this method, or iOS will terminate your application.

中有评论

以下是AppDelegate.cs中的代码:

public override bool OpenUrl(UIApplication application, NSUrl url, string sourceApplication, NSObject annotation)
{
        return this.Upload(url).Result;
}

async public Task<bool> Upload(NSUrl SharedUri)
{
      await SomeUploadTask();
      return true;
}

1 个答案:

答案 0 :(得分:0)

你能试试吗,

我不确定这是否有效。

让我们尝试不要阻止方法更长时间。

public override bool OpenUrl(UIApplication app, NSUrl url, NSDictionary options)
        {
            Task.Run(() => SomeUploadTask());
            return true;
        }
        private Task SomeUploadTask()
        {
            throw new NotImplementedException();
        }