Uploading photos of various sizes
If Nesting

You are nesting if's too much which quickly becomes ugly. I don't know your language but if at all possible negate the the conditions and return the result for example:

do:

if not HasCompleted {

return(or equivalent) completion(false, nil)

}


instead of:

if HasCompleted {
...
}
else
{
completion(false, nil)
}