SecAddSharedWebCredential ошибка молчания при сохранении общих учетных данных Safari - ошибка обзора приложения - PullRequest
0 голосов
/ 23 мая 2018

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

Приложение было проверено и отклонено Apple, они говорят, что приложение зависает с загрузчикомна экране состояние, которое я не могу воспроизвести и которое не должно быть возможным из-за обработки тайм-аутов, успешных, неуспешных или нераспознанных кодов ответов http.

@IBAction func pressedLogin(_ sender: UIButton) {
    OurCustomSpinner.sharedInstance.showSpinner()
    let loginOperation = LoginOperation(email: emailTextField.text!, password: passwordTextField.text!)

    loginOperation.success = { userItem in
        DispatchQueue.main.sync {
            // Try to store credentials, we don't care if it succeeds or fails, user should still go to next screen
            SecAddSharedWebCredential("midrive.com" as CFString, self.emailTextField.text! as CFString, self.passwordTextField.text! as CFString, { (error) in
                // Store user object (would crash if it failed)

                DispatchQueue.main.sync {
                    // Spinner hidden here - line never reached
                    OurCustomSpinner.sharedInstance.hideSpinner()
                    // Take user to next screen
                }
            })
        }
    }

    loginOperation.failure = { error in
        DispatchQueue.main.sync {
            // Spinner hidden here - line never reached
            OurCustomSpinner.sharedInstance.hideSpinner()
            self.presentError(message: error.localizedDescription)
        }
    }

    NetworkQueue.shared.addOperation(op: loginOperation)
}

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

Есть кто-нибудьсталкивался с этим раньше, или у кого-нибудь есть идеи, если есть варианты безопасности, которые блокируют общие веб-учетные данные?Он работает локально и правильно заполняет / обновляет пароли и работает для наших пользователей testflight.

Просто чтобы обновить это, я повторно отправил его без строки SecAddSharedWebCredential, и он прошел проверку в первый раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...