tvOS unique device identifier

682 views Asked by At

I'm developing now an app for Apple TV. It is a client-server app. On registration, users get a free trial period. My goal is to avoid situations when user will just register new account or reinstall the app and get the trial period again. I need to identify if trial was already activated for each concrete device. So I would like to know if there is a legal or semi-legal way to identify each device? I will appreciate any ideas!

2

There are 2 answers

1
Roman Podymov On BEST ANSWER

You can store some value in the Keychain (read more about it here) and check if this value was previously stored in the Keychain. If so, it means that user installed your application before.

0
toddg On

You can use identifierForVendor (documentation) but that changes once the app is uninstalled.

The value in this property remains the same while the app (or another app from the same vendor) is installed on the iOS device. The value changes when the user deletes all of that vendor’s apps from the device and subsequently reinstalls one or more of them.

Perhaps you could couple that with a user's email address to prevent creating new accounts. Not foolproof, but certainly makes it more difficult for the user to get around it. They would need to uninstall the app and use a different email address to circumvent you.