在应用程序购买 - 解锁功能

时间:2011-05-13 03:10:25

标签: iphone in-app-purchase

您好 我正在创建一个inapp购买iPhone应用程序。我的应用程序已建立模型。它有一个表视图,有6个项目。在免费的应用程序中有3项可用,我想锁定3项。只需进行0.99美元的单笔交易,人们就可以解锁所有三件物品。

我想在我的应用程序中创建一个包含标志的plist文件。如果flag = 0则锁定少量功能,如果flag = 1则解锁所有内容。我的plist只包含一个“flag”,可能是0或1。

我不知道如何创建plist文件。我应该在哪里保留一个plist文件,以便客户无法访问它?我应该把它保存在资源文件夹中吗?

在SKTransactionStatePurchased之后,我想更改.plist文件中的标志。你能给我一些代码,它会在flag.plist文件中将标志值从0改为1吗?

感谢。

2 个答案:

答案 0 :(得分:2)

我认为您应该寻找另一种方法来解决您的问题,原因如下:

  • plists可以由任何有权访问内部iOS文件系统的人编辑:包括越狱者,并且某些工具也允许非越狱者访问它。
  • 使用代码编辑plist需要权限。您的应用仅在其“文档”文件夹中具有编辑权限。也就是说,有人可以轻松制作一个越狱应用程序来访问你的应用程序的文档文件夹,以便相当容易地编辑它的价值。

我很抱歉没有直接回答你的问题,但在应用程序使用的文档中存储这类内容确实是一个坏主意。我强烈建议您寻找替代方法(例如使用您自己的服务器)。

答案 1 :(得分:2)

要真正回答你的问题:

在SKTransactionStatePurchased之后,只需调用

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setInteger:1 forKey:@"yourKey"];
[defaults synchronize];

yourKey可以是您自己选择的任何东西。可能是最好的 使用毫无意义和随机的词语,以便黑客不会 知道它与应用程序购买有关。

相关问题