ios - 跟踪没有帐户的用户,安装持久

标签 ios swift udid sskeychain

我想知道现在如何在没有用户帐户的情况下跟踪用户。 据我所知,最好的解决方案是将 id 存储到 SSKeychain 中。 来自这篇文章:https://stackoverflow.com/a/21097282/3722523 ,用户将 NSUUID 存储在钥匙串(keychain)中。 您认为 Apple 会使用该解决方案验证我的应用程序吗?
如果是,如果我有一个数据库,我可以将 NSUUID 存储在我的数据库中吗?

谢谢。

编辑:出于某种目的,我需要允许用户每天在 map 上仅添加 1 个图钉。我的应用程序有一个数据库,但我暂时不想设置用户帐户。所以我必须跟踪用户,即使他卸载并重新安装应用程序也是如此。

最佳答案

如果 Apple 注意到您将钥匙串(keychain)用于其预期目的之外的其他用途,您的应用将被拒绝。唯一的问题是他们是否会注意到,我不知道。

由于这也侵犯了用户的隐私,因此您的开发者帐户也有可能被删除。 Apple 不喜欢 App 开发人员侵犯用户隐私。 Apple 以前对按照您的提议做事的开发者非常苛刻。

跟踪用户的正确方法是要求用户输入用户名或电子邮件地址。其他一切都在试图规避 Apple 对允许应用程序开发人员做什么的限制。

您需要明确表示用户正在您的服务器上创建帐户,并且您需要授予用户对该帐户的控制权。同样,仅仅因为两台设备使用相同的钥匙串(keychain)并不意味着这些设备由同一个人使用——所以使用钥匙串(keychain)或与 iCloud 相关的任何东西绝对是不正确的。

您可以使用 UIDevice 属性上的 identifierForVendor 属性来识别单个设备。如果你想将多个设备链接到一个帐户,那么你必须让用户这样做。别无选择,除非冒着应用程序被拒绝的风险。 Apple 特别不希望开发人员这样做,尽管他们在执行此规则时遇到困难。

另请注意,您不得将 identifierForVendor 用于广告。它绝不能与任何广告系统共享。有一个单独的标识符,用户可以选择退出。

关于ios - 跟踪没有帐户的用户,安装持久,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27094470/

相关文章:

ios - 设置内容偏移时iOS7中的搜索栏半隐藏

javascript - 与 javascript/jquery 中的属性访问器相关的奇怪行为

ios - Watch App 通知的负载

ios - 如何修复错误 : Binary operator '==' cannot be applied to operands of type 'NSExpression.ExpressionType' and '_'

ios - 如何创建自定义 ionic/Cordova 插件以在 iOS 中获取 openUDID?

ios - 增强现实-跨叠加对象移动

swift - 从字符串数组快速播放声音

swift - FirebaseUI 不显示任何输入字段或按钮

ios - IOS7中的UDID替换

ios - IOS 11-空中发布