Recarregando chaves no AVAsset quando o status é AVKeyValueStatusFailed
Estou fazendo o seguinte:
Crie um novoAVAsset
com um determinado URL. Esse URL aponta para um vídeo em um servidor da Web remoto.Tente carregar otracks
propriedade chamandoloadValuesAsynchronouslyForKeys:completionHandler:
A solicitação inicial falha, porque não existe conexão com a InternetPercebo que a solicitação falhou chamandostatusOfValueForKey:error:
Aguardo a conexão reaparecer (usando algum código de acessibilidade). Assim que isso acontece, eu ligoloadValuesAsynchronouslyForKeys:completionHandler:
novamente.Aqui é onde os problemas começam. Eu imagino que oAVAsset
prossegue e tenta recarregar a propriedade tracks, uma vez que falhou anteriormente. No entanto, isso não parece acontecer.statusOfValueForKey:error:
ainda vai voltarAVKeyValueStatusFailed
, embora esteja disponível uma conexão com a Internet e o vídeo possa ser reproduzido.
Existe uma maneira de redefinir o estado para essa propriedade especificada e tentar outra carga? Existe outra maneira de contornar isso?