Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone-应用内购买:记录购买_Iphone_Memory_Storage_In App Purchase_Uninstallation - Fatal编程技术网

iPhone-应用内购买:记录购买

iPhone-应用内购买:记录购买,iphone,memory,storage,in-app-purchase,uninstallation,Iphone,Memory,Storage,In App Purchase,Uninstallation,我在其他地方读过以下内容: 最后,在提供了该特性之后, 您应该“记住”用户 已购买该应用程序。苹果的 推荐的方法是使用 NSUserDefault,与存储方式相同 你的设置 但是。。。如果我没记错的话,当你从手机中删除应用程序而不是从iTunes中删除时,如果你以后从iTunes中恢复应用程序,则会删除Pref并将其恢复为默认值。是这样吗? 那么,我这样说对吗?如果用户从手机中删除应用程序,几周后从iTunes库中重新安装,其应用程序内购买的内容将丢失?是的,你是对的。当用户删除应用程序时,NS

我在其他地方读过以下内容:

最后,在提供了该特性之后, 您应该“记住”用户 已购买该应用程序。苹果的 推荐的方法是使用 NSUserDefault,与存储方式相同 你的设置

但是。。。如果我没记错的话,当你从手机中删除应用程序而不是从iTunes中删除时,如果你以后从iTunes中恢复应用程序,则会删除Pref并将其恢复为默认值。是这样吗?
那么,我这样说对吗?如果用户从手机中删除应用程序,几周后从iTunes库中重新安装,其应用程序内购买的内容将丢失?

是的,你是对的。当用户删除应用程序时,NSUserDefaults也会被删除。然而,应用商店有一个方便的恢复购买功能,你可以请求被告知苹果为当前用户记录的购买

似乎没有一种很好的方法来检测是否需要恢复购买,至少从我在这里看到的情况来看,大多数开发人员似乎只是提供了一个手动启动恢复过程的按钮

还有一种替代方法,就是将用户购买的物品存储在钥匙链中,至少在卸载应用程序时,钥匙链现在不会被删除。我已经证实了iOS 4.3上的情况——尽管它可能不会永远保持这种状态

这里有一些