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

More than one uuid on ios #43

Open
etdapt opened this issue Nov 12, 2023 · 9 comments
Open

More than one uuid on ios #43

etdapt opened this issue Nov 12, 2023 · 9 comments
Labels
help wanted Extra attention is needed

Comments

@etdapt
Copy link

etdapt commented Nov 12, 2023

I have been using this for a while and discovered that ios keeps getting two different ids at different times for the same device. I haven't figured out what could have triggered the switch, I experimented with having CarPlay connected and disconnected but that doesn't seem to make the difference.

AGAIN, I didn't reset my phone/device or even upgrade ios

@fairuzmn
Copy link

+1

1 similar comment
@sulistiyono346
Copy link

+1

@GigaDroid
Copy link
Owner

Did you maybe login/logout of your iCloud account? Which iOS version are you all using?
Interesting to see multiple people reporting this in such a short time span even though there was no change to the code for months.

@etdapt
Copy link
Author

etdapt commented Dec 12, 2023

Discovered this since ios 16.x but also same in 17 ... no action of iCloud login/logout, it could simply be most of time it's giving the base UUID (i called it base when it's recognized most often), and then if the app is running in background (may be that's the condition) then it could be switched to use some alternative ones, and if killing the app to relaunch, it will switch back to use the base... Also, in my observation, the alternative one is just one, hence it feels like it's not randomly giving some other UUID but just some logic determines a condition that it should use the secondary one.

@GigaDroid
Copy link
Owner

That‘s interesting. I have a suspicion that something weird is going on with the Keychain then. To make sure the UDID persists across reinstalls it saves the UDID to the Keychain on the first run. If there is a UDID in the Keychain there’s a condition to just retrieve it from the Keychain instead of running the function to retrieve the UDID of the device. Would be interesting to see behaviour without this Keychain condition, as suggested in #33. Should be easy to implement, but I don’t have much time right now, if someone creates a PR for this I will merge it ASAP

@zkang93
Copy link

zkang93 commented Jul 30, 2024

+1

@GigaDroid
Copy link
Owner

Unfortunately I do not have time to fix this at the moment, if someone wants to dive into the iOS code, I'm open to review the PR.
For now these are my thought what could be going wrong here:

  • The implementation of the keychain synchronisation could be broken in some way. This could be true especially if there is multiple devices signed into the same iCloud account.
  • SAMKeychain, which is used for the iOS implementation is not being maintained anymore, it should be replaced with something newer.

@GigaDroid GigaDroid added the help wanted Extra attention is needed label Jul 30, 2024
@privateNirvana
Copy link

Has it been optimized and updated?

@GigaDroid
Copy link
Owner

Not yet, I don't have the time to look into this at the moment, still accepting PRs for it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

6 participants