如何在iOS中实现用户暂停功能

时间:2015-03-26 03:49:00

标签: ios itunesconnect udid idfa

在iOS应用程序中,当我检测到用户不正确的操作(例如发布暴力内容)时,我不想暂停用户使用我的应用程序。实现此功能的基本思想是为每个应用程序安装创建并保存唯一ID,并暂停服务器api的使用。

我的问题是,即使用户重新安装应用,我仍然可以实现此功能,并且仍然通过Apple的iTunes提交

我提出了两种方法来技术上实现此功能,但想知道Apple会如何回应。

  1. 存储IDFA(我知道用户可以代表他们重置ID)
  2. 将应用程序生成的udid存储到Keychain(即使用户删除应用程序也不应删除)
  3. 我知道没有完美的答案,但我很乐意与尝试提交类似申请的任何人或任何了解Apple指南的人讨论此问题。谢谢。

2 个答案:

答案 0 :(得分:1)

Apple将拒绝不当使用IDFA的应用。

如果您的应用不使用服务器登录(此时,您需要的任何标志都可以传送到客户端),钥匙串存储将是唯一真正的解决方案。

但是,如果您使用服务器登录,则会阻止设备,而不是用户。这是你的意图吗?

BTW,如果没有服务器登录,确定的用户仍然可以绕过钥匙串存储:Reset keychain on the device

答案 1 :(得分:0)

您可以屏蔽指定的帐户。如今,大多数人使用电子邮件地址键入帐户。有些需要信用卡(Facebook完全验证使用信用卡号码的帐户),其他需要银行帐户(PayPal必须在某处汇款!)并且它越来越受欢迎以请求电话号码(Twitter即将到达)。最后,为了真正有效,你必须阻止难以产生的东西。

通过电子邮件,您的用户始终可以创建新帐户。查看mailinator.com。或者,您只需要一个域,即可拥有任意数量的电子邮件地址 - 我每天使用五个不同的电子邮件帐户,每月使用大约二十多个。

安装ID可以,但用户可以随时卸载/重新安装。如果您确实设法获得设备识别号码(即使在后UDID时代也很容易),以便您可以阻止给定设备,您的用户可以获得新设备,或者破解您的应用程序以便使用一些随机值,或用cURL欺骗你的API。我拥有三部iPhone,两部iPad,两部三星标签,三部其他Android手机,两部Mac Book Pro,一台mini,两部PC,我运行三个虚拟Linux机箱和一个虚拟XP机箱。当有人向非滥用用户出售被阻止的设备时会发生什么?

因此,只需阻止用户的帐户,保留优秀的日志文件,并继续与好斗争。