Ответ 1
Какая шутка - службы определения местоположения должны быть включены...
Что такое JOKE!
Хорошо, поэтому у меня была эта проблема раньше, и я решил ее неосознанно, и теперь она повторяется!
"error:
Error Domain=ALAssetsLibraryErrorDomain Code=-3312 "Global denied access" UserInfo=0x169aa0
{NSLocalizedFailureReason=The user has denied all applications access to their media.,
NSLocalizedRecoverySuggestion=This setting can be changed in Preferences.,
NSLocalizedDescription=Global denied access}"
Обратите внимание://Я не получаю эту проблему в симуляторе - мой код для итерирования активов отлично работает на симуляторе.
Конечно, это простое решение, но будьте прокляты, если я могу найти что-либо в разделе "Настройки" в любом месте, которое помогает.
Пожалуйста, остановитесь!
Какая шутка - службы определения местоположения должны быть включены...
Что такое JOKE!
Просто перейдите к Настройки > Общие > Reset > Сбросить предупреждения о местоположении.
Однако это не поможет вашим пользователям, но это полезно для разработки
Для iOS 4.2 и более поздних версий используйте метод класса authorizationStatus класса CLLocationManager.
он вернет перечисление CLAuthorizationStatus (объявленное в CLLocationManager.h), вы можете проверить возврат для kCLAuthorizationStatusAuthorized.
if ( [CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorized ) {
// do your stuff
} else {
// sorry user, you must enable us to see your location if you want to use YOURS assets library
}
iOS 6 также вводит этот метод для класса ALAssetsLibrary.