2012-10-15 51 views
5

我有一個蘋果託管的應用內購買。但我無法弄清楚如何下載與之相關的內容。 我能得到下載的對象,並要求下載開始:從蘋果託管的應用內購買下載內容

[[SKPaymentQueue defaultQueue] startDownloads:currentTransaction.downloads]; 

這時候我迷路:我應該後做什麼? 我看過蘋果文檔,沒有找到任何可能幫助我的東西。

Thx

+0

你有解決你的問題? –

回答

0

我能解決我的問題。調用

[[SKPaymentQueue defaultQueue] startDownloads:currentTransaction.downloads]; 

然後

(void)paymentQueue:(SKPaymentQueue *)queue updatedDownloads:(NSArray *)downloads 

不斷叫回來。我想我忘記了一些代表或類似的東西。除此之外,我從我的設備中刪除了應用程序,並從Xcode重新編譯它。然後它就像一個魅力=)謝謝

+0

直到下載失敗才能像魅力一樣工作。那又怎麼樣? – openfrog

0

實施SKPaymentTransactionObserver。當支付隊列改變狀態時,觀察者將被通知。例如,paymentQueue:updatedDownloads:將被一系列SKDownloads調用,其downloadState表示下載的狀態更改。如果您想了解完成的下載,請查找downloadState == SKDownloadStateFinished。

http://developer.apple.com/library/ios/#documentation/StoreKit/Reference/SKPaymentTransactionObserver_Protocol/Reference/Reference.html

+0

謝謝,我確實實現了SKPaymentTransactionObserver。此外,我在一開始就放了一個NSlog,以知道該方法是否被調用。我已經嘗試了不同的測試賬戶,但(void)paymentQueue :(SKPaymentQueue *)隊列updatedDownloads:(NSArray *)下載永遠不會被調用。我的下載停留在緩衝區 –

+0

你知道下載時會出現什麼樣的內容嗎?壓縮? PKG?什麼?如果它是一個壓縮包,解壓縮時只有內容文件或文件夾結構? – SpaceDog

+0

內容是一個zip文件,但它可以作爲文件夾結構訪問。有一個plist和一個名爲Contents的文件夾,它具有你下載的任何內容。您可以使用iExplorer查看手機上的外觀。 –

相關問題