Подтвердить что ты не робот

Ошибка ACAccountStore 5

При попытке сохранить учетную запись в ACAccountStore я иногда получаю эту ошибку. Позже, если я попытаюсь получить доступ к этой учетной записи, я обнаружил, что она действительно была сохранена. До сих пор я еще не нашел никакой информации об этой ошибке. Кто-нибудь знает, что это значит?

Ошибка домена = com.apple.accounts Код = 5 "Операция не может быть выполнена (ошибка com.apple.accounts 5.)"

4b9b3361

Ответ 1

Этот вопрос немного устарел, но я борюсь в той же области. Вот одна вещь, которая должна помочь: я нашел документацию по кодам ошибок:

typedef enum ACErrorCode {
   ACErrorUnknown = 1,
   ACErrorAccountMissingRequiredProperty,
   ACErrorAccountAuthenticationFailed,
   ACErrorAccountTypeInvalid,
   ACErrorAccountAlreadyExists,
   ACErrorAccountNotFound,
   ACErrorPermissionDenied,
   ACErrorAccessInfoInvalid
} ACErrorCode;

Я нашел это в документации по ссылке Accounts.framework.

Интерпретация этого дает ошибку = 5, поскольку "Учетная запись уже существует", а ошибка = 6 - "Учетная запись не найдена". Я надеюсь, что это делает ошибки немного менее "неописуемыми".

Ответ 2

Пока я не нашел никакой документации для поддержки (или противоречия) моих результатов, вот что кажется измененным (начиная с iOS 5):

  • В iOS 5 пользователю предлагается запрос доступа, даже если нет настройки учетных записей Twitter. В iOS 6 кажется, что запрос отклонен с кодом ошибки 6, когда нет установки учетных записей.

  • В iOS 5 пользователю снова предлагается (и снова) запрос доступа, если пользователь ранее отключил доступ к указанной учетной записи из "Настройки" > "Twitter". Теперь, в iOS 6, кажется, что запрос доступа молча отклоняется (без ошибок, то есть ошибки nil), если пользователь удалил доступ к приложению из настроек

Если кто-либо найдет лучший ответ, сделайте комментарий, пожалуйста.

Ответ 3

Эта ошибка возникает из-за того, что вы не установили учетную запись Facebook в настройках. Настройки доступны в iOS 6. Задайте эту учетную запись, а затем повторите попытку.

Также укажите правильное сообщение об ошибке.