在iPhone应用程序中保持应用内购买的状态?

时间:2011-05-30 21:27:03

标签: iphone objective-c ios

我在网上获得了有关应用内购买的示例代码。购买完成后,我想要一个值来表明它已被购买。

例如,app中的整数可以等于1,或者字符串可以说" Bought"。用户不会看到这个,仅供参考。当用户下次去店面时,如果他们点击按钮,我希望它检查该值是否等于1或Bought。如果是,我将从那里移动到下一页。

如何做到这一点?

1 个答案:

答案 0 :(得分:0)

查看此tutorial on In-App Purfchases

编辑:

有很多方法可以实现您的目标。没有人会为你编写代码(除非你雇用他们;-D)。您应该更多地了解StoreKit框架,以便更好地了解它的工作原理。然后,您将学习如何管理购买以及如何检查商品是否已购买。

对于应用内购买,我希望使用UrbanAirshipIn-App Purchase课程。

这是我在我的某个应用中购买商品的本地标签的方法:

+ (void) updateProductsFromPurchases
{
    if ([[NSFileManager defaultManager] fileExistsAtPath:PRODUCT_IDS] == NO) {
        [[NSFileManager defaultManager] copyItemAtPath:[[NSBundle mainBundle] pathForResource:@"Products" ofType:@"plist"] 
                                                toPath:Strings(DOC_DIR,@"/Products.plist")
                                                 error:nil];
    }
    /*  update our product id list so we display updated products to the user  */
    NSArray *downloads = [FILEMANAGER contentsOfDirectoryAtPath:DOWNLOADS error:nil];
    for (NSString *purchased in downloads) 
    {
        if ( [purchased hasPrefix:@"com"] ) 
        {
            /*  for each purchase, add it to the list of product id's  */
            NSMutableArray *addPurchase = [NSMutableArray arrayWithContentsOfFile:PRODUCT_IDS];
            /*  this is to make sure we don't add duplicate product id's  */
            if ( ! [addPurchase containsObject:purchased] ) 
            {
                [addPurchase addObject:purchased];
                [addPurchase writeToFile:PRODUCT_IDS atomically:YES];
            }
        }
    }
}