best location attempt timeout now is performed using a timer instead of performSelector:withDelay
code refactoring
Update .podspec