У меня есть процесс, который периодически проверяет, выполнена ли задача. В зависимости от результата он запускает метод завершения/сбоя и убивает фоновый процесс в iOS.
Следующий макет работает правильно, когда экран заблокирован.
Код: Выделить всё
int miliseconds = UnityEngine.Random.Range(10, 20) * 1000;
Task.Delay(miliseconds).ContinueWith(task =>
{
if (task.IsCompletedSuccessfully)
{
Debug.Log("File downloaded...");
isDone = true;
isDownloaded = true;
}
else isDone = true;
});
Код: Выделить всё
StorageReference pathReference = firebaseManager.Storage.GetReferenceFromUrl(RefURL);
storageReference.GetFileAsync(IOHelpers.FilePrefix(OutputPath)).ContinueWith(task =>
{
if (task.IsCompletedSuccessfully)
{
Debug.Log("File downloaded to " + OutputPath);
isDone = true;
isDownloaded = true;
}
else
{
Debug.Log("Failed to download: " + RefURL);
isDone = true;
}
});
Подробнее здесь: https://stackoverflow.com/questions/783 ... rage-fails