How to ban an iOS user?

I got banned from an iOS app some time ago. Not banning user ID, but it looks like it was a ban on using the device. Even if I uninstall and reinstall the app and try to create a new account, it will automatically be locked out. My question is, how do they do it? What are all the possible ways to ban a device that is persistent even after uninstalling and reinstalling the app?

It is no longer possible to access the UDID, so this. And I don't think iOS allows them to browse the iTunes account, so this is not possible. Perhaps they store something in key chains? From what I know, some things in the keychain are not deleted even if the app is uninstalled.

I would like to implement something like this in my application, so I want to know all the possible methods, with pros and cons for each.

+3


source to share


2 answers


When an app is uninstalled, all data goes along with it. Therefore, you will not be able to write anything to disk.

You can store something in the keychain, although users can edit the keychain if they sync it with the mac. This makes him rather insecure.

The best option is to save it from your device to iCloud. I would go with a key / value store: https://developer.apple.com/library/mac/documentation/General/Conceptual/iCloudDesignGuide/Chapters/DesigningForKey-ValueDataIniCloud.html

Another option you can choose is Apple's replacement for reading the UDID that the advertising ID is supposed to grab. Users can block this in settings, however, and your app could theoretically get kicked out of the store if used for anything other than its intended purpose. I don't think this is actively monitored, but it's probably not a good idea to use it.



The straps and suspenders option would do it all:

  • save it to disk (in app support)
  • save it to keystore in icloud
  • save it to keychain
  • use an advertising ID and send it to a remote server that you control (I personally skipped this to avoid getting the app banned from the store)

However ... I'm not sure if Apple will prevent users from denying. Thus, you can violate the developer's rules. Especially the last thing that sounds like "this list is incomplete and constantly changing, your application may force us to add a new rule to the list."

If it's a paid app or has in-app purchases, I'm sure they'll issue a refund to any customer who complains and they'll likely follow up with your product being returned from the store.

+2


source


If I am tasked with implementing something like this, I would do exactly what you suspect: generate a simple random token, store it in the keychain, and include it in API requests.



Nothing in the iOS keyfob is deleted when you uninstall the app. I really don't know how to manually remove stuff from it.

+2


source







All Articles