2015-09-17 5 views
3

Для фона: я запускаю автоматизацию пользовательского интерфейса (используя Calabash) в нашем приложении iOS и могу перейти в диалоговое окно входа в систему, чтобы выбрать «Использовать существующий идентификатор Apple» при покупке контента. Однако в следующем диалоговом окне появится диалоговое окно «Пароль Apple ID», в котором содержится имя пользователя и пароль. Наша автоматизация не может перемещаться по ней, поскольку она является родным диалогом.Можно ли программным образом установить идентификатор пользователя Apple (для покупки программных приложений для песочницы)?

Есть ли способ установить/очистить эти значения программно, поэтому я могу обойти этот диалог? не

ответ

1

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

https://gist.github.com/TeresaP/b7373a907ebb31acac39

0

нет это не возможно, вы должны иметь для настройки различных тестовых ид в Itunes подключения для целей тестирования также должно быть различным, то разработчик идентификатор Apple только адрес электронной почты должен быть действительный адрес электронной почты при создании теста в покупке приложения

+1

У меня есть значения имени пользователя/пароля, но я хочу, чтобы иметь возможность установить их программно, так что я могу обойти этот диалог. –

+0

, в каком диалоговом окне я не получаю вашу точку, вы имеете в виду диалоговое окно, в котором требуется ввести идентификатор и пароль Apple. нет, вы не можете, потому что этот диалог появляется из uisharedapplication.its очень похоже на то, что вы не можете настроить композитор электронной почты в Xcode –

+0

Один пользователь однажды ввел свой Apple ID, мы не получим этот диалог еще раз. Мой вопрос заключался в том, как ввести его программно (возможно, есть какая-то библиотека Objective-C или что-то еще), поэтому мы никогда не дойдем до этого диалога. Диалог называется «Apple ID Password», и вы видите его при покупке в приложении. –

2

Вы не можете автоматически заполнять идентификатор пользователя Apple и обходить это предупреждение, которое приходит, когда пользователь собирается что-то купить с покупкой InApp. Он автоматически повышается, когда вы пишете код для SKPayment. У нас нет контроля над тем, что вы просите.

+1

Я изначально разместил этот вопрос, надеясь передать его через какой-то метод Objective-C в какой-то существующей библиотеке где-нибудь. Устраняет ли Apple возможность сделать это? Что делать, если компания создала приложение и захотела всегда заряжать определенную учетную запись и захотела создать ее, без того, чтобы ее пользователи знали имя пользователя и пароль? Невозможно это сделать? –

+0

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

+0

Я был в состоянии взаимодействовать с ним в конце концов. Я разместил код, который я использовал ниже. –

2

Невозможно взаимодействовать с приглашением на покупку In App для аутентификации имени пользователя и пароля с использованием UIAutomation или Calabash.

Единственный способ, которым я смог сделать эту работу, - использовать бэкдоры. Это было в июле 2013 года. Я не был доволен результатами.

Эта функция была предложена прежде, но наши руки привязаны, пока Apple не улучшит свой API JavaScript UIAutomation. Вы можете попробовать подать запрос об ошибке/функции.

Вы пытаетесь взаимодействовать с этим диалоговым окном с инструментом «Автоматизация» в приложении «Инструменты Xcode 7». Если вы можете продемонстрировать, что можете взаимодействовать с оповещением, используя UIAutomation, мы можем попытаться добавить поддержку в Calabash.

+1

Фактически @jmoody Я смог взаимодействовать с родным диалоговым окном с Calabash, используя некоторые из вашего кода Briar и пару других вызовов UIA на устройстве (но не в симуляторе). Я могу опубликовать код здесь немного. –

+1

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