2013-10-26 73 views
4

我已經閱讀過幾次蘋果的文檔,而且我沒有真正從中獲益多少。所以我希望這裏有人知道如何處理收據驗證:iOS InApp購買回執驗證iOS 7

我知道在iOS 6之前存在問題。但是現在是否需要在iOS 7上接收驗證?它真的增加了額外的安全性嗎?如果Apple更改收據的格式(在設備上解析它們),似乎會導致問題。

+0

查看https://github.com/rmaddy/VerifyStoreReceiptiOS – rmaddy

+0

所以我想用這個,你想說,自己開發一個框架來完成它仍然是必要的嗎? – Max

+0

@rmaddy - 瞭解如何使用您的github verifyStoreReceiptiOS似乎不可能,考慮到所有變化(inApps和捆綁驗證)。您不解釋如何使用Apple Root證書以及所涉及的步驟。對不起,但你的文檔模糊不清。 : -/ – SpaceDog

回答

3

在我所看到的,iOS7不會改變需要您是否應該做收貨驗證,只是收據驗證如何可能。 iOS7已啓用設備上的收據驗證(例如,參見上面的鏈接https://stackoverflow.com/users/1226963/rmaddy,並參見A complete solution to LOCALLY validate an in-app receipts and bundle receipts on iOS 7)。

設備上的收據驗證是否增加了額外的安全性?在我看來,它確實如此。它爲您提供了另一種工具來確保您的購買。在我的應用程序(尚未發佈)中,我想支持iOS6和iOS7,因此我決定讓後端服務器爲iOS6的情況進行收據驗證。而且,因爲我已經安裝了該服務器,所以對於iOS7收據,我首先進行設備上驗證,如果驗證成功,則將服務器驗證作爲第二次檢查。

無論您是否接收驗證(iOS5,iOS6,iOS7等),都取決於您的安全對您的意義。如果你對安全需求沒有太多的瞭解,那麼爲什麼要在安全方面花費很多時間。如果你這樣做,那麼做更多。

如果Apple更改收據的格式會怎麼樣?那麼,當然,這可能而且可能會發生。鑑於iOS6到iOS7會大幅改變重組收據和應用內購買,看來我們應該期待iOS8再次這樣做。這是未來。處理我們現在擁有的東西。

+0

對於iOS 7,如果特定的IAP有效,如何檢查服務器端? 是否有一些PHP基本代碼可以查看?我正在努力解決這個問題,現在...:/ – Vrasidas

+0

這裏是一個片段 - http://stackoverflow.com/a/19963192/1675875 –

+0

我害怕的是,它可能發生,用戶購買但收據驗證失敗(無論出於何種原因)。所以在這種情況下,用戶什麼都得不到,但收取的權利? 如何防止? – Max