Is the device UUID assigned by iOS to BLE devices stable over time?
When you scan for Bluetooth LE devices in iOS, it doesn't tell you the MAC address of the device for privacy reasons. Instead, it generates a UUID which can be used to address that specific device (for example if you want to connect to it).
I'm aware that these UUIDs are NOT stable across devices, that is, two phones will see the same device has having a different UUID.
I've also observed that on a given phone, these UUIDs are stable across a short time period - the same phone will see the same UUID for the same device over the span of a few minutes.
What I don't know, and haven't been able to find, is whether these UUIDs are stable across a longer period (days or months), or events such as the app getting killed/restarted, or perhaps the phone rebooting.
If it helps, I'm thinking of implementing a "remember last known action" system, where my app remembers the last X for any given device, such that when it reconnects to it, it can start from the previous thing rather than starting from a clean slate.
ios bluetooth-lowenergy core-bluetooth
add a comment |
When you scan for Bluetooth LE devices in iOS, it doesn't tell you the MAC address of the device for privacy reasons. Instead, it generates a UUID which can be used to address that specific device (for example if you want to connect to it).
I'm aware that these UUIDs are NOT stable across devices, that is, two phones will see the same device has having a different UUID.
I've also observed that on a given phone, these UUIDs are stable across a short time period - the same phone will see the same UUID for the same device over the span of a few minutes.
What I don't know, and haven't been able to find, is whether these UUIDs are stable across a longer period (days or months), or events such as the app getting killed/restarted, or perhaps the phone rebooting.
If it helps, I'm thinking of implementing a "remember last known action" system, where my app remembers the last X for any given device, such that when it reconnects to it, it can start from the previous thing rather than starting from a clean slate.
ios bluetooth-lowenergy core-bluetooth
1
Yes, you can persist these identifiers for use withretrievePeripheralWithIdentifiers
, for example. I believe the identifier will only change when the iOS device is erased (and possibly after "reset network settings")
– Paulw11
Nov 14 '18 at 20:10
Thanks! - Do you happen to have any reference to link to for this? Either way is fine, if you post this as an answer I'll upvote and accept it
– Orion Edwards
Nov 14 '18 at 20:46
I would have to search to find a reference but I have certainly observed it to be stable over a period of many months and across device restarts and even iOS upgrades.
– Paulw11
Nov 14 '18 at 20:58
I too can confirm it is stable for a long period of time. At first I even thought is was a unique identifier over all phones. Only to realise later it was tied to the phone.
– Sam
Nov 14 '18 at 22:14
If I remember correctly, if you pair with it, it will be stable (or almost stable). But if you don't, it might change after 15 minutes (more or less).
– Larme
Nov 15 '18 at 15:15
add a comment |
When you scan for Bluetooth LE devices in iOS, it doesn't tell you the MAC address of the device for privacy reasons. Instead, it generates a UUID which can be used to address that specific device (for example if you want to connect to it).
I'm aware that these UUIDs are NOT stable across devices, that is, two phones will see the same device has having a different UUID.
I've also observed that on a given phone, these UUIDs are stable across a short time period - the same phone will see the same UUID for the same device over the span of a few minutes.
What I don't know, and haven't been able to find, is whether these UUIDs are stable across a longer period (days or months), or events such as the app getting killed/restarted, or perhaps the phone rebooting.
If it helps, I'm thinking of implementing a "remember last known action" system, where my app remembers the last X for any given device, such that when it reconnects to it, it can start from the previous thing rather than starting from a clean slate.
ios bluetooth-lowenergy core-bluetooth
When you scan for Bluetooth LE devices in iOS, it doesn't tell you the MAC address of the device for privacy reasons. Instead, it generates a UUID which can be used to address that specific device (for example if you want to connect to it).
I'm aware that these UUIDs are NOT stable across devices, that is, two phones will see the same device has having a different UUID.
I've also observed that on a given phone, these UUIDs are stable across a short time period - the same phone will see the same UUID for the same device over the span of a few minutes.
What I don't know, and haven't been able to find, is whether these UUIDs are stable across a longer period (days or months), or events such as the app getting killed/restarted, or perhaps the phone rebooting.
If it helps, I'm thinking of implementing a "remember last known action" system, where my app remembers the last X for any given device, such that when it reconnects to it, it can start from the previous thing rather than starting from a clean slate.
ios bluetooth-lowenergy core-bluetooth
ios bluetooth-lowenergy core-bluetooth
asked Nov 14 '18 at 19:56
Orion EdwardsOrion Edwards
85.5k50195275
85.5k50195275
1
Yes, you can persist these identifiers for use withretrievePeripheralWithIdentifiers
, for example. I believe the identifier will only change when the iOS device is erased (and possibly after "reset network settings")
– Paulw11
Nov 14 '18 at 20:10
Thanks! - Do you happen to have any reference to link to for this? Either way is fine, if you post this as an answer I'll upvote and accept it
– Orion Edwards
Nov 14 '18 at 20:46
I would have to search to find a reference but I have certainly observed it to be stable over a period of many months and across device restarts and even iOS upgrades.
– Paulw11
Nov 14 '18 at 20:58
I too can confirm it is stable for a long period of time. At first I even thought is was a unique identifier over all phones. Only to realise later it was tied to the phone.
– Sam
Nov 14 '18 at 22:14
If I remember correctly, if you pair with it, it will be stable (or almost stable). But if you don't, it might change after 15 minutes (more or less).
– Larme
Nov 15 '18 at 15:15
add a comment |
1
Yes, you can persist these identifiers for use withretrievePeripheralWithIdentifiers
, for example. I believe the identifier will only change when the iOS device is erased (and possibly after "reset network settings")
– Paulw11
Nov 14 '18 at 20:10
Thanks! - Do you happen to have any reference to link to for this? Either way is fine, if you post this as an answer I'll upvote and accept it
– Orion Edwards
Nov 14 '18 at 20:46
I would have to search to find a reference but I have certainly observed it to be stable over a period of many months and across device restarts and even iOS upgrades.
– Paulw11
Nov 14 '18 at 20:58
I too can confirm it is stable for a long period of time. At first I even thought is was a unique identifier over all phones. Only to realise later it was tied to the phone.
– Sam
Nov 14 '18 at 22:14
If I remember correctly, if you pair with it, it will be stable (or almost stable). But if you don't, it might change after 15 minutes (more or less).
– Larme
Nov 15 '18 at 15:15
1
1
Yes, you can persist these identifiers for use with
retrievePeripheralWithIdentifiers
, for example. I believe the identifier will only change when the iOS device is erased (and possibly after "reset network settings")– Paulw11
Nov 14 '18 at 20:10
Yes, you can persist these identifiers for use with
retrievePeripheralWithIdentifiers
, for example. I believe the identifier will only change when the iOS device is erased (and possibly after "reset network settings")– Paulw11
Nov 14 '18 at 20:10
Thanks! - Do you happen to have any reference to link to for this? Either way is fine, if you post this as an answer I'll upvote and accept it
– Orion Edwards
Nov 14 '18 at 20:46
Thanks! - Do you happen to have any reference to link to for this? Either way is fine, if you post this as an answer I'll upvote and accept it
– Orion Edwards
Nov 14 '18 at 20:46
I would have to search to find a reference but I have certainly observed it to be stable over a period of many months and across device restarts and even iOS upgrades.
– Paulw11
Nov 14 '18 at 20:58
I would have to search to find a reference but I have certainly observed it to be stable over a period of many months and across device restarts and even iOS upgrades.
– Paulw11
Nov 14 '18 at 20:58
I too can confirm it is stable for a long period of time. At first I even thought is was a unique identifier over all phones. Only to realise later it was tied to the phone.
– Sam
Nov 14 '18 at 22:14
I too can confirm it is stable for a long period of time. At first I even thought is was a unique identifier over all phones. Only to realise later it was tied to the phone.
– Sam
Nov 14 '18 at 22:14
If I remember correctly, if you pair with it, it will be stable (or almost stable). But if you don't, it might change after 15 minutes (more or less).
– Larme
Nov 15 '18 at 15:15
If I remember correctly, if you pair with it, it will be stable (or almost stable). But if you don't, it might change after 15 minutes (more or less).
– Larme
Nov 15 '18 at 15:15
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53307876%2fis-the-device-uuid-assigned-by-ios-to-ble-devices-stable-over-time%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53307876%2fis-the-device-uuid-assigned-by-ios-to-ble-devices-stable-over-time%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Yes, you can persist these identifiers for use with
retrievePeripheralWithIdentifiers
, for example. I believe the identifier will only change when the iOS device is erased (and possibly after "reset network settings")– Paulw11
Nov 14 '18 at 20:10
Thanks! - Do you happen to have any reference to link to for this? Either way is fine, if you post this as an answer I'll upvote and accept it
– Orion Edwards
Nov 14 '18 at 20:46
I would have to search to find a reference but I have certainly observed it to be stable over a period of many months and across device restarts and even iOS upgrades.
– Paulw11
Nov 14 '18 at 20:58
I too can confirm it is stable for a long period of time. At first I even thought is was a unique identifier over all phones. Only to realise later it was tied to the phone.
– Sam
Nov 14 '18 at 22:14
If I remember correctly, if you pair with it, it will be stable (or almost stable). But if you don't, it might change after 15 minutes (more or less).
– Larme
Nov 15 '18 at 15:15