iOS - 如何保存应用内购买数据?

Rya*_*anM 5 iphone objective-c in-app-purchase ios

我正计划实施一些应用内购买项目,我想保存购买信息/数据,以便iTunes在客户同步时备份所述信息.Apple提供的文档说明这是可能的,但并没有真正告诉你如何.

在哪里/如何保存购买历史记录(例如,每个项目的NSString),以便iTunes在下次同步时备份它?

最后,你怎么建议我在让所有这些都上线之前测试一下?

谢谢.

PS现在我正在使用NSUserDefaults存储此信息.

Noa*_*oon 9

NSUserDefaults 可以存储这类东西,但你也应该使用StoreKit的"检查购买物品"功能 - 许多使用应用程序内购买的应用程序都有一个按钮,用于检查可用产品的"已购买"状态并重新启动 - 在应用程序中启用它们,以防用户卸载然后重新安装应用程序或将其安装在其他设备上.

测试应用内购买可以使用沙箱环境完成 - iTunes Connect将允许您设置测试iTunes Store帐户,该帐户可以免费访问您应用的所有应用内购买.

  • 但是,强烈建议不要在不检查有效性的情况下将购买等重要信息写入用户可修改的文件,因为可以在无根设备上使用免费工具编辑文件 (2认同)

sun*_*ppy 5

其实NSUserDefaults在下

<Application_Home>/Library/Preferences
Run Code Online (Sandbox Code Playgroud)

并且该Library目录将由 iTunes 进行备份。

另一种保存应用内购买数据(因为它很少)的方法是将其保存到钥匙串。因为钥匙串是安全的,会在删除应用程序时保留。因此,当用户再次安装该应用程序时,用户可以立即购买。检查此链接:密码箱:轻松保护应用程序的敏感数据