2016-09-28 132 views
4

我在做應用內購買功能。今天我得到一個奇怪的問題。應用程序內購買:請求產品隨機獲取一些有效產品和一些無效產品?

我嘗試SKProductsRequest獲得產品列表。問題是:有時我收到invalidProductIdentifiers,但有時我收到有效的產品。

SKProductsRequest *productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithObjects:objects]]; productsRequest.delegate = self; [productsRequest start];

例:我發送請求到得到的30個產品信息:有時會得到10個產品是有效的,有時是0,有時30,......如此怪異。

在過去,它運作良好。但有一天發生問題。

我試過(搜查,問我的同事)一天,但仍無法找出原因。

請幫忙。

謝謝。

回答

0

謝謝大家。

「但有一天會出現這個問題。」有一天,它消失了。

我認爲這是蘋果的bug。

2

首先檢查你的應用程序ID不應該用通配符(*),它不能爲應用內購買啓用,以便確保您應該創建一個新的App ID。

如果上面的場景是不是你的情況,那麼你將不得不通過開發者帳戶創建新的產品ID,這個時候你的產品ID會從你的應用程序中獲取內之後等待最多24小時。因爲有時蘋果需要時間來啓用產品ID。

如果上述兩者都不是您的情況,那麼您最終必須檢查您的產品ID是否有效或無效,以下代碼。

- (void)productsRequest:(SKProductsRequest)request didReceiveResponse:(SKProductsResponse)response { 

for (NSString *invalidProductId in response.invalidProductIdentifiers) 
    { 
     NSLog(@"Invalid product id: %@" , invalidProductId); 
    } 
} 

如果您發現您的產品ID無效請到通過與http://troybrant.net/blog/2010/01/invalid-product-ids/

乾杯.....

+0

感謝您的回覆。但我嘗試了所有的解決方案,但仍然失敗。這並非令人不快。只是隨機失敗一些。 – anhtu

+0

目前,如果您使用iOS應用程序開發配置文件測試您的應用程序,那麼您可以創建新的Ad Hoc配置文件並測試它嗎?同時也爲此創建新的沙箱帳戶並使用該帳戶。 – Maddy

+0

是的,我做過。仍然卡住:( – anhtu

相關問題