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

AWSMobile's showSignUp webview gets stuck #5444

Closed
dcristolovean opened this issue Sep 25, 2024 · 8 comments
Closed

AWSMobile's showSignUp webview gets stuck #5444

dcristolovean opened this issue Sep 25, 2024 · 8 comments
Labels
mobile client Issues related to AWSMobileClient question General question

Comments

@dcristolovean
Copy link

dcristolovean commented Sep 25, 2024

Describe the bug
This is a continuation of #5441

All the info is in there and the problem was related to excluding arm64 arch on the simulator.
The problem doesn't exist if the arm64 is not excluded.

Unfortunately, this fix is not feasible, I have > 20 other pods that completely fail to work if I take out this exclusion. 2-3 days of work with zero results in making everything build.

So my question is this: if we know for sure AWSMobileClient showSignIn hangs on the simulators (arm64 excluded, so probably x86_64, no matter the cause, Apple changed stuff, whatever), isn't this something that is worth investigating and fixed in AWS ?

In theory, this is something that will happen for all devs that still work on an Intel Mac, so it's worth a fix.

@github-actions github-actions bot added pending-triage Issue is pending triage pending-maintainer-response Issue is pending response from an Amplify team member labels Sep 25, 2024
@ruisebas
Copy link
Member

Hi @dcristolovean, thanks for reaching out again.

As stated in #5441, AWSMobileClient does not need the arm64 exclusion to work on a simulator, so it's not an issue on our side.

Unfortunately, this fix is not feasible, I have > 20 other pods that completely fail to work if I take out this exclusion

Then this is really an issue for those > 20 other pods.

if we know for sure AWSMobileClient showSignIn hangs on the simulators (arm64 excluded, so probably x86_64, no matter the cause, Apple changed stuff, whatever), isn't this something that is worth investigating and fixed in AWS ?

There is little we can do if Apple has changed how webviews behave in the simulator when you exclude this architecture. I found this thread that claims this has been happening since the betas.

In theory, this is something that will happen for all devs that still work on an Intel Mac, so it's worth a fix.

While I don't have an Intel Mac to actually test it, building for iOS 18 under Rosetta does result in the same weird behaviour. So this is likely an Apple bug that they will need to fix on their end.

In any case, this is probably only happening in simulators and not in real supported iOS devices, since they all have the ARM architecture.

@ruisebas ruisebas added question General question and removed pending-triage Issue is pending triage pending-maintainer-response Issue is pending response from an Amplify team member labels Sep 25, 2024
@dcristolovean
Copy link
Author

It doesn't happen on a real device, I tested it. Only on simulators, which is what I use 99% of the time.

You must recognize the fun part of this:

Apple says "Your best course of action would be to follow up with your 3rd parties for support with this."
AWS says "this is likely an Apple bug that they will need to fix on their end."

What do we do in the meantime ? Maybe it's an easy fix on your side, it just needs a bit of investigation. If you actually do discover (for real) that it's an Apple bug, I can follow up with them, provide details and so on.
But at the moment we don't know why it gets stuck, could be something that needs to be updated in AWS.

I'm sure you realize it's an impossibility to get 20 pods fixed, when I can't even get the one who started it all :)

@github-actions github-actions bot added the pending-maintainer-response Issue is pending response from an Amplify team member label Sep 25, 2024
@ruisebas
Copy link
Member

It doesn't happen on a real device, I tested it. Only on simulators

It's good to have confirmation that is not an issue that's going to have any impact in real production environments.

Apple says "Your best course of action would be to follow up with your 3rd parties for support with this."
AWS says "this is likely an Apple bug that they will need to fix on their end."

Apple is saying to ask your 3rd parties to support the arm 64 simulator. We do support it, so the issue is in your other 20+ pods.

when I can't even get the one who started it all :)

You seem to be implying that the AWS SDK for iOS is the cause of this issue, which again is not true. We do not require that exclusion to build.


I'll keep this issue open for now in case new information becomes available (maybe an Apple fix) or someone else is facing the same problem on Intel Mac simulators.

@github-actions github-actions bot removed the pending-maintainer-response Issue is pending response from an Amplify team member label Sep 25, 2024
@dcristolovean
Copy link
Author

I'm just implying that AWS doesn't really support excluding arm64 on the simulator now in the latest XCode. And that's a problem.
Excluding the arm64 means using the x86_64, which is something that should be supported in the end, right ? If it didn't get stuck (by it's own fault or by Apple's - we don't really know and I'm asking for investigation), we wouldn't have this issue at all.

And no, Apple doesn't say to ask for support of the arm64. Apple responds to that guy who also excluded arm64 and says to ask the 3rd parties to support this. To support excluded archs, not 'included' archs.

@github-actions github-actions bot added the pending-maintainer-response Issue is pending response from an Amplify team member label Sep 25, 2024
@ruisebas
Copy link
Member

ruisebas commented Sep 25, 2024

And no, Apple doesn't say to ask for support of the arm64. Apple responds to that guy who also excluded arm64 and says to ask the 3rd parties to support this. To support excluded archs, not 'included' archs.

That is one way of reading it, although I disagree with it. The poster states that they "have some third-party SDKs [that] do not support arm64 simulator", and the response is to "follow up with your 3rd parties for support with this", i.e. reach out to those SDKs that don't support the arm64 simulator.

By all accounts this still seems like an actual Apple bug that might affect Intel Macs. I did find another thread with basically the same problem, although someone also stated they don't have the issue in Intel Macs (and there is no mention of excluding the arm64 architecture either, so it could be unrelated).

I just checked in Xcode 16.1 Beta 2 building for iOS 18.1 using Rosetta, and it's still not working. So I advice you also do reach out to Apple as well, or join the existing discussions.

@github-actions github-actions bot removed the pending-maintainer-response Issue is pending response from an Amplify team member label Sep 25, 2024
@dcristolovean
Copy link
Author

dcristolovean commented Sep 26, 2024

OK, I did another test and got stuck again:

  • only AWS pods, no arm64 exclusion
  • I have a Bridging-Header.h file that imports another header
  • in that header file, I had (working, with arm64 excluded):

#import <AWSAPIGateway/AWSAPIGateway.h>
#import <AWSS3/AWSS3.h>
#import <AWSCognitoIdentityProvider/AWSCognitoIdentityProvider.h>

All of these are failing now, not found.

Even if I use @import, it's the same thing.

I exclude arm64 -> everything starts to work.

Any idea what's going on here ? The internet is full of these topics and the only solution ... exclude arm64 :)

LATER EDIT: I managed to move past this error by adding a User-Defined setting: VALID_ARCHS : arm64 Wow.

@github-actions github-actions bot added the pending-maintainer-response Issue is pending response from an Amplify team member label Sep 26, 2024
@ruisebas ruisebas added mobile client Issues related to AWSMobileClient and removed pending-maintainer-response Issue is pending response from an Amplify team member labels Sep 26, 2024
@ruisebas
Copy link
Member

ruisebas commented Oct 3, 2024

I'm closing this issue once again, as it's not within our control.

As reported on the linked forum threads, attempting to use ASWebAuthenticationSession, SFAuthenticationSession and even SFSafariViewController is currently broken when running in iOS 18 simulators with the arm64 architecture excluded.

Since the AWS SDK for iOS does not require the exclusion of the arm64 architecture to build for simulators, we are not directly affected by this issue.

For anyone experiencing this issue and is unable to remove the arm64 exclusion, please do report this problem to Apple as well.

@ruisebas ruisebas closed this as not planned Won't fix, can't repro, duplicate, stale Oct 3, 2024
Copy link

github-actions bot commented Oct 3, 2024

This issue is now closed. Comments on closed issues are hard for our team to see.
If you need more assistance, please open a new issue that references this one.
If you wish to keep having a conversation with other community members under this issue feel free to do so.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
mobile client Issues related to AWSMobileClient question General question
Projects
None yet
Development

No branches or pull requests

2 participants