Я думаю, у меня есть проблема, которая должна быть очень распространенной, и хотя в Stackoverflow / google есть несколько вопросов / ответов, в которых говорится об очень похожих проблемах / решениях, мне не удалось преобразовать эти конкретные решения в соответствии с моими собственными требованиями. .
По сути, я создал свое приложение, теперь мне нужно реализовать слой, прежде чем приложение сможет использоваться, которое управляет Аутентификацией (Login / SignUp) и затем Авторизацией (есть ли у этого пользователя лицензия для запуска этого приложения).
Аутентификация
текущее представление входа в систему, при входе в систему для проверки подлинности вызывается веб-служба, в случае успеха она позволяет пользователю перемещать авторизацию (ниже).
Если регистрация, то запускается двухэтапная процедура регистрации, шаг 1: сбор сведений (имя, адрес электронной почты, пароль, условия соглашения), шаг 2: проверка адреса электронной почты с использованием токена, отправляемого получателю.
Как только вы авторизуетесь, я планирую обновить NSUserDefaults, чтобы пропустить эту часть при следующем использовании. (если пользователь не хочет отменить регистрацию устройства в учетной записи пользователя)
Для авторизации это простой вызов веб-службы, чтобы проверить, есть ли у этого пользователя доступ к этому приложению. Если срок действия лицензии истекает через <30 дней, то UIAlertView соответственно и позволяет пользователю использовать приложение. Если нет лицензии, предложите пользователю выбор (попробуйте или купите (inAppPurchase)) и действуйте соответствующим образом. </p>
Полагаю, что «детализация» выше не имеет значения, на самом деле моя цель - проиллюстрировать, что это немного сложнее, чем показ одного представления.
Я нашел вопросы / ответы, предлагающие представить модальные представления и другие, добавляющие подпредставления для rootviewcontroller в appDelegate, но ничего, что позволило бы мне быть более структурированным.
Если бы кто-нибудь мог указать мне правильное направление некоторых соответствующих статей / примеров, это было бы замечательно. Или любые взгляды / мнения о подходе, я не хочу делать это дважды :)