Связка ключей не будет автоматически заполнять мою форму входа на iOS.
В xCode я включил общий доступ к цепочке ключей, и у меня есть галочки рядом с обоими шагами: добавьте право на общий доступ к цепочке ключей в файл прав и добавьте функцию общего доступа к цепочке ключей в свой идентификатор приложения.
<TextField
class = "input"
hint = "Email"
keyboardType = "email"
autocorrect = "false"
autocapitalizationType = "none"
v-model = "user.email"
returnKeyType = "next"
@returnPress = "focusPassword"
fontSize = "18"
/>
<StackLayout class = "hr-light"/>
</StackLayout>
<StackLayout class = "input-field" marginBottom = "15">
<TextField
ref = "password"
class = "input"
hint = "Password"
secure = "true"
v-model = "user.password"
:returnKeyType = "isLoggingIn ? 'done' : 'next'"
fontSize = "18"
/>
<StackLayout class = "hr-light"/>
</StackLayout>
Я почти уверен, что проблема в том, что мне нужно установить textContentType на .username и .password, но я не знаю, как это сделать.





Вам нужно будет установить textContentType на nativeView,
Добавить событие loaded в TextField
<TextField
class = "input"
hint = "Email"
keyboardType = "email"
autocorrect = "false"
autocapitalizationType = "none"
v-model = "user.email"
returnKeyType = "next"
@loaded = "onLoaded"
@returnPress = "focusPassword"
fontSize = "18"
/>
Обновление textContentType на nativeView
onLoaded: function(args) {
const textField = args.object;
if (textField.ios) {
textField.ios.textContentType = UITextContentTypeEmailAddress;
}
}
textContentType должно быть одним из значений из документы здесь.
Также убедитесь, что вы запускаете этот код только на iOS 11 или более поздней версии. Если вы поддерживаете iOS 10, эта строка кода может вызвать исключение. Вам нужно будет проверить версию платформы в условии if, если вы поддерживаете iOS 10.
Да, вы можете использовать это, чтобы проверить версию.
@Manoj Спасибо, но связка ключей все еще не подсказывает мне. Я регистрирую textField.ios.textContentType после того, как установил для него имя пользователя и пароль, и он регистрирует username и password, как я и ожидал, но цепочка ключей по-прежнему не отвечает. Я тестирую на физическом устройстве под управлением iOS 12 с включенной связкой ключей, поэтому у меня не должно быть проблем с симулятором или старой ОС. Любые другие идеи?
Вы уже зарегистрировались и разрешили приложению сохранить новый адрес электронной почты и пароль? Можете ли вы поделиться примером проекта?
@Manoj Да, я зарегистрировался с одним и тем же именем пользователя и прошел несколько раз. Связка ключей и автозаполнение включены на устройстве. К сожалению, я не могу поделиться всем проектом, так как это частный репозиторий моей компании. Должна ли iOS предлагать мне добавить в связку ключей или она делает это автоматически? Извините, я пользователь Android.
Чтобы быть точным, я не просил весь проект. Я попросил образец только с достаточным количеством кода, чтобы воспроизвести проблему.
Извините, неправильно прочитал это. Это действительно был мой аппарат. Я сегодня проверил на другом, и он работал нормально. Большое спасибо за вашу помощь!
Чтобы проверить версию iOS, вы можете использовать
iosUtils.MajorVersionизimport { ios as iosUtils } from "tns-core-modules/utils/utils"