【问题标题】:iOS App Persistent Settings After App Deleted删除应用后的 iOS 应用持久设置
【发布时间】:2012-02-18 17:57:07
【问题描述】:

我们正在创建一个应用程序如下:

  • 用户从 2 个免费“令牌”开始
  • 用户可以通过 0.99 美元的应用内购买购买一包 10 个代币

我们已经使用NSUserDefaults 实现了这一点,以节省令牌的数量。

有没有办法让我们的免费 2 令牌设置持久化?即使他们删除了应用程序?现在您可以删除该应用程序并重新安装以再次获得 2 个令牌。 iOS 5 有NSUbiquitousKeyValueStore 用于将设置保存到 iCloud,这样更好吗?

如果没有,我们将不得不为此使用网络服务...

注意:这个应用程序在 MonoTouch 中,但可能与问题无关。此外,在我们的应用中,用户不会关心重新安装应用来获得 2 个额外的令牌(不会丢失其他设置或游戏进度)。

【问题讨论】:

  • 2019 年有什么更新吗?

标签: objective-c ios xamarin.ios settings icloud


【解决方案1】:

您可以将令牌设置为钥匙串。如果用户卸载应用并重新安装,您可以从钥匙串中恢复令牌。

sskeychain

【讨论】:

    【解决方案2】:

    我的 2c 作为 @Almo 已经涵盖了大部分内容,应该获得学分:-)

    NSUbiquitousKeyValueStore 具有作为用户的优势,例如几个设备将共享相同的免费令牌。 OTOH,这可能不是您在应用中想要的东西...

    卸载后留下数据不利于应用程序的沙盒。有很多方法可以做到这一点,例如您可以添加图像/照片/联系人/...,但不太可能获得“Apple 批准”,而且很可能很容易被破解。

    所以我也建议你使用网络服务。一种简单的方法是在未找到应用程序数据(安装和重新安装)时使用服务验证(例如,使用设备的 MAC 地址,因为设备唯一标识符正在消失)是否是已知设备(无令牌) (获取令牌)。

    如果付费令牌是可重复使用的(可以通过重新安装包含它们作为数据的备份来重新播放),那么您可能希望使用 Web 服务跟踪它们。不可重复使用的令牌不会受此影响(并且可能更容易处理)。

    【讨论】:

    • 我认为如果我们发现我们的应用程序开始被滥用,我们将使用 Web 服务。如果应用程序一开始不会获得太多收入,我宁愿不投入时间。感谢您的洞察力。
    【解决方案3】:

    即使您尝试使设置持久化,我认为他们在重新安装期间找到并删除它也不会那么难。如果您想防止只是随便作弊,也许没问题。但如果这是您的收入来源,我建议您使用网络服务。

    编辑添加:我对 iCloud 没有任何经验。这也可能是有道理的。

    【讨论】:

    • 是否有“Apple 认可”的方式将设置保存在您的应用文件夹之外的某个位置?应用程序文件夹是您重新安装时被删除的内容。我不担心越狱设备会作弊。
    • 我不这么认为。即使有,当您对 iPod 进行备份时,您也可能会在备份文件夹中看到这些文件并将其删除,然后恢复到备份。我有一些搞砸这类事情的经验,但我不是这方面的超级专家。如果你真的想在设备上存储东西,我建议你做一个彻底的测试,看看删除数据有多容易。
    • 我想我们现在只允许 1 个免费令牌。如果没有办法,我会将您标记为答案。
    • 祝你好运。这种问题总是很烦人。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-03
    • 2013-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-20
    • 2012-07-09
    相关资源
    最近更新 更多