Estrutura AssetsLibrary quebrada no iOS 8
Corri um problema no iOS 8 com a estrutura da Biblioteca de ativos que parece ser um bug no iOS 8. Se eu criar um álbum chamado 'MyMedia' e excluí-lo, quando tentar criar o álbum novamente, esse pedaço do código abaixo retorna 'nil', indicando que o álbum 'MyMedia' existe, embora não exista porque o excluí usando o aplicativo 'Fotos'.
__block ALAssetsGroup *myGroup = nil;
__block BOOL addAssetDone = false;
NSString *albumName = @"MyMedia";
[assetsLib addAssetsGroupAlbumWithName:albumName
resultBlock:^(ALAssetsGroup *group) {
myGroup = group;
addAssetDone = true;
} failureBlock:^(NSError *error) {
NSLog( @"failed to create album: %@", albumName);
addAssetDone = true;
}];
while (!addAssetDone) {
[[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.05f]];
}
return myGroup; // returns nil if group has previously been created and then deleted
Esse mesmo método funciona ao criar um novo álbum 'MyMedia2'. Alguém já experimentou esse problema e conhece uma solução ou solução alternativa? É a única solução para mudar para a nova estrutura 'Fotos' ou estou fazendo algo incorreto aqui? Observe que esse código sempre funciona no iOS7.X
Na verdade, as etapas para reproduzir esse problema são as seguintes -> 1. Desinstale o aplicativo que tira fotos e as salva em um álbum personalizado 2. Em Fotos do iOS, exclua o álbum personalizado que salvou as fotos 3. Instale o aplicativo 4. Se você tira fotos ou grava vídeos com o aplicativo, ele não os cria ou os armazena. Se você procurar nos álbuns de fotos do iOS, o álbum personalizado não existe e nenhuma das fotos / vídeos tirados com o aplicativo existe.