Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Impossible to enter password on iOS13? #2976

Closed
jsfan3 opened this issue Dec 28, 2019 · 2 comments
Closed

Impossible to enter password on iOS13? #2976

jsfan3 opened this issue Dec 28, 2019 · 2 comments
Assignees
Milestone

Comments

@jsfan3
Copy link
Contributor

jsfan3 commented Dec 28, 2019

I'm not sure if this report is actually a bug or an issue of Browser Stack App Live, so I'm asking if you could do a check, please.

The problem: I have an iOS12 iPhone, and I don't want to upgrade it to iOS13 because most likely that update could break the compatibility with my virtualized MacOS version. However I use Browser Stack App Live, that is a device farm.

In that device farm, the following test case works correctly with iOS12. Instead with iOS13 it's impossible to enter the password. I haven't a native log, or... to be more precise: the native log produced by Browser Stack App Live logs correctly the EDT in iOS12, but doesn't log my app at all on iOS13.

Test case:

TextModeLayout tl = new TextModeLayout(2, 1);
Form f = new Form("Pixel Perfect", tl);

TextComponent user = new TextComponent();
TextComponentPassword pass = new TextComponentPassword();

f.addAll(user, pass);
f.show();
@codenameone codenameone added this to the Version 7.0 milestone Dec 29, 2019
shannah added a commit that referenced this issue Dec 30, 2019
@shannah
Copy link
Collaborator

shannah commented Dec 30, 2019

I created a test case, and was able to reproduce a crash when tapping around during editing the password. I fixed this issue. I suspect this is what the problem was. My test device is an iPhone 8 with iOS 13.3

@shannah shannah closed this as completed Dec 30, 2019
@jsfan3
Copy link
Contributor Author

jsfan3 commented Jan 21, 2020

@shannah @codenameone I have an important news about this bug... that indeed is not a bug, but a "security feature" of iOS13. I would like to share with you the answer that I got to a support request to the BrowserStack team, because it can be useful if other people will have the same issue.

Test case:

        TextModeLayout tl = new TextModeLayout(2, 1);
        Form hi = new Form("Login Test", BoxLayout.y());
        TextComponent username = new TextComponent().label("Username");
        TextComponent password = new TextComponent().label("Password").constraint(TextArea.PASSWORD);
        Button btn = new Button("Login");
        btn.addActionListener(l -> {
            Dialog.show("It works!", "It seems to work...", "OK", null);
        });
        Container cnt = new Container(tl);
        cnt.addAll(username, password);
        
        Validator val = new Validator();
        val.addConstraint(username, new LengthConstraint(3, "Too Short"));
        val.addConstraint(password, new LengthConstraint(3, "Too Short"));
        val.addSubmitButtons(btn);
        
        hi.addAll(cnt, btn);
        hi.show();

My support request, sent today:

I suppose that there is something working wrong in your iOS13 devices, but I'm not sure: could you please do a test with the following app? http://www.informatica-libera.net/docLavoro/TestLogin.ipa It's a demo app I created to show you an issue: please try to enter a username and a password at least three characters long (for example "xxx") and then tap "Login". It works fine on your iOS12 devices, but I cannot enter the password in your iOS13 devices. More precisely, in your iOS13 devices, after entering a username and then tapping the "Next" button of the virtual keyboard, I get that the virtual keyboard closes: if I tap to the password text field, the virtual keyboard remains closed. This issue happens on iOS13 only. Currently I haven't an iPhone with iOS13 to do a test, that's why I'm asking you to do a test. Thank you

The answer:

[...] I want to share that our system apps that facilitate streaming need access to the mobile device screen so that we can provide uninterrupted streaming.

However, Apple has recently added an advanced security feature on iOS 13, which prevents any screen capturing tool from accessing specific parts of the screen with secured content, e.g., password field, credit card field, etc. This also includes the keyboard when a user clicks on a field with secured content.

You can refer to the attached video demonstrating the security feature on a real device.

​With that said, even though you will not be able to view the words being typed in, you will still be able to type/paste in the details in the secured field and proceed with your testing. [...]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants