2011-03-29 70 views
4

我在测试In App Purchase功能时遇到问题。如果我在已安装了以前版本的应用的设备上重新安装应用,则SKProductsRequest仅返回invalidProductIdentifiers上的对象的响应。如果我从设备上删除应用程序,然后再次安装新版本,SKProductsRequest可以正常工作。应用程序购买的SKProductsRequest在设备上已安装应用程序时不起作用

任何想法?

在此先感谢。

- (void)requestProductData:(NSString *)aFeatureID {  
    SLLog(@"Products Request For: %@", aFeatureID); 
    SKProductsRequest *request = [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithObject:aFeatureID]]; 
    request.delegate = self; 
    [request start]; 
} 

- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response 
{ 
    if ([response.products count] > 0) {   
     [self.purchasableObjects addObjectsFromArray:response.products]; 

#ifndef NDEBUG 
     for(int i=0;i<[self.purchasableObjects count];i++) 
     {  
      SKProduct *product = [self.purchasableObjects objectAtIndex:i]; 
      SLLog(@"Feature: %@, Cost: %f, ID: %@",[product localizedTitle], 
        [[product price] doubleValue], [product productIdentifier]); 
     } 

     for(NSString *invalidProduct in response.invalidProductIdentifiers) 
      SLLog(@"Problem in iTunes connect configuration for product: %@", invalidProduct); 
#endif 
     isProductsAvailable = YES; 
    } else if ([response.invalidProductIdentifiers count] > 0){ 
     SLLog(@"MKStoreManager-productsRequest empty results: %@", [response.invalidProductIdentifiers objectAtIndex:0]); 
    } 
    if([_delegate respondsToSelector:@selector(productFetchComplete)]) 
     [_delegate productFetchComplete]; 
    [request autorelease]; 
} 
+0

似乎有人有同样的问题。如果我的描述不够清楚,请仔细阅读。 http://lists.apple.com/archives/cocoa-dev/2011/Mar/msg00349.html – mikywan 2011-03-29 20:51:42

回答

6

这是有人告诉我在[email protected]

你连接到沙箱环境 或生产?

我相信当通过Xcode的推出, 如果应用程序正在从 的App Store版本“升级”,也不会触发 沙盒,你只能连接到 沙箱。至少,这是我见过的IAP伏都教的一小部分 ...... 这意味着它可能在任何时候都不再是真实的 ,因为IAP的设置是一个 远离 魔法的牺牲羔羊。

我对此没有%100肯定,因为我还没有测试过,但我会尽快告诉你。

+0

是的 - 确认您在通过Xcode构建“升级”应用商店安装时没有返回产品。让我发疯了! – 2012-02-01 02:55:44

+0

谢谢。我的脑子在这一个上。啊。苹果... – FreeAsInBeer 2012-03-02 16:24:08

+0

我来专门寻找这个问题,这可能是我的修复。稍后我会回复评论结果。我在iPhone上的App Store上有一个应用程序,但没有在我的iPad上。在iPhone上获得无效产品但不是iPad,但该应用程序在iPad上并不存在。 – Justin 2012-03-26 20:52:23

相关问题