背景提示:數字類產品(比如購買會員等不需要配送實物的商品),Apple規定必須使用蘋果IAP應用內支付,給Apple分成30%。打包的時候不要勾選微信或支付寶等其他支付方式。如果你提交的包里包含了微信支付寶等支付的sdk,即使沒使用,Appstore也會認為你有隱藏方式,以后會繞過iap,不給Apple分成,因此拒絕你的App上線
- 應用中如果沒有交易功能,不要包含支付相關模塊和支付相關的js代碼
- 應用中如果只包含虛擬物品交易,只能使用蘋果應用內支付(IAP),不能使用支付寶和微信支付
- 應用中如果包含實物交易,可以包含支付寶和微信支付
使用5+ SDK本地離線打包
按照簽名的規則確定應用包含的支付模塊,按以下方法確認:
-
- 確定工程中是否有微信和支付寶支付的功能,如果沒有把不需要的微信和支付寶的相關庫刪除,刪除時參考離線sdk包里的Feature-iOS.xls文件中Payment模塊的配置。
注意:微信SDK有2個,一個是帶支付的(libWeChatSDK_pay.a),一個是不帶支付的(libWeChatSDK.a),刪除時,刪除帶支付的。但是工程中有用到微信其他的功能需要添加libWeChatSDK.a庫以免編譯報錯 - 如果工程中沒有微信和支付寶的功能,但是有蘋果支付的功能需要liblibPayment.a庫和libIAPPay.a,只有libIAPPay.a庫,工程編譯會報錯。
- 如果工程中也沒有蘋果支付,那么把liblibPayment.a庫和libIAPPay.a都刪除,刪除時參考離線sdk包里的Feature-iOS.xls文件中Payment模塊的配置。
- 如果工程中有libBaiduWalletSDK.a,libpingpppay.a和libpingpp.a這3個庫,Pingpp.bundle和BaiduWalletSDKBundle.bundle這2個文件,把它們都刪除。
- 如果刪除過程中編譯報“_SKStoreProductViewController”這么一個錯,需要在工程中添加系統庫StoreKit.framework。
- 如果工程中沒有支付功能最好把相關的支付的js代碼刪除。
- 如果還是提示“有其他支付並隱藏功能被拒”或者“報PGPay SDK不允許上架的問題”,需要和蘋果溝通,說明的大概意思是:PGPay SDK 的PGPay只是個名字而已,並不是什么支付SDK,並沒有違反蘋果支付相關的政策。
- 確定工程中是否有微信和支付寶支付的功能,如果沒有把不需要的微信和支付寶的相關庫刪除,刪除時參考離線sdk包里的Feature-iOS.xls文件中Payment模塊的配置。