0

第三次由於應用內購買類型,蘋果拒絕二進制。我的應用程序使用IAP到訂閱包1月,1年和免費。早些時候我使用消耗品,應用程序被拒絕並建議使用「不可更新」。我遵循教程「https://www.raywenderlich.com/36270/in-app-purchases-non-renewing-subscription-tutorial」。我已經從教程中下載了「VerificationController」類文件來驗證事務。但是,越來越多的錯誤,驗證和驗證應用內購買不可更新iOS

VerificationViewController.m 
No visible @interface for 'VerificationController' declares the selector 'encodeBase64:length:' 
No visible @interface for 'VerificationController' declares the selector 'decodeBase64:length:' 
Implicit declaration of function 'checkReceiptSecurity' is invalid in C99 
Conflicting types for 'checkReceiptSecurity' 
Missing context for method declaration 

CommonDigest. 
Missing '@end' 

任何人都可以請幫助解決這個問題,今天提交應用程序?提前致謝。

+0

嗨@ Yuvaraj.M做ü找到它的解決方案嗎?即使即時得到了同樣的問題 –

+0

嗨@ pooja_1205我沒有找到解決方案後,我們放棄了IAP積分。如果你發現這個問題的解決方案,請在這裏分享你的答案。這對每個人都有幫助。如果我得到解決方案,我會在這裏分享。謝謝。 –

回答

0

讓我分享我的想法: 首先,不可續訂訂閱是所有訂閱中處理最棘手的問題。其高達開發商來處理:

  1. 認購截止日期
  2. 跟蹤訂閱
  3. 別說你必須提供恢復按鈕,以便用戶可以恢復他們的購買

這裏是如何我處理我的: 我使用iCloud和後端服務器的組合來跟蹤重要數據。

  1. 每當用戶訂閱不可再生(即購買它),我保存 購買日期,並從購買之日起在後端服務器和iCloud的創建有效期限相當於一個月 。請注意,我的訂閱僅限一個月。在iCloud中儲存storeUserPurchase.set(key: nrs_key, vale: someData)
  2. 每當訂閱用戶想要訪問的材料訂閱,我檢查,如果基於存儲在 用戶的iCloud,使用這種獨特的ID一些獨特的ID的截止日期,我問我的服務器計算 到期日基於這個ID。如果沒有過期,則訪問 。類似 purchaseInfo = getSomePurchaseDataFor(key: nrs_key) serverValidateReceiptAndGetExpirationDateFor(receipt, purchaseInfo)
  3. 我忘了提及所有這些驗證以及接收驗證,這也在後端服務器中完成。

恢復購買: 您必須提供此功能,否則您的應用程序將被蘋果冷感拒絕。

Here is the tutorial worth reading

In-App Purchase FAQ