应用程序删除后的iOS App持久设置

jon*_*ers 3 settings objective-c xamarin.ios ios icloud

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

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

我们已经实现了这个NSUserDefaults来保存令牌的数量.

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

如果不是,我们将不得不使用Web服务...

注意:此应用程序在MonoTouch中,但可能与问题无关.此外,在我们的应用程序中,用户无需重新安装应用程序以获得另外2个令牌(没有其他设置或游戏进度,他们将失去).

pou*_*pou 6

只是我的2c作为@Almo已经覆盖了大部分这个并且应该得到学分:-)

NSUbiquitousKeyValueStore具有作为用户的优点,例如,几个设备将共享相同的免费令牌.OTOH可能不是你想要的东西......

卸载后保留数据会违反应用程序的沙盒.有办法做到这一点,比如你可以添加图片/照片/联系人/ ......,但不太可能被"Apple批准",而且很可能很容易被黑客攻击.

所以我也建议你使用网络服务.一个简单的方法是验证服务(例如,使用设备的MAC地址,因为设备唯一标识符正在消失),如果没有找到应用程序数据(安装和重新安装),如果它是一个已知的设备(没有令牌) (拿到令牌).

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


小智 6

您可以将令牌设置为钥匙串.如果用户卸载应用程序并再次安装,则可以从Keychain恢复令牌.

sskeychain