2013-08-07 31 views
0

我的應用內購買一直運行到昨天和今天我正在提交我的應用以供審查。我做的唯一改變是在iTunes的應用程序頁面中,我通過應用程序內購買連接了我的應用程序(通過檢查)。IOS應用內購買突然停止工作,獲取空識別碼

從那個時候,每次我試圖在我調試的應用程序購買的東西與我的測試帳號的時候,我收到此錯誤:

NSInvalidArgumentException', reason: 'Invalid product identifier: (null)' 

我已經:

  1. 重新安裝我的應用程序
  2. 從我的店裏登出,並再次用我的測試帳戶

但今天沒什麼g似乎工作。完全相同的代碼昨天工作完美,使用相同的測試帳戶。

可能是因爲我在iTunes中做了這個改變嗎?我擔心當我的應用獲得批准並上線時會發生什麼。

任何幫助,非常感謝。

編輯:

問題是,數組_products保持爲零。

- (void)reload { 
    _products = nil; 
    NSLog(@"reload is called"); 
    [[VimaIAPHelper sharedInstance] requestProductsWithCompletionHandler:^(BOOL success, NSArray *products) { 
     if (success) { 
      _products = products; 
      NSLog(@"Success from AppStore"); 
     } 
    }]; 
    for (SKProduct* product in _products) { 
     NSLog(@"In-app item:%@",product.localizedTitle); 
    } 
} 

永遠不會調用成功日誌消息。昨天我沒有問題,使用相同的代碼。編號: 經過大量的嘗試,它的工作。不用改變任何東西看起來服務器需要很多時間來回應。但是,自從我收到"cannot connect to itunes"後,我無法購買該產品。爲什麼會發生?

EDIT2:

在其他的嘗試,這個問題似乎是在驗證碼:

編譯馬克 - SKProductsRequestDelegate

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

    NSLog(@"Loaded list of products..."); 
    _productsRequest = nil; 

    NSArray * skProducts = response.products; 
    for (SKProduct * skProduct in skProducts) { 
     NSLog(@"Found product: %@ %@ %0.2f", 
       skProduct.productIdentifier, 
       skProduct.localizedTitle, 
       skProduct.price.floatValue); 
    } 

    _completionHandler(YES, skProducts); 
    _completionHandler = nil; 

} 

後的for循環。尤其是,我得到了一條BAD_ACCESS:_completionHandler(YES, skProducts);

回答

1

其實問題是,在這些日子裏整個Apple開發中心都關閉了,所以上面的代碼適用於任何正在尋找示例的人。