2015-09-13 26 views
1

我在應用程序商店有一個應用程序,並確認我的應用程序內購買工作的最新正式版本。然而,我的一些應用用戶很狡猾,他們有iOS的未發佈版本。我的應用程序的應用程序內購買是否仍適用於Beta版iOS?因爲至少有一個用戶可能報告說他們的應用內購買沒有被標記爲正確購買。應用內購買是否適用於擁有iOS測試版的用戶?

如果你想細節,沒有什麼太多的時候購買我的應用,標誌着該項目被下載。它只是在文檔目錄中寫入一個文件,併爲它們提供無限次的播放。

UPDATE:

我已經在蘋果開發者論壇上讀到

的「存儲套件流」,是在嘗試的時候採取了過程 購買的「在應用程序內購買「項目,以便商店套件確定 用戶的storekit帳戶存在問題 - 例如對於 示例,信用卡信息已過期。當檢測到此問題 時,用戶可以選擇將其帶到App Store 應用以更新其帳戶信息。過去,StoreKit會提醒用戶,並要求他們在檢測到問題時,修復App Store中的問題。與iOS 7開始,直到實際收費嘗試這個 檢查不會打擾用戶 - 無論是 時,請求下載或當應用的用戶嘗試 的在應用程序內購買。

因此,我認爲我的代碼可能已提早完成交易。這是我相信是我的相關代碼,並標記了我的懷疑。有人可以複覈或澄清?

- (void)failedTransaction:(SKPaymentTransaction *)transaction //Working 
{ 
    //NSLog(@"failedTransaction."); 
    if (transaction.error.code != SKErrorPaymentCancelled) 
    { 
     // error! 
     NSLog(@"Transaction error: %@", transaction.error.localizedDescription); 
     [self finishTransaction:transaction wasSuccessful:NO]; //TODO: Remove this, it may be causing the bug with transaction errors in Multi Path Audio 1.1.4 
    } 
    else 
    { 
     //NSLog(@"failedTransaction, user just cancelled."); 
     // this is fine, the user just cancelled 
     [[SKPaymentQueue defaultQueue] finishTransaction:transaction]; 
    } 
} 
+1

除了9.1測試版中可能存在的錯誤,是的,IAP應該可以工作。也許你的代碼做出了一些在iOS 9下失敗的錯誤假設。在你的問題中顯示你的相關代碼,這樣人們可以看到你是否做了不正確的事情。 – rmaddy

+0

好的,謝謝!我用一些可疑代碼和更多信息更新了我的問題。 –

+0

另一方面,beta意味着beta,意思是「沒有權利抱怨,如果東西不起作用」。 – gnasher729

回答

1

絕對必須在您將貨物交付給用戶時調用finishTransaction。行動的順序是:蘋果公司收取用戶的錢。您交付貨物。你調用finishTransaction。如果您沒有交付貨物,那很好,Apple會記住並再次詢問您,直到您致電finishTransaction。如果您在未交付的情況下致電finishTransaction,則您正在欺騙客戶。

如果與店與用戶的交互,而無需用戶交出錢揣進,你將永遠不會被告知購買。

+0

我在這裏閱讀了StackOverflow以及其他一些應該在三個地方調用finishTransaction的地方:SKPaymentTransactionStatePurchased,SKPaymentTransactionStateRestored,SKPaymentTransactionStateFailed。它是否正確? http://stackoverflow.com/questions/4988663/skpaymentqueue-addtransactionobserver-asking-for-app-store-password-on-startup-a –

+0

因此,我可能會創建一個新的測試,以確保貨物在調用之前已經交付finishTransaction。感謝您的建議! –

+0

這是最終的正確答案。由於我的檢查方式,我的商店套件邏輯沒有在iOS 9中返回準確的響應,並且我必須添加額外的邏輯以確保在完成交易之前購買和交付商品。謝謝! –